Skip to content

[web][ci] Overriding tester.view.devicePixelRatio in integration tests breaks them. #152704

@ditman

Description

@ditman

It seems that overriding tester.view.devicePixelRatio to a value that is different to the actual DPR of the browser is crashing some integration tests with the following error:

══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞══════════════════════
The following assertion was thrown during a scheduler callback:
Assertion failed:
org-dartlang-sdk:///lib/_engine/engine/html/scene_builder.dart:94:16
matrix4[0] == EngineFlutterDisplay.instance.devicePixelRatio &&
            matrix4[5] ==
EngineFlutterDisplay.instance.devicePixelRatio
is not true

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 296:3  throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3   assertFailed
lib/_engine/engine/html/scene_builder.dart 95:57                             pushTransform
packages/flutter/src/rendering/wrap.dart.js 80556:34                         addToScene
packages/flutter/src/rendering/wrap.dart.js 79849:12                         buildScene
packages/flutter/src/rendering/wrap.dart.js 75503:48                         compositeFrame
packages/flutter/src/rendering/wrap.dart.js 76281:22                         drawFrame
packages/flutter/src/rendering/wrap.dart.js 197076:15                        drawFrame
packages/flutter/src/rendering/wrap.dart.js 76240:12                         [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart.js 934:9                         [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart.js 893:37                        handleDrawFrame
packages/flutter_test/src/test_text_input_key_handler.dart.js 11808:15       handleDrawFrame
packages/flutter/src/scheduler/binding.dart.js 766:16                        <fn>
dart-sdk/lib/async/zone.dart 1391:47                                         _rootRun
dart-sdk/lib/async/zone.dart 1301:19                                         run
dart-sdk/lib/async/zone.dart 1209:7                                          runGuarded
dart-sdk/lib/async/zone.dart 1249:23                                         <fn>
dart-sdk/lib/async/zone.dart 1399:13                                         _rootRun
dart-sdk/lib/async/zone.dart 1301:19                                         run
dart-sdk/lib/async/zone.dart 1233:23                                         <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:11      internalCallback
═════════════════════════════════════════════════════════════════

end of failure 1

It seems that removing the override fixes the tests, but the override should not crash.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projecte: web_htmlHTML rendering backend for Webengineflutter/engine related. See also e: labels.platform-webWeb applications specificallyteam-webOwned by Web platform teamtriaged-webTriaged by Web platform team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions