-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Platform views shouldn't receive pointer events when not laid out #172043
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
Platform views shouldn't receive pointer events when not laid out #172043
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. |
|
This pull request has been changed to a draft. The currently pending flutter-gold status will not be able to resolve until a new commit is pushed or the change is marked ready for review again. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
0bb6ca1 to
e4e2bbd
Compare
e4e2bbd to
969d92b
Compare
dkwingsmt
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.
LGTM
flutter/flutter@9c626d9...440713c 2025-07-18 [email protected] Add OS version support section to plugin docs (flutter/flutter#172316) 2025-07-18 [email protected] Roll Dart SDK from 7fcc5f48c335 to fe2232bd5b9f (2 revisions) (flutter/flutter#172339) 2025-07-18 [email protected] Refactor handling of frame waiting. (flutter/flutter#172277) 2025-07-18 [email protected] Roll pub packages (flutter/flutter#172332) 2025-07-17 [email protected] Refactor and forbid `base/exit.dart` outside of `lib/runner.dart` (flutter/flutter#171923) 2025-07-17 [email protected] Use UTC timezone for `stamp_command_test` to avoid local TZ flakes (flutter/flutter#172319) 2025-07-17 [email protected] [web] Add tests for unified platform view embedding behavior (flutter/flutter#172313) 2025-07-17 [email protected] Platform views shouldn't receive pointer events when not laid out (flutter/flutter#172043) 2025-07-17 [email protected] Fix Size.isEmpty description (flutter/flutter#172021) 2025-07-17 [email protected] feat: Add `maxCount` parameter to `Badge.count` constructor. (flutter/flutter#171054) 2025-07-17 [email protected] add `debugPaintTextLayoutBoxes` for debugging text layout (flutter/flutter#168876) 2025-07-17 [email protected] Roll Packages from 4a231ae to cb8fef6 (31 revisions) (flutter/flutter#172303) 2025-07-17 [email protected] Fix mutating Paint bug (flutter/flutter#171180) 2025-07-17 [email protected] No SystemContextMenu when readOnly is true (flutter/flutter#171242) 2025-07-17 [email protected] Add a getter to get the recorder used by painting context (flutter/flutter#170223) 2025-07-17 [email protected] [Impeller] Add missing SetPipeline call for the vertices uber pipeline in AtlasContents (flutter/flutter#172273) 2025-07-17 [email protected] Roll Dart SDK from 486f9c0663bc to 7fcc5f48c335 (1 revision) (flutter/flutter#172279) 2025-07-17 [email protected] Roll Skia from 3673a1f26a63 to 9587301e33bc (3 revisions) (flutter/flutter#172281) 2025-07-17 [email protected] Fix a race in FlutterEngineTest.CanLogToStdout (flutter/flutter#172025) 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 [email protected],[email protected] 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
…utter#172043) This PR makes platform views ignore pointer events when they're not laid out. Platform views register themselves for global pointer events when their RenderBox attaches: https://github.com/flutter/flutter/blob/9c626d9f9afa6da96433e3bfc4895492f87e0009/packages/flutter/lib/src/rendering/platform_view.dart#L370-L380 But a RenderBox that is attached is not necessarily laid out. The problem in the issue seemed to be that a page was created offscreen (attached and not laid out), but it still received pointer events, and this caused errors with using `size` before layout. This PR simply ignores pointer events when not laid out. Fixes flutter#83481
…r#9646) flutter/flutter@9c626d9...440713c 2025-07-18 [email protected] Add OS version support section to plugin docs (flutter/flutter#172316) 2025-07-18 [email protected] Roll Dart SDK from 7fcc5f48c335 to fe2232bd5b9f (2 revisions) (flutter/flutter#172339) 2025-07-18 [email protected] Refactor handling of frame waiting. (flutter/flutter#172277) 2025-07-18 [email protected] Roll pub packages (flutter/flutter#172332) 2025-07-17 [email protected] Refactor and forbid `base/exit.dart` outside of `lib/runner.dart` (flutter/flutter#171923) 2025-07-17 [email protected] Use UTC timezone for `stamp_command_test` to avoid local TZ flakes (flutter/flutter#172319) 2025-07-17 [email protected] [web] Add tests for unified platform view embedding behavior (flutter/flutter#172313) 2025-07-17 [email protected] Platform views shouldn't receive pointer events when not laid out (flutter/flutter#172043) 2025-07-17 [email protected] Fix Size.isEmpty description (flutter/flutter#172021) 2025-07-17 [email protected] feat: Add `maxCount` parameter to `Badge.count` constructor. (flutter/flutter#171054) 2025-07-17 [email protected] add `debugPaintTextLayoutBoxes` for debugging text layout (flutter/flutter#168876) 2025-07-17 [email protected] Roll Packages from 4a231ae to cb8fef6 (31 revisions) (flutter/flutter#172303) 2025-07-17 [email protected] Fix mutating Paint bug (flutter/flutter#171180) 2025-07-17 [email protected] No SystemContextMenu when readOnly is true (flutter/flutter#171242) 2025-07-17 [email protected] Add a getter to get the recorder used by painting context (flutter/flutter#170223) 2025-07-17 [email protected] [Impeller] Add missing SetPipeline call for the vertices uber pipeline in AtlasContents (flutter/flutter#172273) 2025-07-17 [email protected] Roll Dart SDK from 486f9c0663bc to 7fcc5f48c335 (1 revision) (flutter/flutter#172279) 2025-07-17 [email protected] Roll Skia from 3673a1f26a63 to 9587301e33bc (3 revisions) (flutter/flutter#172281) 2025-07-17 [email protected] Fix a race in FlutterEngineTest.CanLogToStdout (flutter/flutter#172025) 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 [email protected],[email protected] 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
…utter#172043) This PR makes platform views ignore pointer events when they're not laid out. Platform views register themselves for global pointer events when their RenderBox attaches: https://github.com/flutter/flutter/blob/9c626d9f9afa6da96433e3bfc4895492f87e0009/packages/flutter/lib/src/rendering/platform_view.dart#L370-L380 But a RenderBox that is attached is not necessarily laid out. The problem in the issue seemed to be that a page was created offscreen (attached and not laid out), but it still received pointer events, and this caused errors with using `size` before layout. This PR simply ignores pointer events when not laid out. Fixes flutter#83481
…utter#172043) This PR makes platform views ignore pointer events when they're not laid out. Platform views register themselves for global pointer events when their RenderBox attaches: https://github.com/flutter/flutter/blob/9c626d9f9afa6da96433e3bfc4895492f87e0009/packages/flutter/lib/src/rendering/platform_view.dart#L370-L380 But a RenderBox that is attached is not necessarily laid out. The problem in the issue seemed to be that a page was created offscreen (attached and not laid out), but it still received pointer events, and this caused errors with using `size` before layout. This PR simply ignores pointer events when not laid out. Fixes flutter#83481
…utter#172043) This PR makes platform views ignore pointer events when they're not laid out. Platform views register themselves for global pointer events when their RenderBox attaches: https://github.com/flutter/flutter/blob/9c626d9f9afa6da96433e3bfc4895492f87e0009/packages/flutter/lib/src/rendering/platform_view.dart#L370-L380 But a RenderBox that is attached is not necessarily laid out. The problem in the issue seemed to be that a page was created offscreen (attached and not laid out), but it still received pointer events, and this caused errors with using `size` before layout. This PR simply ignores pointer events when not laid out. Fixes flutter#83481
This PR makes platform views ignore pointer events when they're not laid out.
Platform views register themselves for global pointer events when their RenderBox attaches:
flutter/packages/flutter/lib/src/rendering/platform_view.dart
Lines 370 to 380 in 9c626d9
But a RenderBox that is attached is not necessarily laid out. The problem in the issue seemed to be that a page was created offscreen (attached and not laid out), but it still received pointer events, and this caused errors with using
sizebefore layout.This PR simply ignores pointer events when not laid out.
Fixes #83481