-
Notifications
You must be signed in to change notification settings - Fork 29.7k
[web] Fix empty first frame in multiview mode #172493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
yjbanov
approved these changes
Jul 22, 2025
Contributor
yjbanov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 25, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 25, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 25, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 26, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 26, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 26, 2025
This was referenced Jul 26, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 27, 2025
azatech
pushed a commit
to azatech/flutter
that referenced
this pull request
Jul 28, 2025
The issue was caused by a stale `EngineFlutterView.physicalSize` that happened to be `Size(0, 0)` making rendering a no-op in the first frame. Fixes flutter#172397
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 28, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 28, 2025
auto-submit bot
pushed a commit
to flutter/packages
that referenced
this pull request
Jul 28, 2025
Roll Flutter from 20788c07fcb8 to cfbaa18bdecc (43 revisions) flutter/flutter@20788c0...cfbaa18 2025-07-28 [email protected] Remove shortner (flutter/flutter#172844) 2025-07-28 [email protected] Update `flutter pub get` to use `flutter.version.json` (instead of `version`) (flutter/flutter#172798) 2025-07-27 [email protected] Roll Fuchsia Linux SDK from i7RS-4iBtdndwa3Jy... to tK_PAaLeo0pUxi8hv... (flutter/flutter#172827) 2025-07-26 [email protected] Roll Fuchsia Linux SDK from 4IewCwqcEm7r4QsXd... to i7RS-4iBtdndwa3Jy... (flutter/flutter#172808) 2025-07-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "fix: get content hash for master on local engine branches (#172792)" (flutter/flutter#172805) 2025-07-26 [email protected] fix: build size_exp artifacts in post (flutter/flutter#172802) 2025-07-26 [email protected] fix: get content hash for master on local engine branches (flutter/flutter#172792) 2025-07-25 [email protected] Update `main`/`master` repoExceptions analysis set (flutter/flutter#172796) 2025-07-25 [email protected] Remove deprecated `--[no-]-disable-dds` (flutter/flutter#172791) 2025-07-25 [email protected] `last_engine_commit.ps1`: Use `$flutterRoot` instead of `$gitTopLevel` (flutter/flutter#172786) 2025-07-25 [email protected] Check file contents, remove tests that are now invalid (`: 'none'`) (flutter/flutter#172788) 2025-07-25 [email protected] windows: allow pwsh.bat wrapper (flutter/flutter#171778) 2025-07-25 [email protected] [Impeller] Log glCheckFrameBufferStatus output when it fails in blit pass. (flutter/flutter#172592) 2025-07-25 [email protected] Remove deprecated `AssetManifest.json` file (flutter/flutter#172594) 2025-07-25 [email protected] Refactor `verifyVersion` into typed `Version` object, use it (flutter/flutter#172780) 2025-07-25 [email protected] Bump the customer tests to pick up an update to Zulip's tests, for th… (flutter/flutter#172733) 2025-07-25 [email protected] Rename `AppRunLogger`, stop writing status messages that break JSON (flutter/flutter#172591) 2025-07-25 [email protected] Add `--dart-define`, `-D` to `assemble`, deprecate `--define`, `-d`. (flutter/flutter#172510) 2025-07-25 [email protected] Fix previous text input connection interrupts enter/space (flutter/flutter#171973) 2025-07-25 [email protected] Update CHANGELOG.md for 3.32.8 (flutter/flutter#172779) 2025-07-25 [email protected] Fix an `omit-type` lint that is breaking the tree (flutter/flutter#172776) 2025-07-25 [email protected] feat(tool): Respect user-data-dir flag from web-browser-flag (flutter/flutter#169445) 2025-07-25 [email protected] [web] Fix empty first frame in multiview mode (flutter/flutter#172493) 2025-07-25 [email protected] Migrate to null aware elements - Part 3 (flutter/flutter#172307) 2025-07-25 [email protected] Update few links in docs (flutter/flutter#172166) 2025-07-25 [email protected] Roll Skia from 768ace3fd144 to 409e1c7ba09b (1 revision) (flutter/flutter#172745) 2025-07-25 [email protected] Roll Fuchsia Linux SDK from a_55b5hqpRnigzuNC... to 4IewCwqcEm7r4QsXd... (flutter/flutter#172742) 2025-07-25 [email protected] Roll Skia from 094ac350125f to 768ace3fd144 (18 revisions) (flutter/flutter#172735) 2025-07-25 [email protected] Remove 2023 deprecated `'platforms'` key from daemon output (flutter/flutter#172593) 2025-07-24 [email protected] Manual roll of Dart from 26dece893751 to 5ede85aff798 (flutter/flutter#172731) 2025-07-24 [email protected] 169108 ci debug (flutter/flutter#172589) 2025-07-24 [email protected] Improve assertion message in `_MixedBorderRadius.resolve()` (flutter/flutter#172100) 2025-07-24 [email protected] Make sure that a BottomAppBar doesn't crash in 0x0 environment (flutter/flutter#172097) 2025-07-24 [email protected] Handle#6537 bottom navigation bar (flutter/flutter#172404) 2025-07-24 [email protected] Make sure that a MaterialBanner doesn't crash in 0x0 environment (flutter/flutter#172074) 2025-07-24 [email protected] Remove support for `pluginClass: none` (on `master`; `> 3.35.0`) (flutter/flutter#172579) 2025-07-24 [email protected] Make sure that a Card doesn't crash in 0x0 environment (flutter/flutter#172373) 2025-07-24 [email protected] Make sure that an AboutDialog doesn't crash in 0x0 environment (flutter/flutter#172444) 2025-07-24 [email protected] Make sure that an ActionChip doesn't crash in 0x0 environment (flutter/flutter#172684) 2025-07-24 [email protected] Delete (unused) `dev/checks_tool` directory (flutter/flutter#172715) 2025-07-24 [email protected] [Android] Add missing ci configuration for `Linux android_java17_tool_integration_tests` (flutter/flutter#172702) 2025-07-24 [email protected] Flutter-Cherrypick-Process.md - Spell cherry-pick consistently (flutter/flutter#172697) 2025-07-24 [email protected] Bringup `linux_web_engine_tests`; failing 4+ times in a row (flutter/flutter#172714) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: ...
vashworth
pushed a commit
to vashworth/packages
that referenced
this pull request
Jul 30, 2025
…r#9688) Roll Flutter from 20788c07fcb8 to cfbaa18bdecc (43 revisions) flutter/flutter@20788c0...cfbaa18 2025-07-28 [email protected] Remove shortner (flutter/flutter#172844) 2025-07-28 [email protected] Update `flutter pub get` to use `flutter.version.json` (instead of `version`) (flutter/flutter#172798) 2025-07-27 [email protected] Roll Fuchsia Linux SDK from i7RS-4iBtdndwa3Jy... to tK_PAaLeo0pUxi8hv... (flutter/flutter#172827) 2025-07-26 [email protected] Roll Fuchsia Linux SDK from 4IewCwqcEm7r4QsXd... to i7RS-4iBtdndwa3Jy... (flutter/flutter#172808) 2025-07-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "fix: get content hash for master on local engine branches (#172792)" (flutter/flutter#172805) 2025-07-26 [email protected] fix: build size_exp artifacts in post (flutter/flutter#172802) 2025-07-26 [email protected] fix: get content hash for master on local engine branches (flutter/flutter#172792) 2025-07-25 [email protected] Update `main`/`master` repoExceptions analysis set (flutter/flutter#172796) 2025-07-25 [email protected] Remove deprecated `--[no-]-disable-dds` (flutter/flutter#172791) 2025-07-25 [email protected] `last_engine_commit.ps1`: Use `$flutterRoot` instead of `$gitTopLevel` (flutter/flutter#172786) 2025-07-25 [email protected] Check file contents, remove tests that are now invalid (`: 'none'`) (flutter/flutter#172788) 2025-07-25 [email protected] windows: allow pwsh.bat wrapper (flutter/flutter#171778) 2025-07-25 [email protected] [Impeller] Log glCheckFrameBufferStatus output when it fails in blit pass. (flutter/flutter#172592) 2025-07-25 [email protected] Remove deprecated `AssetManifest.json` file (flutter/flutter#172594) 2025-07-25 [email protected] Refactor `verifyVersion` into typed `Version` object, use it (flutter/flutter#172780) 2025-07-25 [email protected] Bump the customer tests to pick up an update to Zulip's tests, for th… (flutter/flutter#172733) 2025-07-25 [email protected] Rename `AppRunLogger`, stop writing status messages that break JSON (flutter/flutter#172591) 2025-07-25 [email protected] Add `--dart-define`, `-D` to `assemble`, deprecate `--define`, `-d`. (flutter/flutter#172510) 2025-07-25 [email protected] Fix previous text input connection interrupts enter/space (flutter/flutter#171973) 2025-07-25 [email protected] Update CHANGELOG.md for 3.32.8 (flutter/flutter#172779) 2025-07-25 [email protected] Fix an `omit-type` lint that is breaking the tree (flutter/flutter#172776) 2025-07-25 [email protected] feat(tool): Respect user-data-dir flag from web-browser-flag (flutter/flutter#169445) 2025-07-25 [email protected] [web] Fix empty first frame in multiview mode (flutter/flutter#172493) 2025-07-25 [email protected] Migrate to null aware elements - Part 3 (flutter/flutter#172307) 2025-07-25 [email protected] Update few links in docs (flutter/flutter#172166) 2025-07-25 [email protected] Roll Skia from 768ace3fd144 to 409e1c7ba09b (1 revision) (flutter/flutter#172745) 2025-07-25 [email protected] Roll Fuchsia Linux SDK from a_55b5hqpRnigzuNC... to 4IewCwqcEm7r4QsXd... (flutter/flutter#172742) 2025-07-25 [email protected] Roll Skia from 094ac350125f to 768ace3fd144 (18 revisions) (flutter/flutter#172735) 2025-07-25 [email protected] Remove 2023 deprecated `'platforms'` key from daemon output (flutter/flutter#172593) 2025-07-24 [email protected] Manual roll of Dart from 26dece893751 to 5ede85aff798 (flutter/flutter#172731) 2025-07-24 [email protected] 169108 ci debug (flutter/flutter#172589) 2025-07-24 [email protected] Improve assertion message in `_MixedBorderRadius.resolve()` (flutter/flutter#172100) 2025-07-24 [email protected] Make sure that a BottomAppBar doesn't crash in 0x0 environment (flutter/flutter#172097) 2025-07-24 [email protected] Handle#6537 bottom navigation bar (flutter/flutter#172404) 2025-07-24 [email protected] Make sure that a MaterialBanner doesn't crash in 0x0 environment (flutter/flutter#172074) 2025-07-24 [email protected] Remove support for `pluginClass: none` (on `master`; `> 3.35.0`) (flutter/flutter#172579) 2025-07-24 [email protected] Make sure that a Card doesn't crash in 0x0 environment (flutter/flutter#172373) 2025-07-24 [email protected] Make sure that an AboutDialog doesn't crash in 0x0 environment (flutter/flutter#172444) 2025-07-24 [email protected] Make sure that an ActionChip doesn't crash in 0x0 environment (flutter/flutter#172684) 2025-07-24 [email protected] Delete (unused) `dev/checks_tool` directory (flutter/flutter#172715) 2025-07-24 [email protected] [Android] Add missing ci configuration for `Linux android_java17_tool_integration_tests` (flutter/flutter#172702) 2025-07-24 [email protected] Flutter-Cherrypick-Process.md - Spell cherry-pick consistently (flutter/flutter#172697) 2025-07-24 [email protected] Bringup `linux_web_engine_tests`; failing 4+ times in a row (flutter/flutter#172714) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: ...
ksokolovskyi
pushed a commit
to ksokolovskyi/flutter
that referenced
this pull request
Aug 19, 2025
The issue was caused by a stale `EngineFlutterView.physicalSize` that happened to be `Size(0, 0)` making rendering a no-op in the first frame. Fixes flutter#172397
mboetger
pushed a commit
to mboetger/flutter
that referenced
this pull request
Sep 18, 2025
The issue was caused by a stale `EngineFlutterView.physicalSize` that happened to be `Size(0, 0)` making rendering a no-op in the first frame. Fixes flutter#172397
korca0220
pushed a commit
to korca0220/flutter
that referenced
this pull request
Sep 22, 2025
The issue was caused by a stale `EngineFlutterView.physicalSize` that happened to be `Size(0, 0)` making rendering a no-op in the first frame. Fixes flutter#172397
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Nov 12, 2025
lucaantonelli
pushed a commit
to lucaantonelli/flutter
that referenced
this pull request
Nov 21, 2025
The issue was caused by a stale `EngineFlutterView.physicalSize` that happened to be `Size(0, 0)` making rendering a no-op in the first frame. Fixes flutter#172397
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 15, 2025
Fixes #175074 There was an implicit expectation in the resizing code: When the virtual keyboard is up on mobile, the view's `physicalSize` remains fixed, and any resizes (presumably caused by the virtual keyboard itself) should be considered as `viewInsets`. This expectation was broken inadvertently by my PR: #172493 <hr> The sequence of events that lead to the reported issue: 1. View's physical size is calculated based on window size. 2. Text editing starts, virtual keyboard comes up. 3. View's physical size remains unchanged, and the difference caused by the keyboard is reported as view insets to the framework. 4. (so far so good). 5. When `resizeToAvoidBottomInset` is true, the framework will re-render its content to fit the available size. 6. The new render call comes with a new size that's basically `physical height - bottom inset`. 7. The engine takes that new size and applies it to the DOM. 8. (now the view's DOM element has been resized incorrectly). 9. ... 10. Eventually, this leads to the new insets being calculated incorrectly resulting in negative insets which cause the framework to throw. <hr> The fix involves the following: 1. Respect the expectation mentioned above: when the keyboard is up, view's physical size should remain unchanged. 2. *_If_* we ever end up with negative insets, catch it earlier in the engine so it's easier to debug the root cause. 3. New regression test.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

The issue was caused by a stale
EngineFlutterView.physicalSizethat happened to beSize(0, 0)making rendering a no-op in the first frame.Fixes #172397