Skip to content

Conversation

@LongCatIsLooong
Copy link
Contributor

@LongCatIsLooong LongCatIsLooong commented Mar 1, 2024

Nobody calls it except for markNeedsLayout, and the render object is a guaranteed relayout boundary.

Pre-launch Checklist

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

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Mar 1, 2024
@goderbauer
Copy link
Member

Nobody calls it except for markNeedsLayout, and the render object is a guaranteed relayout boundary.

For my own understanding: We can remove this because the object is always a relayout boundary and RenderObject.markNeedsLayout only calls markParentNeedsLayout for render objects that are not relayout boundaries?

What about the instances where markParentNeedsLayout is called from markNeedsLayoutForSizedByParentChange? Or in the RenderBox.markNeedsLayout override?

Copy link
Member

Choose a reason for hiding this comment

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

This override is mentioned in a comment in line 2191 as a crucial feature. Can you update that comment with the new findings?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated that comment.

@LongCatIsLooong LongCatIsLooong force-pushed the monomorphic-markParentNeedsLayout branch from 11c6903 to c4b479d Compare March 4, 2024 20:40
@LongCatIsLooong
Copy link
Contributor Author

Nobody calls it except for markNeedsLayout, and the render object is a guaranteed relayout boundary.

For my own understanding: We can remove this because the object is always a relayout boundary and RenderObject.markNeedsLayout only calls markParentNeedsLayout for render objects that are not relayout boundaries?

What about the instances where markParentNeedsLayout is called from markNeedsLayoutForSizedByParentChange? Or in the RenderBox.markNeedsLayout override?

Yeah for relayout boundaries markNeedsLayout doesn't call markParentNeedsLayout. Instead it adds the node to the PipelineOwner's dirty list. For this RenderObject sizedByParent is always true so markNeedsLayoutForSizedByParentChange will never be called. For RenderBox.markNeedsLayout I think we don't have to dirty OverlayPortal's render box (since its intrinsic dimensions / baseline offset don't depend on the layout of the overlay child), so the RenderBox.markNeedsLayout implementation should just work for _RenderDeferredLayoutBox.

Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

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

LGTM

@LongCatIsLooong LongCatIsLooong added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 4, 2024
@auto-submit auto-submit bot merged commit de0ccf3 into flutter:master Mar 4, 2024
@LongCatIsLooong LongCatIsLooong deleted the monomorphic-markParentNeedsLayout branch March 4, 2024 22:27
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 5, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Mar 5, 2024
flutter/flutter@65cd84b...3b5a2ec

2024-03-05 [email protected] Roll Flutter Engine from 17a4b66e0729 to 8916bb32b7b8 (1 revision) (flutter/flutter#144615)
2024-03-05 [email protected] Roll Flutter Engine from d514a302cdff to 17a4b66e0729 (8 revisions) (flutter/flutter#144607)
2024-03-05 [email protected] Do not shorten native assets framework names (flutter/flutter#144568)
2024-03-05 [email protected] Restorable CupertinoTextFormFieldRow (flutter/flutter#144541)
2024-03-05 [email protected] Updated the TextButton image button example artwork (flutter/flutter#144583)
2024-03-05 [email protected] Roll Flutter Engine from 728aa4ef05d4 to d514a302cdff (2 revisions) (flutter/flutter#144581)
2024-03-05 [email protected] Roll Flutter Engine from 62cf93be60b2 to 728aa4ef05d4 (3 revisions) (flutter/flutter#144578)
2024-03-05 [email protected] Disable super flakey impeller test. (flutter/flutter#144573)
2024-03-04 [email protected] Roll Flutter Engine from 40018811ec0e to 62cf93be60b2 (1 revision) (flutter/flutter#144572)
2024-03-04 [email protected] Roll Flutter Engine from 0d8588b1de7a to 40018811ec0e (6 revisions) (flutter/flutter#144570)
2024-03-04 [email protected] Print warning and exit when iOS device is unpaired (flutter/flutter#144551)
2024-03-04 [email protected] Roll Flutter Engine from a31209171949 to 0d8588b1de7a (1 revision) (flutter/flutter#144558)
2024-03-04 [email protected] Remove unnecessary (and the only) `RenderObject.markParentNeedsLayout` override (flutter/flutter#144466)
2024-03-04 [email protected] Fix text color for default CupertinoContextMenuAction (flutter/flutter#144542)
2024-03-04 [email protected] Add missing parameter to `TableBorder.symmetric`, and improve class constructors (flutter/flutter#144279)
2024-03-04 [email protected] Fix build mode not propagated in android native asset build (flutter/flutter#144550)
2024-03-04 [email protected] Roll Packages from a9c68b8 to 0625827 (3 revisions) (flutter/flutter#144556)
2024-03-04 [email protected] Roll Flutter Engine from afd2d9f9421d to a31209171949 (1 revision) (flutter/flutter#144554)
2024-03-04 [email protected] Doc fix for `DropdownButtonFormField.value` (flutter/flutter#144427)
2024-03-04 [email protected] Fix Small Typo in Skia_Client Doc Comment (flutter/flutter#144490)
2024-03-04 [email protected] Roll Flutter Engine from 2338a557e018 to afd2d9f9421d (1 revision) (flutter/flutter#144549)
2024-03-04 [email protected] [Windows] Update keyboard modifiers link (flutter/flutter#144426)
2024-03-04 [email protected] Roll Flutter Engine from 9cbca80e2196 to 2338a557e018 (2 revisions) (flutter/flutter#144545)
2024-03-04 [email protected] Roll Flutter Engine from c52b3033eca6 to 9cbca80e2196 (1 revision) (flutter/flutter#144523)
2024-03-04 [email protected] Roll Flutter Engine from 024ea680ceed to c52b3033eca6 (1 revision) (flutter/flutter#144522)
2024-03-03 [email protected] Roll Flutter Engine from 2706c732b22a to 024ea680ceed (1 revision) (flutter/flutter#144519)

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
LouiseHsu pushed a commit to LouiseHsu/packages that referenced this pull request Mar 7, 2024
flutter/flutter@65cd84b...3b5a2ec

2024-03-05 [email protected] Roll Flutter Engine from 17a4b66e0729 to 8916bb32b7b8 (1 revision) (flutter/flutter#144615)
2024-03-05 [email protected] Roll Flutter Engine from d514a302cdff to 17a4b66e0729 (8 revisions) (flutter/flutter#144607)
2024-03-05 [email protected] Do not shorten native assets framework names (flutter/flutter#144568)
2024-03-05 [email protected] Restorable CupertinoTextFormFieldRow (flutter/flutter#144541)
2024-03-05 [email protected] Updated the TextButton image button example artwork (flutter/flutter#144583)
2024-03-05 [email protected] Roll Flutter Engine from 728aa4ef05d4 to d514a302cdff (2 revisions) (flutter/flutter#144581)
2024-03-05 [email protected] Roll Flutter Engine from 62cf93be60b2 to 728aa4ef05d4 (3 revisions) (flutter/flutter#144578)
2024-03-05 [email protected] Disable super flakey impeller test. (flutter/flutter#144573)
2024-03-04 [email protected] Roll Flutter Engine from 40018811ec0e to 62cf93be60b2 (1 revision) (flutter/flutter#144572)
2024-03-04 [email protected] Roll Flutter Engine from 0d8588b1de7a to 40018811ec0e (6 revisions) (flutter/flutter#144570)
2024-03-04 [email protected] Print warning and exit when iOS device is unpaired (flutter/flutter#144551)
2024-03-04 [email protected] Roll Flutter Engine from a31209171949 to 0d8588b1de7a (1 revision) (flutter/flutter#144558)
2024-03-04 [email protected] Remove unnecessary (and the only) `RenderObject.markParentNeedsLayout` override (flutter/flutter#144466)
2024-03-04 [email protected] Fix text color for default CupertinoContextMenuAction (flutter/flutter#144542)
2024-03-04 [email protected] Add missing parameter to `TableBorder.symmetric`, and improve class constructors (flutter/flutter#144279)
2024-03-04 [email protected] Fix build mode not propagated in android native asset build (flutter/flutter#144550)
2024-03-04 [email protected] Roll Packages from a9c68b8 to 0625827 (3 revisions) (flutter/flutter#144556)
2024-03-04 [email protected] Roll Flutter Engine from afd2d9f9421d to a31209171949 (1 revision) (flutter/flutter#144554)
2024-03-04 [email protected] Doc fix for `DropdownButtonFormField.value` (flutter/flutter#144427)
2024-03-04 [email protected] Fix Small Typo in Skia_Client Doc Comment (flutter/flutter#144490)
2024-03-04 [email protected] Roll Flutter Engine from 2338a557e018 to afd2d9f9421d (1 revision) (flutter/flutter#144549)
2024-03-04 [email protected] [Windows] Update keyboard modifiers link (flutter/flutter#144426)
2024-03-04 [email protected] Roll Flutter Engine from 9cbca80e2196 to 2338a557e018 (2 revisions) (flutter/flutter#144545)
2024-03-04 [email protected] Roll Flutter Engine from c52b3033eca6 to 9cbca80e2196 (1 revision) (flutter/flutter#144523)
2024-03-04 [email protected] Roll Flutter Engine from 024ea680ceed to c52b3033eca6 (1 revision) (flutter/flutter#144522)
2024-03-03 [email protected] Roll Flutter Engine from 2706c732b22a to 024ea680ceed (1 revision) (flutter/flutter#144519)

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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants