Reviewers: cromwellian,

Description:
Update the flute jar to accept double colon notation in css selectors,
rename
it to version 2, and use it throughout gwt. Also update the AST
generation code
to output double colons for any pseudo class/element that was is not
supported
with the single colon notation.


Please review this at http://gwt-code-reviews.appspot.com/1431801/

Affected files:
  M common.ant.xml
  M dev/build.xml
  M eclipse/servlet/.classpath
  M eclipse/user/.classpath
  M user/build.xml
  M user/src/com/google/gwt/resources/css/GenerateCssAst.java


Index: common.ant.xml
===================================================================
--- common.ant.xml      (revision 10132)
+++ common.ant.xml      (working copy)
@@ -236,7 +236,7 @@
           <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
<pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar" />
           <pathelement location="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
- <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg1.jar" /> + <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg2.jar" />
           <extraclasspaths />
         </classpath>

Index: dev/build.xml
===================================================================
--- dev/build.xml       (revision 10132)
+++ dev/build.xml       (working copy)
@@ -39,7 +39,7 @@
<pathelement location="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.jar" /> <pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar" />
         <pathelement location="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
- <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg1.jar" /> + <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg2.jar" /> <pathelement location="${gwt.tools}/redist/json/r2_20080312/json-1.5.jar" /> <pathelement location="${gwt.tools.lib}/hibernate/validator/hibernate-validator-4.1.0.Final.jar" /> <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" />
Index: eclipse/servlet/.classpath
===================================================================
--- eclipse/servlet/.classpath  (revision 10132)
+++ eclipse/servlet/.classpath  (working copy)
@@ -6,7 +6,7 @@
<classpathentry kind="var" path="GWT_TOOLS/lib/tomcat/servlet-api-2.4.jar"/>
        <classpathentry combineaccessrules="false" kind="src" path="/gwt-user"/>
        <classpathentry combineaccessrules="false" kind="src" path="/gwt-dev"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/w3c/flute/flute-1.3-gg1.jar"/> + <classpathentry kind="var" path="GWT_TOOLS/lib/w3c/flute/flute-1.3-gg2.jar"/>
        <classpathentry kind="var" path="GWT_TOOLS/lib/w3c/sac/sac-1.3.jar"/>
        <classpathentry kind="output" path="bin"/>
 </classpath>
Index: eclipse/user/.classpath
===================================================================
--- eclipse/user/.classpath     (revision 10132)
+++ eclipse/user/.classpath     (working copy)
@@ -27,7 +27,7 @@
<classpathentry kind="var" path="GWT_TOOLS/lib/xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar"/> <classpathentry kind="var" path="GWT_TOOLS/lib/xerces/xerces-2_9_1/xml-apis.jar"/>
        <classpathentry kind="var" path="GWT_TOOLS/lib/w3c/sac/sac-1.3.jar"/>
- <classpathentry kind="var" path="GWT_TOOLS/lib/w3c/flute/flute-1.3-gg1.jar"/> + <classpathentry kind="var" path="GWT_TOOLS/lib/w3c/flute/flute-1.3-gg2.jar"/>
        <classpathentry kind="var" path="GWT_TOOLS/lib/cglib/cglib-2.2.jar"/>
<classpathentry kind="var" path="GWT_TOOLS/lib/objenesis/objenesis-1.2.jar"/> <classpathentry kind="var" path="GWT_TOOLS/lib/easymock/easymock-3.0.jar"/>
Index: user/build.xml
===================================================================
--- user/build.xml      (revision 10132)
+++ user/build.xml      (working copy)
@@ -98,7 +98,7 @@
<pathelement location="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.jar" /> <pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar" />
         <pathelement location="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
- <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg1.jar" /> + <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg2.jar" /> <pathelement location="${gwt.tools}/redist/json/r2_20080312/json-1.5.jar" /> <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" /> <!-- The source is included so validation is available from client code -->
@@ -150,7 +150,7 @@
       <fileset dir="${javac.out}" />
<zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" excludes="**/*.java"/>
       <zipfileset src="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
-      <zipfileset src="${gwt.tools.lib}/w3c/flute/flute-1.3-gg1.jar" />
+      <zipfileset src="${gwt.tools.lib}/w3c/flute/flute-1.3-gg2.jar" />
     </gwt.jar>
   </target>

Index: user/src/com/google/gwt/resources/css/GenerateCssAst.java
===================================================================
--- user/src/com/google/gwt/resources/css/GenerateCssAst.java (revision 10132)
+++ user/src/com/google/gwt/resources/css/GenerateCssAst.java   (working copy)
@@ -92,6 +92,10 @@
 @SuppressWarnings("unused")
 public class GenerateCssAst {

+  private static List<String> validPseudoClasses = Arrays.asList(
+    "link", "visited", "active", "hover", "focus", "first-letter", 
"first-line",
+    "first-child", "before", "after");
+
   /**
* Maps SAC CSSParseExceptions into a TreeLogger. All parsing errors will be * recorded in a single TreeLogger branch, which will be created only if a
@@ -937,7 +941,11 @@
         case Condition.SAC_CLASS_CONDITION:
           return "." + c.getValue();
         case Condition.SAC_PSEUDO_CLASS_CONDITION:
-          return ":" + c.getValue();
+          if (validPseudoClasses.contains(c.getValue().toLowerCase())) {
+            return ":" + c.getValue();
+          } else {
+            return "::" + c.getValue();
+          }
       }

     } else if (condition instanceof CombinatorCondition) {


--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to