Fix issue with SSSS not getting stylesheets

Review at http://gwt-code-reviews.appspot.com/1059801


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9161 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
index 3e9003c..9f08655 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
@@ -115,7 +115,7 @@
        * called from the legacy link method.
        */
       for (CompilationResult compilation : toReturn.find(CompilationResult.class)) {
-        toReturn.addAll(doEmitCompilation(logger, context, compilation));
+        toReturn.addAll(doEmitCompilation(logger, context, compilation, artifacts));
       }
       return toReturn;
     } else {
@@ -137,11 +137,11 @@
   }
   
   protected Collection<Artifact<?>> doEmitCompilation(TreeLogger logger,
-      LinkerContext context, CompilationResult result)
+      LinkerContext context, CompilationResult result, ArtifactSet artifacts)
       throws UnableToCompleteException {
     String[] js = result.getJavaScript();
     byte[][] bytes = new byte[js.length][];
-    bytes[0] = generatePrimaryFragment(logger, context, result, js);
+    bytes[0] = generatePrimaryFragment(logger, context, result, js, artifacts);
     for (int i = 1; i < js.length; i++) {
       bytes[i] = Util.getBytes(generateDeferredFragment(logger, context, i,
           js[i]));
@@ -227,22 +227,23 @@
    * {@link #getModuleSuffix(TreeLogger, LinkerContext)}.
    */
   protected byte[] generatePrimaryFragment(TreeLogger logger,
-      LinkerContext context, CompilationResult result, String[] js)
-      throws UnableToCompleteException {
+      LinkerContext context, CompilationResult result, String[] js,
+      ArtifactSet artifacts) throws UnableToCompleteException {
     TextOutput to = new DefaultTextOutput(context.isOutputCompact());
     to.print(generatePrimaryFragmentString(
-        logger, context, result.getStrongName(), js[0], js.length));
+        logger, context, result.getStrongName(), js[0], js.length, artifacts));
     return Util.getBytes(to.toString());
   }
   
   protected String generatePrimaryFragmentString(TreeLogger logger,
-      LinkerContext context, String strongName, String js, int length) 
+      LinkerContext context, String strongName, String js, int length,
+      ArtifactSet artifacts) 
   throws UnableToCompleteException {
     StringBuffer b = new StringBuffer();
     b.append(getModulePrefix(logger, context, strongName, length));
     b.append(js);
     b.append(getModuleSuffix(logger, context));
-    return wrapPrimaryFragment(logger, context, b.toString());
+    return wrapPrimaryFragment(logger, context, b.toString(), artifacts);
   }
   
   protected String generateSelectionScript(TreeLogger logger,
@@ -358,7 +359,7 @@
   }
 
   protected String wrapPrimaryFragment(TreeLogger logger,
-      LinkerContext context, String script) {
+      LinkerContext context, String script, ArtifactSet artifacts) {
     return script;
   }
 
diff --git a/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java b/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java
index 8ea1b9e..2c00afa 100644
--- a/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java
+++ b/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java
@@ -211,7 +211,7 @@
         "com/google/gwt/core/ext/linker/impl/" + filename, logger); 
 
     String script = generatePrimaryFragmentString(
-        logger, context, "", buffer.toString(), 1);
+        logger, context, "", buffer.toString(), 1, artifacts);
     
     EmittedArtifact devArtifact = 
       emitString(logger, script, filename, lastModified);
@@ -261,11 +261,11 @@
   
   @Override
   protected String wrapPrimaryFragment(TreeLogger logger,
-      LinkerContext context, String script) {
+      LinkerContext context, String script, ArtifactSet artifacts) {
     StringBuffer out = new StringBuffer();
     if (shouldIncludeBootstrapInPrimaryFragment(context)) {
       try {
-        out.append(generateSelectionScript(logger, context, null));
+        out.append(generateSelectionScript(logger, context, artifacts));
       } catch (UnableToCompleteException e) {
         logger.log(TreeLogger.ERROR, "Problem setting up selection script", e);
         e.printStackTrace();
diff --git a/dev/core/src/com/google/gwt/core/linker/IFrameLinker.java b/dev/core/src/com/google/gwt/core/linker/IFrameLinker.java
index 77e80ff..33f3e69 100644
--- a/dev/core/src/com/google/gwt/core/linker/IFrameLinker.java
+++ b/dev/core/src/com/google/gwt/core/linker/IFrameLinker.java
@@ -18,12 +18,13 @@
 import com.google.gwt.core.ext.LinkerContext;
 import com.google.gwt.core.ext.TreeLogger;
 import com.google.gwt.core.ext.UnableToCompleteException;
+import com.google.gwt.core.ext.linker.ArtifactSet;
 import com.google.gwt.core.ext.linker.CompilationResult;
 import com.google.gwt.core.ext.linker.ConfigurationProperty;
 import com.google.gwt.core.ext.linker.LinkerOrder;
+import com.google.gwt.core.ext.linker.LinkerOrder.Order;
 import com.google.gwt.core.ext.linker.Shardable;
 import com.google.gwt.core.ext.linker.StatementRanges;
-import com.google.gwt.core.ext.linker.LinkerOrder.Order;
 import com.google.gwt.core.ext.linker.impl.SelectionScriptLinker;
 import com.google.gwt.dev.About;
 import com.google.gwt.dev.util.DefaultTextOutput;
@@ -120,8 +121,8 @@
    */
   @Override
   protected byte[] generatePrimaryFragment(TreeLogger logger,
-      LinkerContext context, CompilationResult result, String[] js)
-      throws UnableToCompleteException {
+      LinkerContext context, CompilationResult result, String[] js,
+      ArtifactSet artifacts) throws UnableToCompleteException {
     StringBuffer b = new StringBuffer();
     b.append(getModulePrefix(logger, context, result.getStrongName(), js.length));
     b.append(splitPrimaryJavaScript(result.getStatementRanges()[0], js[0],
diff --git a/dev/core/src/com/google/gwt/core/linker/SingleScriptLinker.java b/dev/core/src/com/google/gwt/core/linker/SingleScriptLinker.java
index d5516bc..5296cc8 100644
--- a/dev/core/src/com/google/gwt/core/linker/SingleScriptLinker.java
+++ b/dev/core/src/com/google/gwt/core/linker/SingleScriptLinker.java
@@ -61,7 +61,7 @@
 
   @Override
   protected Collection<Artifact<?>> doEmitCompilation(TreeLogger logger,
-      LinkerContext context, CompilationResult result)
+      LinkerContext context, CompilationResult result, ArtifactSet artifacts)
       throws UnableToCompleteException {
     if (result.getJavaScript().length != 1) {
       logger.branch(TreeLogger.ERROR,
@@ -69,7 +69,7 @@
               + getDescription() + " Linker.", null);
       throw new UnableToCompleteException();
     }
-    return super.doEmitCompilation(logger, context, result);
+    return super.doEmitCompilation(logger, context, result, artifacts);
   }
 
   @Override