Author: [EMAIL PROTECTED]
Date: Mon Oct 6 15:12:24 2008
New Revision: 3721
Modified:
changes/spoon/runAsync/dev/core/src/com/google/gwt/dev/jjs/impl/FragmentLoaderCreator.java
changes/spoon/runAsync/user/src/com/google/gwt/core/client/AsyncFragmentLoader.java
Log:
Signal AsyncFragmentLoader once a fragment finishes downloading.
This sets the stage for fragmentation strategies where the order
fragments arrive needs to be controlled.
Modified:
changes/spoon/runAsync/dev/core/src/com/google/gwt/dev/jjs/impl/FragmentLoaderCreator.java
==============================================================================
---
changes/spoon/runAsync/dev/core/src/com/google/gwt/dev/jjs/impl/FragmentLoaderCreator.java
(original)
+++
changes/spoon/runAsync/dev/core/src/com/google/gwt/dev/jjs/impl/FragmentLoaderCreator.java
Mon Oct 6 15:12:24 2008
@@ -120,15 +120,15 @@
private void generateOnLoadMethod(PrintWriter srcWriter) {
srcWriter.println("public static void onLoad() {");
- srcWriter.println("loaded = true;");
- srcWriter.println("instance = new " + getLoaderSimpleName() + "();");
srcWriter.println(ASYNC_FRAGMENT_LOADER
+ ".logEventProgress(\"download"
+ entryNumber + "\", \"end\");");
- srcWriter.println(ASYNC_FRAGMENT_LOADER
- + ".logEventProgress(\"runCallbacks" + entryNumber + "\",
\"begin\");");
+ srcWriter.println("loaded = true;");
+ srcWriter.println("instance = new " + getLoaderSimpleName() + "();");
+ srcWriter.println(ASYNC_FRAGMENT_LOADER + ".fragmentHasLoaded("
+ + entryNumber + ");");
+
srcWriter.println("instance.runCallbacks();");
- srcWriter.println(ASYNC_FRAGMENT_LOADER
- + ".logEventProgress(\"runCallbacks" + entryNumber + "\",
\"end\");");
+
srcWriter.println("}");
}
@@ -167,7 +167,7 @@
}
private void generateRunCallbacksMethod(PrintWriter srcWriter) {
- srcWriter.println("protected void runCallbacks() {");
+ srcWriter.println("public void runCallbacks() {");
// TODO(spoon): this runs the callbacks in reverse order
// TODO(spoon): this runs the callbacks immediately; deferred would be
// better
@@ -265,9 +265,9 @@
/**
* Create a stand-in superclass of the actual loader. This is used to
keep the
* liveness analyzer from thinking the real <code>runCallbacks()</code>
- * method is available until <code>onLoad</code> has been called an the
real
- * load instantiated. A little work on TypeTightener could prevent the
for
- * this class.
+ * method is available until <code>onLoad</code> has been called and the
+ * real loader instantiated. A little work on TypeTightener could
prevent the
+ * need for this class.
*/
private void writeLoaderSuperclass(TreeLogger logger, GeneratorContext
ctx)
throws UnableToCompleteException {
@@ -282,7 +282,7 @@
printWriter.println("package " + getPackage() + ";");
printWriter.println("public class " + getLoaderSuperclassSimpleName()
+ " {");
- printWriter.println("protected void runCallbacks() { }");
+ printWriter.println("public void runCallbacks() { }");
printWriter.println("}");
printWriter.close();
Modified:
changes/spoon/runAsync/user/src/com/google/gwt/core/client/AsyncFragmentLoader.java
==============================================================================
---
changes/spoon/runAsync/user/src/com/google/gwt/core/client/AsyncFragmentLoader.java
(original)
+++
changes/spoon/runAsync/user/src/com/google/gwt/core/client/AsyncFragmentLoader.java
Mon Oct 6 15:12:24 2008
@@ -19,9 +19,20 @@
import com.google.gwt.user.client.Element;
/**
- *
+ * Low-level support to download an extra fragment of code. This should
not be
+ * invoked directly by user code.
*/
public class AsyncFragmentLoader {
+ /**
+ * Inform the loader that the code for an entry point has now finished
+ * loading.
+ *
+ * @param entry The entry whose code fragment is now loaded.
+ */
+ public static void fragmentHasLoaded(int entry) {
+ // There is nothing to do with the current fragmentation strategy
+ }
+
/**
* Loads the specified fragment asynchronously.
*
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---