Upgrade GSS to head.

Change-Id: I44718f6f1c9d3638432969eb2801515d61c89829
diff --git a/dev/build.xml b/dev/build.xml
index 3650c04..2b115a2 100755
--- a/dev/build.xml
+++ b/dev/build.xml
@@ -36,7 +36,7 @@
                excludes="**/super/**">
       <classpath>
         <pathelement location="${javac.out}"/>
-        <pathelement location="${gwt.tools.lib}/gss/2014-09-11/closure-stylesheets-rebased.jar"/>
+        <pathelement location="${gwt.tools.lib}/gss/2015-02-18/closure-stylesheets-library-20150218-rebased.jar"/>
         <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"/>
@@ -307,8 +307,8 @@
         <!-- CompilerTest compiles the hello sample. -->
         <pathelement location="${gwt.root}/samples/hello/src/"/>
         <!-- CompilerTest needs the dependecies to compile a project that uses UiBinder. -->
-        <pathelement location="${gwt.tools.lib}/gss/2014-09-11/closure-stylesheets-rebased.jar"/>
 	<pathelement location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/>
+        <pathelement location="${gwt.tools.lib}/gss/2015-02-18/closure-stylesheets-library-20150218-rebased.jar"/>
       </extraclasspaths>
     </gwt.junit>
   </target>
@@ -349,3 +349,4 @@
     </outofdate>
   </target>
 </project>
+
diff --git a/eclipse/user/.classpath b/eclipse/user/.classpath
index c2440a5..04e69f5 100644
--- a/eclipse/user/.classpath
+++ b/eclipse/user/.classpath
@@ -20,7 +20,7 @@
 	<classpathentry kind="var" path="GWT_TOOLS/lib/apache/commons/commons-logging-1.1.1.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/apache/commons/commons-io-2.4.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/cssparser/cssparser-0.9.11.jar"/>
-	<classpathentry kind="var" path="GWT_TOOLS/lib/gss/2014-09-11/closure-stylesheets-rebased.jar"/>
+	<classpathentry kind="var" path="GWT_TOOLS/lib/gss/2015-02-18/closure-stylesheets-library-20150218-rebased.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/mockito/1.9.5/mockito-all-1.9.5.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/nekohtml/nekohtml-1.9.19.jar"/>
 	<classpathentry kind="var" path="GWT_TOOLS/lib/selenium/selenium-java-client-driver.jar" sourcepath="/GWT_TOOLS/lib/selenium/selenium-java-client-driver-sources.jar"/>
@@ -67,3 +67,4 @@
 	<classpathentry kind="var" path="GWT_TOOLS/lib/eclipse/jdtCompilerAdapter_3.11.0.v20150126-2015.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
+
diff --git a/user/build.xml b/user/build.xml
index 395834b..819e71e 100755
--- a/user/build.xml
+++ b/user/build.xml
@@ -81,7 +81,7 @@
     <pathelement location="${gwt.tools.lib}/testng/testng-5.14.1-sources.jar"/>
     <pathelement location="${gwt.tools.lib}/testng/testng-5.14.1-nojunit.jar"/>
     <pathelement location="${gwt.dev.jar}"/>
-    <pathelement location="${gwt.tools.lib}/gss/2014-09-11/closure-stylesheets-rebased.jar"/>
+    <pathelement location="${gwt.tools.lib}/gss/2015-02-18/closure-stylesheets-library-20150218-rebased.jar"/>
   </path>
 
   <target name="compile" description="Compile all class files"
@@ -89,7 +89,7 @@
     <mkdir dir="${javac.out}"/>
     <gwt.javac excludes="**/super/**">
       <classpath>
-        <pathelement location="${gwt.tools.lib}/gss/2014-09-11/closure-stylesheets-rebased.jar"/>
+        <pathelement location="${gwt.tools.lib}/gss/2015-02-18/closure-stylesheets-library-20150218-rebased.jar"/>
         <pathelement
             location="${gwt.tools.lib}/jetty/jetty-8.1.12.v20130726/servlet-api-3.0-NoMetaInf.jar"/>
         <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar"/>
@@ -152,7 +152,7 @@
       <zipfileset src="${gwt.tools.lib}/w3c/flute/flute-1.3-gg2.jar"/>
       <zipfileset
           src="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/>
-      <zipfileset src="${gwt.tools.lib}/gss/2014-09-11/closure-stylesheets-rebased.jar"/> 
+      <zipfileset src="${gwt.tools.lib}/gss/2015-02-18/closure-stylesheets-library-20150218-rebased.jar"/>
     </gwt.jar>
   </target>
 
@@ -701,3 +701,4 @@
     <gwt.ant dir=".." target="apicheck-nobuild"/>
   </target>
 </project>
+
diff --git a/user/src/com/google/gwt/resources/gss/CssPrinter.java b/user/src/com/google/gwt/resources/gss/CssPrinter.java
index c5b69e2..d8803ca 100644
--- a/user/src/com/google/gwt/resources/gss/CssPrinter.java
+++ b/user/src/com/google/gwt/resources/gss/CssPrinter.java
@@ -207,8 +207,8 @@
     // space. I believe that you'll be safe because, if there's nothing in the buffer, there is
     // nothing to delete, but you may have some unnecessary characters in the output. you may
     // want to call that out explicitly in the code.
-    String content = DOUBLE_QUOTE + Generator.escape(sb.toString()) + DOUBLE_QUOTE;
-    sb = new StringBuilder();
+    String content = DOUBLE_QUOTE + Generator.escape(getOutputBuffer()) + DOUBLE_QUOTE;
+    resetBuffer();
 
     return content;
   }
diff --git a/user/test/com/google/gwt/resources/client/CSSResourceWithGSSTest.java b/user/test/com/google/gwt/resources/client/CSSResourceWithGSSTest.java
index 82d3bec..c61051e 100644
--- a/user/test/com/google/gwt/resources/client/CSSResourceWithGSSTest.java
+++ b/user/test/com/google/gwt/resources/client/CSSResourceWithGSSTest.java
@@ -69,7 +69,9 @@
     assertTrue(text.contains("ns:tag::-webkit-scrollbar"));
 
     // Check escaped string values
-    assertTrue(text.contains("Hello\\\\\\000022 world"));
+    // GSS outputs an extra whitespace which is okay, see:
+    // http://www.w3.org/TR/css3-syntax/#consume-an-escaped-code-point 
+    assertTrue(text.contains("Hello\\\\\\000022  world"));
 
     // Check values
     assertFalse(text.contains("0.0;"));