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