@@ -7,17 +7,17 @@ import 'dart:js_interop';
7
7
import 'dart:ui' as ui;
8
8
9
9
import 'package:flutter/foundation.dart' ;
10
+ import 'package:web/web.dart' as web;
10
11
11
- import '../services/dom.dart' ;
12
12
import 'image_provider.dart' as image_provider;
13
13
import 'image_stream.dart' ;
14
14
15
15
/// Creates a type for an overridable factory function for testing purposes.
16
- typedef HttpRequestFactory = DomXMLHttpRequest Function ();
16
+ typedef HttpRequestFactory = web. XMLHttpRequest Function ();
17
17
18
18
/// Default HTTP client.
19
- DomXMLHttpRequest _httpClient () {
20
- return DomXMLHttpRequest ();
19
+ web. XMLHttpRequest _httpClient () {
20
+ return web. XMLHttpRequest ();
21
21
}
22
22
23
23
/// Creates an overridable factory function.
@@ -135,9 +135,9 @@ class NetworkImage
135
135
// We use a different method when headers are set because the
136
136
// `ui.webOnlyInstantiateImageCodecFromUrl` method is not capable of handling headers.
137
137
if (isCanvasKit || containsNetworkImageHeaders) {
138
- final Completer <DomXMLHttpRequest > completer =
139
- Completer <DomXMLHttpRequest >();
140
- final DomXMLHttpRequest request = httpRequestFactory ();
138
+ final Completer <web. XMLHttpRequest > completer =
139
+ Completer <web. XMLHttpRequest >();
140
+ final web. XMLHttpRequest request = httpRequestFactory ();
141
141
142
142
request.open ('GET' , key.url, true );
143
143
request.responseType = 'arraybuffer' ;
@@ -147,9 +147,9 @@ class NetworkImage
147
147
});
148
148
}
149
149
150
- request.addEventListener ('load' , createDomEventListener (( DomEvent e) {
151
- final int ? status = request.status;
152
- final bool accepted = status! >= 200 && status < 300 ;
150
+ request.addEventListener ('load' , (web. Event e) {
151
+ final int status = request.status;
152
+ final bool accepted = status >= 200 && status < 300 ;
153
153
final bool fileUri = status == 0 ; // file:// URIs have status of 0.
154
154
final bool notModified = status == 304 ;
155
155
final bool unknownRedirect = status > 307 && status < 400 ;
@@ -161,12 +161,11 @@ class NetworkImage
161
161
} else {
162
162
completer.completeError (e);
163
163
throw image_provider.NetworkImageLoadException (
164
- statusCode: request. status ?? 400 , uri: resolved);
164
+ statusCode: status, uri: resolved);
165
165
}
166
- }) );
166
+ }.toJS );
167
167
168
- request.addEventListener ('error' ,
169
- createDomEventListener (completer.completeError));
168
+ request.addEventListener ('error' , completer.completeError.toJS);
170
169
171
170
request.send ();
172
171
@@ -176,7 +175,7 @@ class NetworkImage
176
175
177
176
if (bytes.lengthInBytes == 0 ) {
178
177
throw image_provider.NetworkImageLoadException (
179
- statusCode: request.status! , uri: resolved);
178
+ statusCode: request.status, uri: resolved);
180
179
}
181
180
182
181
if (decode != null ) {
0 commit comments