Repository: flutter
Issue: [Web] AssetImageProvider hangs on failure to load
Labels: a: tests,team,framework,platform-web,a: images,has reproducible steps,P2,found in release: 3.3,found in release: 3.6,team-web,triaged-web

Following up on skipped test, which times out when enabled. On null load passes (the test that comes after this one), but a failed load hangs. 

Test name: _ImageProvider Image cache AssetImageProvider - evicts on failure to load _
https://github.com/flutter/flutter/blob/c32d1387ab9a6cba7a4f9849dce1d6df63f5a173/packages/flutter/test/painting/image_provider_test.dart#L68

```md
03:12 +325 ~4 -1: /tmp/flutter sdk/packages/flutter/test/painting/image_provider_test.dart: ImageProvider Image cache AssetImageProvider - evicts on failure to load [E]                               
  TimeoutException after 0:00:30.000000: Test timed out after 30 seconds. See https://pub.dev/packages/test#timeouts
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/async/zone.dart 1180:38                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/async/zone.dart 1184:13                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:stack_trace                                                                       <fn>
  package:dart-sdk/lib/async/zone.dart 1184:13                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:dart-sdk/lib/async/zone.dart 1003:23                                              <fn>
  package:dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 50:19           internalCallback
  ===== asynchronous gap ===========================
  package:dart-sdk/lib/async/zone.dart 1101:19                                              registerCallback
  package:dart-sdk/lib/async/zone.dart 1002:22                                              bindCallback
  package:dart-sdk/lib/async/zone.dart 1251:20                                              _rootCreateTimer
  package:dart-sdk/lib/async/zone.dart 1145:19                                              createTimer
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/async/zone.dart 1184:13                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:dart-sdk/lib/async/zone.dart 1618:67                                              _runZoned
  package:dart-sdk/lib/async/zone.dart 1539:10                                              runZoned
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 86:54                runBody
  package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 125:12               _async
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 86:54                runBody
  package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 125:12               _async
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/async/future.dart 176:37                                             <fn>
  package:stack_trace                                                                       <fn>
  package:dart-sdk/lib/async/zone.dart 1180:38                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:dart-sdk/lib/async/zone.dart 979:7                                                runGuarded
  package:dart-sdk/lib/async/zone.dart 1019:23                                              <fn>
  package:stack_trace                                                                       <fn>
  package:dart-sdk/lib/async/zone.dart 1184:13                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:dart-sdk/lib/async/zone.dart 1003:23                                              <fn>
  package:dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 50:19           internalCallback
  ===== asynchronous gap ===========================
  package:dart-sdk/lib/async/zone.dart 1101:19                                              registerCallback
  package:dart-sdk/lib/async/zone.dart 1018:22                                              bindCallbackGuarded
  package:dart-sdk/lib/async/timer.dart 54:45                                               new
  package:dart-sdk/lib/async/timer.dart 91:9                                                run
  package:dart-sdk/lib/async/future.dart 174:11                                             new
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 86:54                runBody
  package:dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 125:12               _async
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/async/zone.dart 1184:13                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:dart-sdk/lib/async/zone.dart 1618:67                                              _runZoned
  package:dart-sdk/lib/async/zone.dart 1539:10                                              runZoned
  package:stack_trace                                                                       <fn>
  package:dart-sdk/lib/async/zone.dart 1184:13                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:dart-sdk/lib/async/zone.dart 1618:67                                              _runZoned
  package:dart-sdk/lib/async/zone.dart 1539:10                                              runZoned
  package:test_api                                                                          [_onRun]
  package:dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 326:14  _checkAndCall
  package:dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 390:10  callMethod
  package:dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 394:5   dsend
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/async/zone.dart 1184:13                                              _rootRun
  package:dart-sdk/lib/async/zone.dart 1077:19                                              run
  package:dart-sdk/lib/async/zone.dart 1618:67                                              _runZoned
  package:dart-sdk/lib/async/zone.dart 1539:10                                              runZoned
  package:test_api                                                                          <fn>
  package:dart-sdk/lib/async/zone.dart 1192:38                                              _rootRunUnary
  package:dart-sdk/lib/async/zone.dart 1085:19                                              runUnary
  package:dart-sdk/lib/async/zone.dart 987:7                                                runUnaryGuarded
  package:dart-sdk/lib/async/stream_impl.dart 339:11                                        [_sendData]
  package:dart-sdk/lib/async/stream_impl.dart 266:7                                         [_add]
  package:dart-sdk/lib/async/stream_controller.dart 779:19                                  [_sendData]
  package:dart-sdk/lib/async/stream_controller.dart 655:7                                   [_add]
  package:dart-sdk/lib/async/stream_controller.dart 597:5                                   add
  package:dart-sdk/lib/async/zone.dart 1196:13                                              _rootRunUnary
  package:dart-sdk/lib/async/zone.dart 1085:19                                              runUnary
  package:dart-sdk/lib/async/zone.dart 987:7                                                runUnaryGuarded
  package:dart-sdk/lib/async/stream_impl.dart 339:11                                        [_sendData]
  package:dart-sdk/lib/async/stream_impl.dart 266:7                                         [_add]
  package:dart-sdk/lib/async/stream_controller.dart 779:19                                  [_sendData]
  package:dart-sdk/lib/async/stream_controller.dart 655:7                                   [_add]
  package:dart-sdk/lib/async/stream_controller.dart 597:5                                   add
  package:dart-sdk/lib/async/stream_controller.dart 873:13                                  add
  package:stream_channel                                                                    <fn>
  package:dart-sdk/lib/async/zone.dart 1374:10                                              runUnaryGuarded
  package:dart-sdk/lib/async/stream_impl.dart 339:11                                        [_sendData]
  package:dart-sdk/lib/async/stream_impl.dart 266:7                                         [_add]
  package:dart-sdk/lib/async/stream_controller.dart 779:19                                  [_sendData]
  package:dart-sdk/lib/async/stream_controller.dart 655:7                                   [_add]
  package:dart-sdk/lib/async/stream_controller.dart 597:5                                   add
  package:dart-sdk/lib/async/zone.dart 1374:10                                              runUnaryGuarded
  package:dart-sdk/lib/async/stream_impl.dart 339:11                                        [_sendData]
  package:dart-sdk/lib/async/stream_impl.dart 266:7                                         [_add]
  package:dart-sdk/lib/async/stream_controller.dart 779:19                                  [_sendData]
  package:dart-sdk/lib/async/stream_controller.dart 655:7                                   [_add]
  package:dart-sdk/lib/async/stream_controller.dart 597:5                                   add
  package:dart-sdk/lib/async/stream_controller.dart 873:13                                  add
  package:dart-sdk/lib/async/zone.dart 1374:10                                              runUnaryGuarded
  package:dart-sdk/lib/async/stream_impl.dart 339:11                                        [_sendData]
  package:dart-sdk/lib/async/stream_impl.dart 266:7                                         [_add]
  package:dart-sdk/lib/async/stream_controller.dart 779:19                                  [_sendData]
  package:dart-sdk/lib/async/stream_controller.dart 655:7                                   [_add]
  package:dart-sdk/lib/async/stream_controller.dart 597:5                                   add
  package:dart-sdk/lib/async/zone.dart 1374:10                                              runUnaryGuarded
  package:dart-sdk/lib/async/stream_impl.dart 339:11                                        [_sendData]
  package:dart-sdk/lib/async/stream_impl.dart 266:7                                         [_add]
  package:dart-sdk/lib/async/stream_controller.dart 779:19                                  [_sendData]
  package:dart-sdk/lib/async/stream_controller.dart 655:7                                   [_add]
  package:dart-sdk/lib/async/stream_controller.dart 597:5                                   add
  package:dart-sdk/lib/async/stream_controller.dart 873:13                                  add
  package:stream_channel                                                                    add
  image_provider_test.dart.browser_test.dart 52:17                                          <fn>
  package:dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 326:14  _checkAndCall
  package:dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 331:39  dcall
  package:dart-sdk/lib/html/dart2js/html_dart2js.dart 37108:58                              <fn>
```