-
Notifications
You must be signed in to change notification settings - Fork 29.8k
FlutterWindowsView::SendWindowMetrics now reliably sends the display_id #179053
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
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging. If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
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.
Code Review
This pull request correctly adds the display_id to the FlutterWindowMetricsEvent in SendWindowMetrics, addressing the issue of it being defaulted to zero. My main feedback is regarding testing: the new unit test seems to be testing CreateWindowMetricsEvent instead of the modified SendWindowMetrics function. It would be beneficial to add a test that directly covers the changes in SendWindowMetrics to ensure its correctness and prevent future regressions.
| void FlutterWindowsView::SendWindowMetrics(size_t width, | ||
| size_t height, | ||
| double pixel_ratio) const { |
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.
While this change correctly adds the display_id, the new unit test WindowMetricsEventContainsDisplayId appears to test CreateWindowMetricsEvent rather than this function (SendWindowMetrics). This leaves the modification in SendWindowMetrics without direct test coverage. To ensure this change is properly verified and prevent future regressions, please consider adding a test that specifically targets SendWindowMetrics. A possible approach is to create a test that calls OnWindowSizeChanged (which in turn calls this function) and mocks FlutterEngine::SendWindowMetricsEvent to inspect the event payload, similar to how WindowResizeTests is implemented.
loic-sharma
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.
Thanks for fixing this!
…id (flutter#179053) fixes flutter#178982 This payload used to not matter (since the display ID was always zero), but now not setting the display ID results in the display ID to be set to zero. That is unfortunate, but this is a good fix for now! ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
flutter/flutter@3f553f6...7b98d50 2025-11-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Fix for win32 embedder failing to send all alt key downs to the flutter app (#179097)" (flutter/flutter#179136) 2025-11-26 matt.kosarek@canonical.com Fix for win32 embedder failing to send all alt key downs to the flutter app (flutter/flutter#179097) 2025-11-26 katelovett@google.com Modernize framework lints (flutter/flutter#179089) 2025-11-25 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add framework-side hitTestBehavior support to Semantics (#178817)" (flutter/flutter#179100) 2025-11-25 zhongliu88889@gmail.com Add framework-side hitTestBehavior support to Semantics (flutter/flutter#178817) 2025-11-25 engine-flutter-autoroll@skia.org Roll Packages from e019cf9 to cc3dca6 (1 revision) (flutter/flutter#179081) 2025-11-25 matt.kosarek@canonical.com Add tooltip windows to the windowing API alongside the window positioning logic (flutter/flutter#177404) 2025-11-25 matt.kosarek@canonical.com FlutterWindowsView::SendWindowMetrics now reliably sends the display_id (flutter/flutter#179053) 2025-11-25 31859944+LongCatIsLooong@users.noreply.github.com Remove semantics geometry shortcircuit (flutter/flutter#178680) 2025-11-25 bruno.leroux@gmail.com Add an assert message when OverlayEntry.remove is called twice (flutter/flutter#178163) 2025-11-25 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from pOO9Jl9HTLsEmks6y... to nzuAxCJGeJbkZCTkr... (flutter/flutter#179066) 2025-11-25 okorohelijah@google.com Dynamically set MinimumOSVersion in App.framework (flutter/flutter#178253) 2025-11-25 engine-flutter-autoroll@skia.org Roll Skia from d83c30b090f4 to 925c311f4b37 (2 revisions) (flutter/flutter#179060) 2025-11-25 fluttergithubbot@gmail.com Marks Linux build_android_host_app_with_module_aar to be unflaky (flutter/flutter#174864) 2025-11-25 fluttergithubbot@gmail.com Marks Linux_mokey complex_layout__start_up to be unflaky (flutter/flutter#174865) 2025-11-25 vegorov@google.com Manual Dart SDK roll to 3.11.0-169.0.dev (flutter/flutter#179054) 2025-11-25 katelovett@google.com Bump Dart to 3.9 (flutter/flutter#179041) 2025-11-25 engine-flutter-autoroll@skia.org Roll Skia from e298c2f93ebf to d83c30b090f4 (2 revisions) (flutter/flutter#179058) 2025-11-24 30870216+gaaclarke@users.noreply.github.com updated licenses_cpp readme (flutter/flutter#178874) 2025-11-24 engine-flutter-autoroll@skia.org Roll Skia from 43d2020be565 to e298c2f93ebf (5 revisions) (flutter/flutter#179046) 2025-11-24 116356835+AbdeMohlbi@users.noreply.github.com Refactor `_isLabel` method in `stepper.dart` to use `any` for better readablity (flutter/flutter#178909) 2025-11-24 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 5 to 6 in the all-github-actions group (flutter/flutter#179049) 2025-11-24 38378650+hgraceb@users.noreply.github.com Disposes test restoration manager when accessed by bindings (flutter/flutter#176519) 2025-11-24 bkonyi@google.com [ Widget Preview ] Always generate scaffold under `$TMP` (flutter/flutter#179039) 2025-11-24 engine-flutter-autoroll@skia.org Roll Packages from e67b6be to e019cf9 (9 revisions) (flutter/flutter#179035) 2025-11-24 1063596+reidbaker@users.noreply.github.com Update CHANGELOG.md for Flutter 3.38.3 (flutter/flutter#178935) 2025-11-24 116356835+AbdeMohlbi@users.noreply.github.com Remove unnecessary `String.valueOf` in `SettingsChannel.java` (flutter/flutter#178590) 2025-11-24 katelovett@google.com Roll pub manually, pick up flutter_lints in examples/api (flutter/flutter#179030) 2025-11-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 24cc9a740bd3 to afca43095efa (1 revision) (flutter/flutter#179019) 2025-11-24 zezohassam@gmail.com Pass EXCLUDED_ARCHS from Xcode project to xcodebuild for macOS builds (flutter/flutter#176948) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…id (flutter#179053) fixes flutter#178982 This payload used to not matter (since the display ID was always zero), but now not setting the display ID results in the display ID to be set to zero. That is unfortunate, but this is a good fix for now! ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
…id (flutter#179053) fixes flutter#178982 This payload used to not matter (since the display ID was always zero), but now not setting the display ID results in the display ID to be set to zero. That is unfortunate, but this is a good fix for now! ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
fixes #178982
This payload used to not matter (since the display ID was always zero), but now not setting the display ID results in the display ID to be set to zero. That is unfortunate, but this is a good fix for now!
Pre-launch Checklist
///).