Creating a screenshot crashes on web for HTML elements
My Flutter Web app contains plain old HTML elements. Taking a screenshot doesn't work and it then crashes when saving it with drawings
Unexpected null value.
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49 throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 518:63 nullCheck
lib/_engine/engine/canvaskit/layer.dart 553:27 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 465:5 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 465:5 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 465:5 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 339:38 preroll
lib/_engine/engine/canvaskit/layer.dart 120:12 prerollChildren
lib/_engine/engine/canvaskit/layer.dart 109:19 preroll
lib/_engine/engine/canvaskit/layer_tree.dart 65:15 flatten
lib/_engine/engine/canvaskit/layer_scene_builder.dart 18:36 toImage
packages/flutter/src/rendering/layer.dart 1173:25 toImage
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/flutter/src/rendering/layer.dart 1157:27 toImage
packages/flutter/src/rendering/proxy_box.dart 3090:23 toImage
packages/wiredash/src/capture/screenshot/screenshot.dart 51:37 _captureScreen
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/wiredash/src/capture/screenshot/screenshot.dart 44:30 [_captureScreen]
packages/wiredash/src/capture/screenshot/screenshot.dart 37:33 <fn>
dart-sdk/lib/async/zone.dart 1346:47 _rootRun
dart-sdk/lib/async/zone.dart 1258:19 run
dart-sdk/lib/async/zone.dart 1162:7 runGuarded
dart-sdk/lib/async/zone.dart 1202:23 <fn>
dart-sdk/lib/async/zone.dart 1354:13 _rootRun
dart-sdk/lib/async/zone.dart 1258:19 run
dart-sdk/lib/async/zone.dart 1162:7 runGuarded
dart-sdk/lib/async/zone.dart 1202:23 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15 <fn>
Also the HTML widget is fully interactive during drawing, (because the screenshot doesn't overlay the actual app,) which is strange.
At least wiredash should show an error when the screenshot couldn't created and hide the app
This has been reported to the Flutter repository https://github.com/flutter/flutter/issues/101720
Nothing that can be resolved here
Related to #118, but this is the web only issue
The bug has been fixed by Flutter. Wiredash is still unable to get the pixel information about the HTML elements, but it doesn't crash anymore