Index: sdk/lib/html/dart2js/html_dart2js.dart |
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart |
index 7bbd8de8d2117191854f41132ef2ad6e302c198d..5e169881d3a5889652485ba975ca5a6e0c53be93 100644 |
--- a/sdk/lib/html/dart2js/html_dart2js.dart |
+++ b/sdk/lib/html/dart2js/html_dart2js.dart |
@@ -24024,25 +24024,18 @@ class _HttpRequestUtils { |
// Helper for factory HttpRequest.get |
static HttpRequest get(String url, |
- onComplete(HttpRequest request), |
+ onSuccess(HttpRequest request), |
bool withCredentials) { |
final request = new HttpRequest(); |
request.open('GET', url, true); |
request.withCredentials = withCredentials; |
+ // Status 0 is for local XHR request. |
request.on.readyStateChange.add((e) { |
- if (request.readyState == HttpRequest.DONE) { |
- // TODO(efortuna): Previously HttpRequest.get only invoked the callback |
- // when request.status was 0 or 200. This |
- // causes two problems 1) request.status = 0 for ANY local XHR request |
- // (file found or not found) 2) the user facing function claims that the |
- // callback is called on completion of the request, regardless of |
- // status. Because the new event model is coming in soon, rather than |
- // fixing the callbacks version, we just need to revisit the desired |
- // behavior when we're using streams/futures. |
- // Status 0 is for local XHR request. |
- onComplete(request); |
+ if (request.readyState == HttpRequest.DONE && |
+ (request.status == 200 || request.status == 0)) { |
+ onSuccess(request); |
} |
}); |