Skip to content

Conversation

@harryterkelsen
Copy link
Contributor

@harryterkelsen harryterkelsen commented Feb 20, 2025

When using Chrome for Android with "Request Desktop Site" checked will cause the browser to set the visualViewport to have a very large size and a scale of less than 1. If we do not account for the scale, then we will create a huge bitmap (on a Pixel 4 emulator with "Request Desktop Site" checked the viewport size was ~2500 x ~5000). Attempting to create a too-large bitmap can silently fail and create a bitmap that is slightly too small. This fixes Flutter Web to take the visual viewport scale into account so we don't create enormous (and potentially flaky) bitmaps on every frame.

BEFORE:

Screenshot 2025-02-18 at 10 30 59 AM

AFTER:

Screenshot 2025-02-19 at 4 44 53 PM

Fixes #136319
Fixes #154162

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added engine flutter/engine related. See also e: labels. platform-web Web applications specifically labels Feb 20, 2025
Copy link
Contributor

@yjbanov yjbanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@harryterkelsen harryterkelsen added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 20, 2025
@harryterkelsen
Copy link
Contributor Author

Also, this PR helps with blurriness when zoomed in with embedded apps:

BEFORE:
Screenshot_1740092425

AFTER:
Screenshot_1740092861

@harryterkelsen harryterkelsen force-pushed the canvaskit-debug-mobile-desktop branch from 279b442 to 658b676 Compare February 20, 2025 23:16
@auto-submit auto-submit bot added this pull request to the merge queue Feb 21, 2025
Merged via the queue into flutter:master with commit 442c241 Feb 21, 2025
173 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 23, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 23, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Feb 24, 2025
Manual roll Flutter from 39b4951 to 911aa75 (56 revisions)

Manual roll requested by stuartmorgan@google.com

flutter/flutter@39b4951...911aa75

2025-02-21 bdero@google.com Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569)
2025-02-21 68449066+zijiehe-google-com@users.noreply.github.com [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844)
2025-02-21 engine-flutter-autoroll@skia.org Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832)
2025-02-21 matanlurey@users.noreply.github.com Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671)
2025-02-21 matanlurey@users.noreply.github.com Reland #163711 after #163780 (flutter/flutter#163812)
2025-02-21 robert.ancell@canonical.com Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794)
2025-02-21 1961493+harryterkelsen@users.noreply.github.com [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688)
2025-02-21 flar@google.com [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766)
2025-02-21 matanlurey@users.noreply.github.com Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780)
2025-02-21 matanlurey@users.noreply.github.com Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768)
2025-02-21 nabilamevia2003@gmail.com WebKit should respect TextCapitalization.words (flutter/flutter#161027)
2025-02-21 victorsanniay@gmail.com CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089)
2025-02-21 65627237+lucas-goldner@users.noreply.github.com feat: Add selectionColor property to selectable text (flutter/flutter#162177)
2025-02-20 matanlurey@users.noreply.github.com Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747)
2025-02-20 yjbanov@google.com introduce system color palette (flutter/flutter#163335)
2025-02-20 kevmoo@users.noreply.github.com [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555)
2025-02-20 stanleycocoa@gmail.com fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932)
2025-02-20 reidbaker@google.com Create Android-API-And-Related-Versions.md (flutter/flutter#163556)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762)
2025-02-20 56849473+mariamhas@users.noreply.github.com Revert "Create g3_bug.yml" (flutter/flutter#163757)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753)
2025-02-20 magder@google.com Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685)
2025-02-20 engine-flutter-autoroll@skia.org Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705)
2025-02-20 matanlurey@users.noreply.github.com Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652)
2025-02-20 matanlurey@users.noreply.github.com Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711)
2025-02-20 matanlurey@users.noreply.github.com It is now safe to call `getBuildMode().release` (flutter/flutter#163712)
2025-02-20 jonahwilliams@google.com [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505)
2025-02-20 ueman@users.noreply.github.com Make Flutter version information accessible at runtime (flutter/flutter#140783)
2025-02-20 matej.knopp@gmail.com [windows] Implement merged UI and platform thread (flutter/flutter#162935)
2025-02-20 31642846+dbspoudel@users.noreply.github.com `CircularProgressIndicator` throws null exception (flutter/flutter#163356)
2025-02-20 ybz975218925@gmail.com Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874)
2025-02-20 codefu@google.com Check for tracked engine.version before overriding (flutter/flutter#163672)
2025-02-20 ybz975218925@gmail.com showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928)
2025-02-20 polinach@google.com Create helper method to dispatch object creation and disposal. (flutter/flutter#163637)
2025-02-20 15619084+vashworth@users.noreply.github.com Redistribute iOS TESTOWNERS (flutter/flutter#163653)
2025-02-20 31859944+LongCatIsLooong@users.noreply.github.com enclosingElement -> enclosingElement3 (flutter/flutter#163681)
2025-02-19 bkonyi@google.com [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619)
2025-02-19 jonahwilliams@google.com [iOS] always post new task during gesture dispatch. (flutter/flutter#163646)
2025-02-19 biggs0125@gmail.com Allow flutter tools to detach a running Chrome session (flutter/flutter#163349)
2025-02-19 flar@google.com Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645)
2025-02-19 yjbanov@google.com [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582)
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
)

Manual roll Flutter from 39b4951 to 911aa75 (56 revisions)

Manual roll requested by stuartmorgan@google.com

flutter/flutter@39b4951...911aa75

2025-02-21 bdero@google.com Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569)
2025-02-21 68449066+zijiehe-google-com@users.noreply.github.com [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844)
2025-02-21 engine-flutter-autoroll@skia.org Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832)
2025-02-21 matanlurey@users.noreply.github.com Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671)
2025-02-21 matanlurey@users.noreply.github.com Reland #163711 after #163780 (flutter/flutter#163812)
2025-02-21 robert.ancell@canonical.com Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794)
2025-02-21 1961493+harryterkelsen@users.noreply.github.com [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688)
2025-02-21 flar@google.com [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766)
2025-02-21 matanlurey@users.noreply.github.com Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780)
2025-02-21 matanlurey@users.noreply.github.com Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768)
2025-02-21 nabilamevia2003@gmail.com WebKit should respect TextCapitalization.words (flutter/flutter#161027)
2025-02-21 victorsanniay@gmail.com CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089)
2025-02-21 65627237+lucas-goldner@users.noreply.github.com feat: Add selectionColor property to selectable text (flutter/flutter#162177)
2025-02-20 matanlurey@users.noreply.github.com Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747)
2025-02-20 yjbanov@google.com introduce system color palette (flutter/flutter#163335)
2025-02-20 kevmoo@users.noreply.github.com [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555)
2025-02-20 stanleycocoa@gmail.com fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932)
2025-02-20 reidbaker@google.com Create Android-API-And-Related-Versions.md (flutter/flutter#163556)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762)
2025-02-20 56849473+mariamhas@users.noreply.github.com Revert "Create g3_bug.yml" (flutter/flutter#163757)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753)
2025-02-20 magder@google.com Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685)
2025-02-20 engine-flutter-autoroll@skia.org Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705)
2025-02-20 matanlurey@users.noreply.github.com Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652)
2025-02-20 matanlurey@users.noreply.github.com Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711)
2025-02-20 matanlurey@users.noreply.github.com It is now safe to call `getBuildMode().release` (flutter/flutter#163712)
2025-02-20 jonahwilliams@google.com [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505)
2025-02-20 ueman@users.noreply.github.com Make Flutter version information accessible at runtime (flutter/flutter#140783)
2025-02-20 matej.knopp@gmail.com [windows] Implement merged UI and platform thread (flutter/flutter#162935)
2025-02-20 31642846+dbspoudel@users.noreply.github.com `CircularProgressIndicator` throws null exception (flutter/flutter#163356)
2025-02-20 ybz975218925@gmail.com Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874)
2025-02-20 codefu@google.com Check for tracked engine.version before overriding (flutter/flutter#163672)
2025-02-20 ybz975218925@gmail.com showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928)
2025-02-20 polinach@google.com Create helper method to dispatch object creation and disposal. (flutter/flutter#163637)
2025-02-20 15619084+vashworth@users.noreply.github.com Redistribute iOS TESTOWNERS (flutter/flutter#163653)
2025-02-20 31859944+LongCatIsLooong@users.noreply.github.com enclosingElement -> enclosingElement3 (flutter/flutter#163681)
2025-02-19 bkonyi@google.com [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619)
2025-02-19 jonahwilliams@google.com [iOS] always post new task during gesture dispatch. (flutter/flutter#163646)
2025-02-19 biggs0125@gmail.com Allow flutter tools to detach a running Chrome session (flutter/flutter#163349)
2025-02-19 flar@google.com Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645)
2025-02-19 yjbanov@google.com [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582)
...
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
)

Manual roll Flutter from 39b4951 to 911aa75 (56 revisions)

Manual roll requested by stuartmorgan@google.com

flutter/flutter@39b4951...911aa75

2025-02-21 bdero@google.com Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569)
2025-02-21 68449066+zijiehe-google-com@users.noreply.github.com [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844)
2025-02-21 engine-flutter-autoroll@skia.org Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832)
2025-02-21 matanlurey@users.noreply.github.com Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671)
2025-02-21 matanlurey@users.noreply.github.com Reland #163711 after #163780 (flutter/flutter#163812)
2025-02-21 robert.ancell@canonical.com Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794)
2025-02-21 1961493+harryterkelsen@users.noreply.github.com [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688)
2025-02-21 flar@google.com [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766)
2025-02-21 matanlurey@users.noreply.github.com Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780)
2025-02-21 matanlurey@users.noreply.github.com Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768)
2025-02-21 nabilamevia2003@gmail.com WebKit should respect TextCapitalization.words (flutter/flutter#161027)
2025-02-21 victorsanniay@gmail.com CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089)
2025-02-21 65627237+lucas-goldner@users.noreply.github.com feat: Add selectionColor property to selectable text (flutter/flutter#162177)
2025-02-20 matanlurey@users.noreply.github.com Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747)
2025-02-20 yjbanov@google.com introduce system color palette (flutter/flutter#163335)
2025-02-20 kevmoo@users.noreply.github.com [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555)
2025-02-20 stanleycocoa@gmail.com fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932)
2025-02-20 reidbaker@google.com Create Android-API-And-Related-Versions.md (flutter/flutter#163556)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762)
2025-02-20 56849473+mariamhas@users.noreply.github.com Revert "Create g3_bug.yml" (flutter/flutter#163757)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753)
2025-02-20 magder@google.com Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685)
2025-02-20 engine-flutter-autoroll@skia.org Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705)
2025-02-20 matanlurey@users.noreply.github.com Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652)
2025-02-20 matanlurey@users.noreply.github.com Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711)
2025-02-20 matanlurey@users.noreply.github.com It is now safe to call `getBuildMode().release` (flutter/flutter#163712)
2025-02-20 jonahwilliams@google.com [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505)
2025-02-20 ueman@users.noreply.github.com Make Flutter version information accessible at runtime (flutter/flutter#140783)
2025-02-20 matej.knopp@gmail.com [windows] Implement merged UI and platform thread (flutter/flutter#162935)
2025-02-20 31642846+dbspoudel@users.noreply.github.com `CircularProgressIndicator` throws null exception (flutter/flutter#163356)
2025-02-20 ybz975218925@gmail.com Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874)
2025-02-20 codefu@google.com Check for tracked engine.version before overriding (flutter/flutter#163672)
2025-02-20 ybz975218925@gmail.com showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928)
2025-02-20 polinach@google.com Create helper method to dispatch object creation and disposal. (flutter/flutter#163637)
2025-02-20 15619084+vashworth@users.noreply.github.com Redistribute iOS TESTOWNERS (flutter/flutter#163653)
2025-02-20 31859944+LongCatIsLooong@users.noreply.github.com enclosingElement -> enclosingElement3 (flutter/flutter#163681)
2025-02-19 bkonyi@google.com [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619)
2025-02-19 jonahwilliams@google.com [iOS] always post new task during gesture dispatch. (flutter/flutter#163646)
2025-02-19 biggs0125@gmail.com Allow flutter tools to detach a running Chrome session (flutter/flutter#163349)
2025-02-19 flar@google.com Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645)
2025-02-19 yjbanov@google.com [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels. platform-web Web applications specifically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flutter Web: Google Chrome desktop mode shows blank page in portrait [Web] UI is stretched on mobile browser when Desktop Site is on

2 participants