Reviewers: spoon, scottb, Description: Some user-agents return status code 0 when operating off of file: URLs. This patch gets Showcase working from local files.
Please review this at http://gwt-code-reviews.appspot.com/20801 Affected files: user/src/com/google/gwt/core/client/AsyncFragmentLoader.java Index: user/src/com/google/gwt/core/client/AsyncFragmentLoader.java =================================================================== --- user/src/com/google/gwt/core/client/AsyncFragmentLoader.java (revision 5214) +++ user/src/com/google/gwt/core/client/AsyncFragmentLoader.java (working copy) @@ -116,7 +116,7 @@ super("HTTP download failed with status " + statusCode); this.statusCode = statusCode; } - + public int getStatusCode() { return statusCode; } @@ -169,6 +169,12 @@ private static final String HTTP_GET = "GET"; + /** + * Some UA's like Safari will have a "0" status code when loading from file: + * URLs. + */ + private static final int HTTP_STATUS_LOCAL = 0; + private static final int HTTP_STATUS_OK = 200; /** @@ -365,14 +371,16 @@ public void onReadyStateChange(XMLHttpRequest xhr) { if (xhr.getReadyState() == XMLHttpRequest.DONE) { xhr.clearOnReadyStateChange(); - if (xhr.getStatus() == HTTP_STATUS_OK) { + if (xhr.getStatus() == HTTP_STATUS_OK + || xhr.getStatus() == HTTP_STATUS_LOCAL) { try { installCode(xhr.getResponseText()); } catch (RuntimeException e) { loadErrorHandler.loadFailed(e); } } else { - loadErrorHandler.loadFailed(new HttpDownloadFailure(xhr.getStatus())); + loadErrorHandler.loadFailed(new HttpDownloadFailure( + xhr.getStatus())); } } } --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---