Revision: 6558 Author: fabb...@google.com Date: Fri Oct 30 10:59:29 2009 Log: Merge of trunk 6458:6459, fix for CssProperty space bug on IE
http://code.google.com/p/google-web-toolkit/source/detail?r=6558 Modified: /branches/snapshot-2009.10.23-r6446/user/src/com/google/gwt/resources/css/GenerateCssAst.java /branches/snapshot-2009.10.23-r6446/user/src/com/google/gwt/resources/css/ast/CssProperty.java ======================================= --- /branches/snapshot-2009.10.23-r6446/user/src/com/google/gwt/resources/css/GenerateCssAst.java Sat Oct 10 13:50:54 2009 +++ /branches/snapshot-2009.10.23-r6446/user/src/com/google/gwt/resources/css/GenerateCssAst.java Fri Oct 30 10:59:29 2009 @@ -38,6 +38,7 @@ import com.google.gwt.resources.css.ast.CssProperty.ListValue; import com.google.gwt.resources.css.ast.CssProperty.NumberValue; import com.google.gwt.resources.css.ast.CssProperty.StringValue; +import com.google.gwt.resources.css.ast.CssProperty.TokenValue; import com.google.gwt.resources.css.ast.CssProperty.Value; import org.w3c.css.sac.AttributeCondition; @@ -916,7 +917,7 @@ case LexicalUnit.SAC_URI: return new IdentValue("url(" + value.getStringValue() + ")"); case LexicalUnit.SAC_OPERATOR_COMMA: - return new IdentValue(","); + return new TokenValue(","); case LexicalUnit.SAC_COUNTER_FUNCTION: case LexicalUnit.SAC_COUNTERS_FUNCTION: case LexicalUnit.SAC_FUNCTION: { @@ -971,25 +972,25 @@ case LexicalUnit.SAC_INHERIT: return new IdentValue("inherit"); case LexicalUnit.SAC_OPERATOR_EXP: - return new IdentValue("^"); + return new TokenValue("^"); case LexicalUnit.SAC_OPERATOR_GE: - return new IdentValue(">="); + return new TokenValue(">="); case LexicalUnit.SAC_OPERATOR_GT: - return new IdentValue(">"); + return new TokenValue(">"); case LexicalUnit.SAC_OPERATOR_LE: - return new IdentValue("<="); + return new TokenValue("<="); case LexicalUnit.SAC_OPERATOR_LT: - return new IdentValue("<"); + return new TokenValue("<"); case LexicalUnit.SAC_OPERATOR_MINUS: - return new IdentValue("-"); + return new TokenValue("-"); case LexicalUnit.SAC_OPERATOR_MOD: - return new IdentValue("%"); + return new TokenValue("%"); case LexicalUnit.SAC_OPERATOR_MULTIPLY: - return new IdentValue("*"); + return new TokenValue("*"); case LexicalUnit.SAC_OPERATOR_PLUS: - return new IdentValue("+"); + return new TokenValue("+"); case LexicalUnit.SAC_OPERATOR_SLASH: - return new IdentValue("/"); + return new TokenValue("/"); case LexicalUnit.SAC_OPERATOR_TILDE: return new IdentValue("~"); case LexicalUnit.SAC_RECT_FUNCTION: { ======================================= --- /branches/snapshot-2009.10.23-r6446/user/src/com/google/gwt/resources/css/ast/CssProperty.java Tue Mar 17 11:59:31 2009 +++ /branches/snapshot-2009.10.23-r6446/user/src/com/google/gwt/resources/css/ast/CssProperty.java Fri Oct 30 10:59:29 2009 @@ -40,6 +40,7 @@ this.suffix = suffix; } + @Override public String getExpression() { return path.replace(".", "().") + "() + \"" + Generator.escape(suffix) + "\""; @@ -58,6 +59,7 @@ return this; } + @Override public String toCss() { return "value(\"" + path + "\"" + (suffix == null ? "" : (", \"" + suffix + "\"")) + ")"; @@ -74,6 +76,7 @@ this.expression = expression; } + @Override public String getExpression() { return expression; } @@ -83,6 +86,7 @@ return this; } + @Override public String toCss() { return "/* Java expression */"; } @@ -106,6 +110,7 @@ this.ident = ident; } + @Override public String getExpression() { return '"' + Generator.escape(ident) + '"'; } @@ -119,6 +124,7 @@ return this; } + @Override public String toCss() { return ident; } @@ -138,13 +144,20 @@ this(Arrays.asList(values)); } + @Override public String getExpression() { StringBuilder toReturn = new StringBuilder(); + boolean first = true; for (Iterator<Value> i = values.iterator(); i.hasNext();) { - toReturn.append(i.next().getExpression()); + Value value = i.next(); + if (!first && value.isSpaceRequired()) { + toReturn.append("\" \" +"); + } + toReturn.append(value.getExpression()); if (i.hasNext()) { - toReturn.append("+ \" \" +"); - } + toReturn.append("+ "); + } + first = false; } return toReturn.toString(); } @@ -158,6 +171,7 @@ return this; } + @Override public String toCss() { StringBuilder sb = new StringBuilder(); for (Value v : values) { @@ -204,6 +218,7 @@ } } + @Override public String getExpression() { return expression; } @@ -221,6 +236,7 @@ return this; } + @Override public String toCss() { return css; } @@ -275,6 +291,7 @@ this.value = value; } + @Override public String getExpression() { // The escaped CSS content has to be escaped to be a valid Java literal return "\"" + Generator.escape(toCss()) + "\""; @@ -292,10 +309,26 @@ /** * Returns a escaped, quoted representation of the underlying value. */ + @Override public String toCss() { return '"' + escapeValue(value, true) + '"'; } } + + /** + * Represents a token in the CSS source. + */ + public static class TokenValue extends IdentValue { + + public TokenValue(String token) { + super(token); + } + + @Override + public boolean isSpaceRequired() { + return false; + } + } /** * An abstract encapsulation of property values in GWT CSS. @@ -325,6 +358,10 @@ public NumberValue isNumberValue() { return null; } + + public boolean isSpaceRequired() { + return true; + } public StringValue isStringValue() { return null; --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---