Defining a qualified Runtime exception for indicating interruption of
code download.
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9025 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/core/client/CodeDownloadException.java b/user/src/com/google/gwt/core/client/CodeDownloadException.java
new file mode 100644
index 0000000..72f98eb
--- /dev/null
+++ b/user/src/com/google/gwt/core/client/CodeDownloadException.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.core.client;
+
+/**
+ * Exception indicating an interruption while downloading resources.
+ */
+public final class CodeDownloadException extends RuntimeException {
+
+ /**
+ * Reason codes for the interruption of code down load. These
+ * can be due to missing resource or server not responding or user
+ * switching to a new page indicating resource doesn't
+ * need to be down loaded.
+ */
+ public enum Reason {
+ /**
+ * Generic code for terminating the download.
+ */
+ TERMINATED
+ }
+
+ private final Reason reason;
+
+ public CodeDownloadException(String message, Reason reason) {
+ super(message);
+ this.reason = reason;
+ }
+
+ public final Reason getReason() {
+ return reason;
+ }
+}
diff --git a/user/src/com/google/gwt/core/client/impl/CrossSiteIframeLoadingStrategy.java b/user/src/com/google/gwt/core/client/impl/CrossSiteIframeLoadingStrategy.java
index c43bfae..e13e41c 100644
--- a/user/src/com/google/gwt/core/client/impl/CrossSiteIframeLoadingStrategy.java
+++ b/user/src/com/google/gwt/core/client/impl/CrossSiteIframeLoadingStrategy.java
@@ -1,12 +1,12 @@
/*
* Copyright 2010 Google Inc.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -16,6 +16,7 @@
package com.google.gwt.core.client.impl;
+import com.google.gwt.core.client.CodeDownloadException;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.impl.AsyncFragmentLoader.LoadTerminatedHandler;
@@ -24,7 +25,7 @@
/**
* Load runAsync code using a script tag. Intended for use with the
* {@link com.google.gwt.core.linker.CrossSiteIframeLinker}.
- *
+ *
* <p>
* The linker wraps its selection script code with a function refered to by
* <code>__gwtModuleFunction</code>. On that function is a property
@@ -52,15 +53,15 @@
public native int get(int x) /*-{
return this[x] ? this[x] : 0;
}-*/;
-
+
public native void put(int x, int y) /*-{
this[x] = y;
}-*/;
}
- @SuppressWarnings("unused")
- private static RuntimeException LoadTerminated = new RuntimeException(
- "Code download terminated");
+ private static final RuntimeException LoadTerminated =
+ new CodeDownloadException("Code download terminated",
+ CodeDownloadException.Reason.TERMINATED);
/**
* Clear callbacks on script objects. This is important on IE 6 and 7 to