Index: sdk/lib/html/dartium/html_dartium.dart |
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart |
index d1f06556218b14528a4f04ebb81c2ab090c588e8..b515403b7b54b2cf2cf28174327de3b1bfc01736 100644 |
--- a/sdk/lib/html/dartium/html_dartium.dart |
+++ b/sdk/lib/html/dartium/html_dartium.dart |
@@ -28644,25 +28644,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); |
} |
}); |