-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Make SemanticsNode.isMergedIntoParent Readonly
#137304
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
Make SemanticsNode.isMergedIntoParent Readonly
#137304
Conversation
7acfe53 to
dd4ac35
Compare
This comment was marked as outdated.
This comment was marked as outdated.
dfa329c to
d364557
Compare
| configuration.isHidden = paintRect.isEmpty && !currentRect.isEmpty; | ||
| } | ||
| late final SemanticsNode newChild; | ||
| final SemanticsNode newChild; |
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.
(I wish we had a lint for this, https://github.com/dart-lang/linter/issues/4365)
| _children?.forEach(_redepthChild); | ||
| } | ||
|
|
||
| void _updateChildMergeFlag(SemanticsNode child) { |
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.
Maybe add a recursively to this method name to indicate that it will also do so for the child's children (similarly to other methods like that that we have in the framework).
| if (!rootSemanticsNode.mergeAllDescendantsIntoThisNode) { | ||
| rootSemanticsNode.visitChildren(findInvisibleNodes); | ||
| } else if (rootSemanticsNode.childrenCount > 0 && rootSemanticsNode.rect.isEmpty) { | ||
| invisibleNodes.add(rootSemanticsNode); | ||
| } |
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.
Shouldn't the rootSemanticsNode also be considered invisible if it doesn't merge all descendants into it, has a childrenCount > 0, and an empty rect?
In other words, in the if branch, why is the rootNode not considered invisible if it has children and and empty rect?
| // Once the tree is up-to-date, verify that there's no invisible nodes in it. | ||
| assert(() { | ||
| final List<SemanticsNode> invisibleNodes = <SemanticsNode>[]; | ||
| bool findInvisibleNodes(SemanticsNode rootNode) { |
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.
Maybe rename the name rootNode to just node here? It gets a little confusing because this is not necessarily gonna be the root root node for every call?
goderbauer
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
Roll Flutter from c555599 to 5907c97 (45 revisions) flutter/flutter@c555599...5907c97 2023-10-27 [email protected] Add `isLogicalKeyPressed` to `KeyEvent` (flutter/flutter#136856) 2023-10-27 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Ensure `flutter build apk --release` optimizes+shrinks platform code" (flutter/flutter#137433) 2023-10-27 [email protected] Roll Flutter Engine from bedc49efc85c to a198ad4e740d (20 revisions) (flutter/flutter#137429) 2023-10-27 [email protected] Make `SemanticsNode.isMergedIntoParent` Readonly (flutter/flutter#137304) 2023-10-27 [email protected] Manual roll Flutter Engine from bedc49efc85c to 71e1a0430232 (16 revisions) (flutter/flutter#137422) 2023-10-27 [email protected] Roll Packages from fea24c5 to 2af6954 (5 revisions) (flutter/flutter#137421) 2023-10-27 [email protected] Run tests on either macOS 12 or 13 (flutter/flutter#137365) 2023-10-27 [email protected] Revert "Update `DataTable` test when data row is pressed for Material 3 (#137230)" (flutter/flutter#137407) 2023-10-27 [email protected] Revert "Reland - Update `OutlinedButton` tests for Material 3 (#136809) (#137247)" (flutter/flutter#137406) 2023-10-27 [email protected] Ensure `flutter build apk --release` optimizes+shrinks platform code (flutter/flutter#136880) 2023-10-27 [email protected] Update `DataTable` test when data row is pressed for Material 3 (flutter/flutter#137230) 2023-10-27 [email protected] Reland - Update `OutlinedButton` tests for Material 3 (#136809) (flutter/flutter#137247) 2023-10-27 [email protected] update asset manifest file name referenced in `WebServiceWorker` (flutter/flutter#135954) 2023-10-27 [email protected] give `throwsToolExit` a more useful description (flutter/flutter#136694) 2023-10-27 [email protected] Add ConstrainedLayoutBuilder.updateShouldRebuild() (flutter/flutter#136691) 2023-10-27 [email protected] Fix. typos (flutter/flutter#137325) 2023-10-27 [email protected] Roll Flutter Engine from 87f384c2d70b to bedc49efc85c (1 revision) (flutter/flutter#137382) 2023-10-26 [email protected] Fix Typos (flutter/flutter#137292) 2023-10-26 [email protected] AnimationController should dispatch creation in constructor. (flutter/flutter#134839) 2023-10-26 [email protected] Roll Flutter Engine from 9788bb9ff83e to 87f384c2d70b (4 revisions) (flutter/flutter#137380) 2023-10-26 [email protected] Roll Flutter Engine from ce1c1ee54107 to 9788bb9ff83e (3 revisions) (flutter/flutter#137373) 2023-10-26 [email protected] Marks Windows_arm64 windows_startup_test to be unflaky (flutter/flutter#137228) 2023-10-26 [email protected] Marks Windows_arm64 flutter_tool_startup__windows to be unflaky (flutter/flutter#137229) 2023-10-26 [email protected] Marks Windows_arm64 windows_home_scroll_perf__timeline_summary to be unflaky (flutter/flutter#137221) 2023-10-26 [email protected] Declare dependency on copyFlutterAssetsTask in bundleAarTask (flutter/flutter#137370) 2023-10-26 [email protected] Marks Windows_arm64 complex_layout_win_desktop__start_up to be unflaky (flutter/flutter#137225) 2023-10-26 [email protected] Roll Flutter Engine from 394744d2c4d0 to ce1c1ee54107 (2 revisions) (flutter/flutter#137367) 2023-10-26 [email protected] Marks Windows_arm64 hot_mode_dev_cycle_win_target__benchmark to be unflaky (flutter/flutter#137217) 2023-10-26 [email protected] Marks Windows_arm64 flutter_view_win_desktop__start_up to be unflaky (flutter/flutter#137226) 2023-10-26 [email protected] Marks Windows_arm64 platform_view_win_desktop__start_up to be unflaky (flutter/flutter#137227) 2023-10-26 [email protected] Marks Windows_arm64 flutter_gallery_win_desktop__start_up to be unflaky (flutter/flutter#137224) 2023-10-26 [email protected] Marks Windows_arm64 hello_world_win_desktop__compile to be unflaky (flutter/flutter#137222) 2023-10-26 [email protected] Marks Windows_arm64 flutter_gallery_win_desktop__compile to be unflaky (flutter/flutter#137223) 2023-10-26 [email protected] Marks Windows_arm64 run_release_test_windows to be unflaky (flutter/flutter#137220) 2023-10-26 [email protected] Fix dislocated doc and comment on ThemeData localize cache (flutter/flutter#137315) 2023-10-26 [email protected] Marks Windows_arm64 platform_channel_sample_test_windows to be unflaky (flutter/flutter#137218) 2023-10-26 [email protected] Roll Flutter Engine from 7c5c8f587992 to 394744d2c4d0 (1 revision) (flutter/flutter#137364) 2023-10-26 [email protected] Roll Flutter Engine from 9363fe6ba503 to 7c5c8f587992 (3 revisions) (flutter/flutter#137363) 2023-10-26 [email protected] Roll Flutter Engine from 542f8bc4c019 to 9363fe6ba503 (2 revisions) (flutter/flutter#137354) 2023-10-26 [email protected] Unified analytics events for doctor validators (flutter/flutter#136647) 2023-10-26 [email protected] Roll Flutter Engine from d8132d5070bf to 542f8bc4c019 (2 revisions) (flutter/flutter#137349) 2023-10-26 [email protected] Marks Windows_arm64 run_debug_test_windows to be unflaky (flutter/flutter#137219) 2023-10-26 [email protected] Roll Flutter Engine from 0a6253dbfafd to d8132d5070bf (1 revision) (flutter/flutter#137347) 2023-10-26 [email protected] Roll Flutter Engine from 5da115661f01 to 0a6253dbfafd (1 revision) (flutter/flutter#137341) 2023-10-26 [email protected] Roll Flutter Engine from 61ae5ef94e9c to 5da115661f01 (1 revision) (flutter/flutter#137340) ...
This PR flutter/flutter#137304 makes SemanticsNode.isMergedIntoParent readonly, which makes the customized scrollable.dart incompatible.
This PR flutter/flutter#137304 makes SemanticsNode.isMergedIntoParent readonly, which makes the customized scrollable.dart incompatible when using flutter version 3.18 and upwards
This PR flutter/flutter#137304 makes SemanticsNode.isMergedIntoParent readonly, which makes the customized scrollable.dart incompatible.
Fixes #54665
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.