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 b515403b7b54b2cf2cf28174327de3b1bfc01736..d1f06556218b14528a4f04ebb81c2ab090c588e8 100644 |
--- a/sdk/lib/html/dartium/html_dartium.dart |
+++ b/sdk/lib/html/dartium/html_dartium.dart |
@@ -28644,18 +28644,25 @@ class _HttpRequestUtils { |
// Helper for factory HttpRequest.get |
static HttpRequest get(String url, |
- onSuccess(HttpRequest request), |
+ onComplete(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 && |
- (request.status == 200 || request.status == 0)) { |
- onSuccess(request); |
+ 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); |
} |
}); |