Skip to content

Refactor layout dimensions#184066

Merged
auto-submit[bot] merged 3 commits into
flutter:masterfrom
Piinks:sliver-layout-dimensions-refactor
Mar 24, 2026
Merged

Refactor layout dimensions#184066
auto-submit[bot] merged 3 commits into
flutter:masterfrom
Piinks:sliver-layout-dimensions-refactor

Conversation

@Piinks

@Piinks Piinks commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

This PR completes an old TODO by refactoring how SliverLayoutDimensions are accessed and managed within RenderSliverFixedExtentBoxAdaptor and its subclasses.

Previously, several subclasses of RenderSliverFixedExtentBoxAdaptor (such as RenderTreeSliver and RenderCarousel) were manually maintaining their own local layoutDimensions fields and updating them during performLayout. This PR centralizes that logic into the base class, providing a unified and public way to access these dimensions.

  • RenderSliverFixedExtentBoxAdaptor (base class):
    • Introduced a public layoutDimensions getter. This getter returns the dimensions from the most recent layout pass, or a default based on current constraints if layout is still in progress.
    • Added a paintExtentOf override to simplify extent calculations for subclasses.
      • This is not strictly part of the refactor. RenderSliverMultiBoxAdaptor already defines paintExtentOf, but this provides an optimization for RenderSliverFixedExtentBoxAdaptor by using itemExtent or itemExtentBuilder instead of relying on child.hasSize. This is especially useful for calculating visibility without a full layout.
    • Moved the management of the internal _currentLayoutDimensions field to the base class.
  • RenderTreeSliver:
    • Removed the redundant local layoutDimensions field and its manual assignment.
    • Removed the "yak shave" TODO that previously noted this refactor was needed.
  • RenderCarousel & _RenderSliverWeightedCarousel:
    • Removed redundant local layoutDimensions fields and manual assignments in
      performLayout.

Pre-launch Checklist

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

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@Piinks Piinks requested a review from QuncCccccc March 24, 2026 15:07
@github-actions github-actions Bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. f: scrolling Viewports, list views, slivers, etc. labels Mar 24, 2026
@Piinks Piinks added the CICD Run CI/CD label Mar 24, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

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 refactors the handling of SliverLayoutDimensions by introducing a public layoutDimensions getter in RenderSliverFixedExtentBoxAdaptor and removing redundant private fields in its subclasses. It also adds an optimized paintExtentOf override. The review suggests improving the documentation for both the new layoutDimensions getter and the paintExtentOf override to provide clearer explanations of their behavior and purpose, in line with the repository's style guide.

Comment thread packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart
Comment thread packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart
late SliverLayoutDimensions _currentLayoutDimensions;

@override
void performLayout() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Drive by nit: Since this now just calls super, it can be omitted?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thank you! Just cleaning this up now. 😅 I've been working with an agent on a larger change, pulled this out to land separately, but missed this in my first tidying pass.

@github-actions github-actions Bot removed the CICD Run CI/CD label Mar 24, 2026
@Piinks Piinks added the CICD Run CI/CD label Mar 24, 2026
@github-actions github-actions Bot removed the CICD Run CI/CD label Mar 24, 2026
@Piinks Piinks added the CICD Run CI/CD label Mar 24, 2026

@QuncCccccc QuncCccccc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 24, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue Mar 24, 2026
Merged via the queue into flutter:master with commit 231413a Mar 24, 2026
78 of 79 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Mar 24, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 24, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 25, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 25, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 25, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Mar 25, 2026
…11345)

Manual roll Flutter from dd64978dfae1 to 82d96ef98a33 (89 revisions)

Manual roll requested by tarrinneal@google.com

flutter/flutter@dd64978...82d96ef

2026-03-24 116356835+AbdeMohlbi@users.noreply.github.com Fix RenderStack's documentation (flutter/flutter#183822)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from a465876e3156 to f4e59f82dc69 (4 revisions) (flutter/flutter#184082)
2026-03-24 30870216+gaaclarke@users.noreply.github.com Refactor: Removes Geometry field from ColorSourceContents (flutter/flutter#183952)
2026-03-24 katelovett@google.com Refactor layout dimensions (flutter/flutter#184066)
2026-03-24 abadasamuelosp@gmail.com feat: Add --base-href support to flutter run for web (flutter/flutter#182709)
2026-03-24 43498643+mkucharski17@users.noreply.github.com Add LeanCode and contributors to AUTHORS (flutter/flutter#182997)
2026-03-24 dacoharkes@google.com [tools] Make sure `assemble` has a pubspec as cwd (flutter/flutter#184067)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from bf4f2763b6e6 to a465876e3156 (5 revisions) (flutter/flutter#184068)
2026-03-24 evanwall@buffalo.edu fix gaussian blur getting clipped with negative scale (flutter/flutter#184037)
2026-03-24 34871572+gmackall@users.noreply.github.com Keep glyphs for variable fonts (flutter/flutter#183857)
2026-03-24 dacoharkes@google.com Mark `IconData` `final` and `@mustBeConst` (flutter/flutter#181345)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from 62841a512deb to bf4f2763b6e6 (1 revision) (flutter/flutter#184062)
2026-03-24 ahmedsameha1@gmail.com Use Color.a instead of Color.alpha to assert the opacity of the color… (flutter/flutter#184003)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from f504293598f2 to b08bd0a3ee39 (1 revision) (flutter/flutter#184054)
2026-03-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from x9x76ERXhrt0Q3zKf... to M3sjWggTQmP2AD4bS... (flutter/flutter#184053)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter/flutter#184048)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter/flutter#184046)
2026-03-24 dkwingsmt@users.noreply.github.com [Slider] Remove value indicator painter when animation is dismissed (flutter/flutter#182991)
2026-03-24 engine-flutter-autoroll@skia.org Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter/flutter#184041)
2026-03-23 ishaquehassan@gmail.com Add scrollPadding property to DropdownMenu (flutter/flutter#183109)
2026-03-23 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183895)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter/flutter#184033)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter/flutter#184035)
2026-03-23 codefu@google.com chore: deflake Linux_android_emu android_display_cutout (flutter/flutter#183522)
2026-03-23 vs.ashoknarayan@gmail.com Add note about gclient sync network failures and workaround (flutter/flutter#183794)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter/flutter#184016)
2026-03-23 1961493+harryterkelsen@users.noreply.github.com refactor(web): use positive logic and platform defaults for accessibility features (flutter/flutter#183907)
2026-03-23 jhy03261997@gmail.com [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter/flutter#183897)
2026-03-23 mr-peipei@web.de Add progress bar to artifact downloads (flutter/flutter#182836)
2026-03-23 116356835+AbdeMohlbi@users.noreply.github.com Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter/flutter#183977)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 42a6eb1dc5c9 to a81bf411a5cb (3 revisions) (flutter/flutter#184007)
2026-03-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q1xqlQPxq8a3JTA4P... to x9x76ERXhrt0Q3zKf... (flutter/flutter#184006)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from ef45f179526f to b172bea4f008 (1 revision) (flutter/flutter#184004)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 964c3b33fd73 to 42a6eb1dc5c9 (1 revision) (flutter/flutter#184001)
2026-03-23 matt.kosarek@canonical.com Update the windowing docs per the latest wording found while doing Satellites (flutter/flutter#183748)
2026-03-22 48625061+muradhossin@users.noreply.github.com Add assert for mutually exclusive errorBuilder and errorText (flutter/flutter#183901)
2026-03-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Yc7Ijp2ySjG841xha... to q1xqlQPxq8a3JTA4P... (flutter/flutter#183991)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 812822ad5caa to 964c3b33fd73 (1 revision) (flutter/flutter#183982)
2026-03-21 engine-flutter-autoroll@skia.org Roll Dart SDK from c831a55e2fcc to ef45f179526f (1 revision) (flutter/flutter#183973)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 569cc0475162 to 812822ad5caa (2 revisions) (flutter/flutter#183970)
2026-03-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ilAIAVzu4xmeb078x... to Yc7Ijp2ySjG841xha... (flutter/flutter#183956)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 79a14289c60d to 569cc0475162 (3 revisions) (flutter/flutter#183954)
2026-03-20 engine-flutter-autoroll@skia.org Roll Dart SDK from c88a8008e93b to c831a55e2fcc (3 revisions) (flutter/flutter#183953)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 8d4c76b92050 to 79a14289c60d (4 revisions) (flutter/flutter#183949)
...
okorohelijah pushed a commit to okorohelijah/packages that referenced this pull request Mar 26, 2026
…lutter#11345)

Manual roll Flutter from dd64978dfae1 to 82d96ef98a33 (89 revisions)

Manual roll requested by tarrinneal@google.com

flutter/flutter@dd64978...82d96ef

2026-03-24 116356835+AbdeMohlbi@users.noreply.github.com Fix RenderStack's documentation (flutter/flutter#183822)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from a465876e3156 to f4e59f82dc69 (4 revisions) (flutter/flutter#184082)
2026-03-24 30870216+gaaclarke@users.noreply.github.com Refactor: Removes Geometry field from ColorSourceContents (flutter/flutter#183952)
2026-03-24 katelovett@google.com Refactor layout dimensions (flutter/flutter#184066)
2026-03-24 abadasamuelosp@gmail.com feat: Add --base-href support to flutter run for web (flutter/flutter#182709)
2026-03-24 43498643+mkucharski17@users.noreply.github.com Add LeanCode and contributors to AUTHORS (flutter/flutter#182997)
2026-03-24 dacoharkes@google.com [tools] Make sure `assemble` has a pubspec as cwd (flutter/flutter#184067)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from bf4f2763b6e6 to a465876e3156 (5 revisions) (flutter/flutter#184068)
2026-03-24 evanwall@buffalo.edu fix gaussian blur getting clipped with negative scale (flutter/flutter#184037)
2026-03-24 34871572+gmackall@users.noreply.github.com Keep glyphs for variable fonts (flutter/flutter#183857)
2026-03-24 dacoharkes@google.com Mark `IconData` `final` and `@mustBeConst` (flutter/flutter#181345)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from 62841a512deb to bf4f2763b6e6 (1 revision) (flutter/flutter#184062)
2026-03-24 ahmedsameha1@gmail.com Use Color.a instead of Color.alpha to assert the opacity of the color… (flutter/flutter#184003)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from f504293598f2 to b08bd0a3ee39 (1 revision) (flutter/flutter#184054)
2026-03-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from x9x76ERXhrt0Q3zKf... to M3sjWggTQmP2AD4bS... (flutter/flutter#184053)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter/flutter#184048)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter/flutter#184046)
2026-03-24 dkwingsmt@users.noreply.github.com [Slider] Remove value indicator painter when animation is dismissed (flutter/flutter#182991)
2026-03-24 engine-flutter-autoroll@skia.org Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter/flutter#184041)
2026-03-23 ishaquehassan@gmail.com Add scrollPadding property to DropdownMenu (flutter/flutter#183109)
2026-03-23 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183895)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter/flutter#184033)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter/flutter#184035)
2026-03-23 codefu@google.com chore: deflake Linux_android_emu android_display_cutout (flutter/flutter#183522)
2026-03-23 vs.ashoknarayan@gmail.com Add note about gclient sync network failures and workaround (flutter/flutter#183794)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter/flutter#184016)
2026-03-23 1961493+harryterkelsen@users.noreply.github.com refactor(web): use positive logic and platform defaults for accessibility features (flutter/flutter#183907)
2026-03-23 jhy03261997@gmail.com [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter/flutter#183897)
2026-03-23 mr-peipei@web.de Add progress bar to artifact downloads (flutter/flutter#182836)
2026-03-23 116356835+AbdeMohlbi@users.noreply.github.com Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter/flutter#183977)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 42a6eb1dc5c9 to a81bf411a5cb (3 revisions) (flutter/flutter#184007)
2026-03-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q1xqlQPxq8a3JTA4P... to x9x76ERXhrt0Q3zKf... (flutter/flutter#184006)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from ef45f179526f to b172bea4f008 (1 revision) (flutter/flutter#184004)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 964c3b33fd73 to 42a6eb1dc5c9 (1 revision) (flutter/flutter#184001)
2026-03-23 matt.kosarek@canonical.com Update the windowing docs per the latest wording found while doing Satellites (flutter/flutter#183748)
2026-03-22 48625061+muradhossin@users.noreply.github.com Add assert for mutually exclusive errorBuilder and errorText (flutter/flutter#183901)
2026-03-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Yc7Ijp2ySjG841xha... to q1xqlQPxq8a3JTA4P... (flutter/flutter#183991)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 812822ad5caa to 964c3b33fd73 (1 revision) (flutter/flutter#183982)
2026-03-21 engine-flutter-autoroll@skia.org Roll Dart SDK from c831a55e2fcc to ef45f179526f (1 revision) (flutter/flutter#183973)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 569cc0475162 to 812822ad5caa (2 revisions) (flutter/flutter#183970)
2026-03-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ilAIAVzu4xmeb078x... to Yc7Ijp2ySjG841xha... (flutter/flutter#183956)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 79a14289c60d to 569cc0475162 (3 revisions) (flutter/flutter#183954)
2026-03-20 engine-flutter-autoroll@skia.org Roll Dart SDK from c88a8008e93b to c831a55e2fcc (3 revisions) (flutter/flutter#183953)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 8d4c76b92050 to 79a14289c60d (4 revisions) (flutter/flutter#183949)
...
mboetger pushed a commit to mboetger/flutter that referenced this pull request Mar 26, 2026
This PR completes an old TODO by refactoring how
`SliverLayoutDimensions` are accessed and managed within
`RenderSliverFixedExtentBoxAdaptor` and its subclasses.

Previously, several subclasses of RenderSliverFixedExtentBoxAdaptor
(such as `RenderTreeSliver` and `RenderCarousel`) were manually
maintaining their own local `layoutDimensions` fields and updating them
during `performLayout`. This PR centralizes that logic into the base
class, providing a unified and public way to access these dimensions.

* `RenderSliverFixedExtentBoxAdaptor` (base class):
* Introduced a public `layoutDimensions` getter. This getter returns the
dimensions from the most recent layout pass, or a default based on
current constraints if layout is still in progress.
* Added a `paintExtentOf` override to simplify extent calculations for
subclasses.
* This is not strictly part of the refactor. RenderSliverMultiBoxAdaptor
already defines paintExtentOf, but this provides an optimization for
RenderSliverFixedExtentBoxAdaptor by using itemExtent or
itemExtentBuilder instead of relying on child.hasSize. This is
especially useful for calculating visibility without a full layout.
* Moved the management of the internal `_currentLayoutDimensions` field
to the base class.
* `RenderTreeSliver`:
* Removed the redundant local layoutDimensions field and its manual
assignment.
* Removed the "yak shave" TODO that previously noted this refactor was
needed.
 * `RenderCarousel` & `_RenderSliverWeightedCarousel`:
* Removed redundant local layoutDimensions fields and manual assignments
in
         performLayout.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [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.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
ahmedsameha1 pushed a commit to ahmedsameha1/flutter that referenced this pull request Apr 14, 2026
This PR completes an old TODO by refactoring how
`SliverLayoutDimensions` are accessed and managed within
`RenderSliverFixedExtentBoxAdaptor` and its subclasses.

Previously, several subclasses of RenderSliverFixedExtentBoxAdaptor
(such as `RenderTreeSliver` and `RenderCarousel`) were manually
maintaining their own local `layoutDimensions` fields and updating them
during `performLayout`. This PR centralizes that logic into the base
class, providing a unified and public way to access these dimensions.

* `RenderSliverFixedExtentBoxAdaptor` (base class):
* Introduced a public `layoutDimensions` getter. This getter returns the
dimensions from the most recent layout pass, or a default based on
current constraints if layout is still in progress.
* Added a `paintExtentOf` override to simplify extent calculations for
subclasses.
* This is not strictly part of the refactor. RenderSliverMultiBoxAdaptor
already defines paintExtentOf, but this provides an optimization for
RenderSliverFixedExtentBoxAdaptor by using itemExtent or
itemExtentBuilder instead of relying on child.hasSize. This is
especially useful for calculating visibility without a full layout.
* Moved the management of the internal `_currentLayoutDimensions` field
to the base class.
* `RenderTreeSliver`:
* Removed the redundant local layoutDimensions field and its manual
assignment.
* Removed the "yak shave" TODO that previously noted this refactor was
needed.
 * `RenderCarousel` & `_RenderSliverWeightedCarousel`:
* Removed redundant local layoutDimensions fields and manual assignments
in
         performLayout.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [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.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Jyndigo pushed a commit to uesp/wkwebview_flutter that referenced this pull request Apr 15, 2026
…(#11345)

Manual roll Flutter from dd64978dfae1 to 82d96ef98a33 (89 revisions)

Manual roll requested by tarrinneal@google.com

flutter/flutter@dd64978...82d96ef

2026-03-24 116356835+AbdeMohlbi@users.noreply.github.com Fix RenderStack's documentation (flutter/flutter#183822)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from a465876e3156 to f4e59f82dc69 (4 revisions) (flutter/flutter#184082)
2026-03-24 30870216+gaaclarke@users.noreply.github.com Refactor: Removes Geometry field from ColorSourceContents (flutter/flutter#183952)
2026-03-24 katelovett@google.com Refactor layout dimensions (flutter/flutter#184066)
2026-03-24 abadasamuelosp@gmail.com feat: Add --base-href support to flutter run for web (flutter/flutter#182709)
2026-03-24 43498643+mkucharski17@users.noreply.github.com Add LeanCode and contributors to AUTHORS (flutter/flutter#182997)
2026-03-24 dacoharkes@google.com [tools] Make sure `assemble` has a pubspec as cwd (flutter/flutter#184067)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from bf4f2763b6e6 to a465876e3156 (5 revisions) (flutter/flutter#184068)
2026-03-24 evanwall@buffalo.edu fix gaussian blur getting clipped with negative scale (flutter/flutter#184037)
2026-03-24 34871572+gmackall@users.noreply.github.com Keep glyphs for variable fonts (flutter/flutter#183857)
2026-03-24 dacoharkes@google.com Mark `IconData` `final` and `@mustBeConst` (flutter/flutter#181345)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from 62841a512deb to bf4f2763b6e6 (1 revision) (flutter/flutter#184062)
2026-03-24 ahmedsameha1@gmail.com Use Color.a instead of Color.alpha to assert the opacity of the color… (flutter/flutter#184003)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from f504293598f2 to b08bd0a3ee39 (1 revision) (flutter/flutter#184054)
2026-03-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from x9x76ERXhrt0Q3zKf... to M3sjWggTQmP2AD4bS... (flutter/flutter#184053)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter/flutter#184048)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter/flutter#184046)
2026-03-24 dkwingsmt@users.noreply.github.com [Slider] Remove value indicator painter when animation is dismissed (flutter/flutter#182991)
2026-03-24 engine-flutter-autoroll@skia.org Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter/flutter#184041)
2026-03-23 ishaquehassan@gmail.com Add scrollPadding property to DropdownMenu (flutter/flutter#183109)
2026-03-23 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183895)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter/flutter#184033)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter/flutter#184035)
2026-03-23 codefu@google.com chore: deflake Linux_android_emu android_display_cutout (flutter/flutter#183522)
2026-03-23 vs.ashoknarayan@gmail.com Add note about gclient sync network failures and workaround (flutter/flutter#183794)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter/flutter#184016)
2026-03-23 1961493+harryterkelsen@users.noreply.github.com refactor(web): use positive logic and platform defaults for accessibility features (flutter/flutter#183907)
2026-03-23 jhy03261997@gmail.com [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter/flutter#183897)
2026-03-23 mr-peipei@web.de Add progress bar to artifact downloads (flutter/flutter#182836)
2026-03-23 116356835+AbdeMohlbi@users.noreply.github.com Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter/flutter#183977)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 42a6eb1dc5c9 to a81bf411a5cb (3 revisions) (flutter/flutter#184007)
2026-03-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q1xqlQPxq8a3JTA4P... to x9x76ERXhrt0Q3zKf... (flutter/flutter#184006)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from ef45f179526f to b172bea4f008 (1 revision) (flutter/flutter#184004)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 964c3b33fd73 to 42a6eb1dc5c9 (1 revision) (flutter/flutter#184001)
2026-03-23 matt.kosarek@canonical.com Update the windowing docs per the latest wording found while doing Satellites (flutter/flutter#183748)
2026-03-22 48625061+muradhossin@users.noreply.github.com Add assert for mutually exclusive errorBuilder and errorText (flutter/flutter#183901)
2026-03-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Yc7Ijp2ySjG841xha... to q1xqlQPxq8a3JTA4P... (flutter/flutter#183991)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 812822ad5caa to 964c3b33fd73 (1 revision) (flutter/flutter#183982)
2026-03-21 engine-flutter-autoroll@skia.org Roll Dart SDK from c831a55e2fcc to ef45f179526f (1 revision) (flutter/flutter#183973)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 569cc0475162 to 812822ad5caa (2 revisions) (flutter/flutter#183970)
2026-03-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ilAIAVzu4xmeb078x... to Yc7Ijp2ySjG841xha... (flutter/flutter#183956)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 79a14289c60d to 569cc0475162 (3 revisions) (flutter/flutter#183954)
2026-03-20 engine-flutter-autoroll@skia.org Roll Dart SDK from c88a8008e93b to c831a55e2fcc (3 revisions) (flutter/flutter#183953)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 8d4c76b92050 to 79a14289c60d (4 revisions) (flutter/flutter#183949)
...
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
…lutter#11345)

Manual roll Flutter from dd64978dfae1 to 82d96ef98a33 (89 revisions)

Manual roll requested by tarrinneal@google.com

flutter/flutter@dd64978...82d96ef

2026-03-24 116356835+AbdeMohlbi@users.noreply.github.com Fix RenderStack's documentation (flutter/flutter#183822)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from a465876e3156 to f4e59f82dc69 (4 revisions) (flutter/flutter#184082)
2026-03-24 30870216+gaaclarke@users.noreply.github.com Refactor: Removes Geometry field from ColorSourceContents (flutter/flutter#183952)
2026-03-24 katelovett@google.com Refactor layout dimensions (flutter/flutter#184066)
2026-03-24 abadasamuelosp@gmail.com feat: Add --base-href support to flutter run for web (flutter/flutter#182709)
2026-03-24 43498643+mkucharski17@users.noreply.github.com Add LeanCode and contributors to AUTHORS (flutter/flutter#182997)
2026-03-24 dacoharkes@google.com [tools] Make sure `assemble` has a pubspec as cwd (flutter/flutter#184067)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from bf4f2763b6e6 to a465876e3156 (5 revisions) (flutter/flutter#184068)
2026-03-24 evanwall@buffalo.edu fix gaussian blur getting clipped with negative scale (flutter/flutter#184037)
2026-03-24 34871572+gmackall@users.noreply.github.com Keep glyphs for variable fonts (flutter/flutter#183857)
2026-03-24 dacoharkes@google.com Mark `IconData` `final` and `@mustBeConst` (flutter/flutter#181345)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from 62841a512deb to bf4f2763b6e6 (1 revision) (flutter/flutter#184062)
2026-03-24 ahmedsameha1@gmail.com Use Color.a instead of Color.alpha to assert the opacity of the color… (flutter/flutter#184003)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from f504293598f2 to b08bd0a3ee39 (1 revision) (flutter/flutter#184054)
2026-03-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from x9x76ERXhrt0Q3zKf... to M3sjWggTQmP2AD4bS... (flutter/flutter#184053)
2026-03-24 engine-flutter-autoroll@skia.org Roll Dart SDK from 788e347194a6 to f504293598f2 (1 revision) (flutter/flutter#184048)
2026-03-24 engine-flutter-autoroll@skia.org Roll Skia from fb6acef456ea to 62841a512deb (2 revisions) (flutter/flutter#184046)
2026-03-24 dkwingsmt@users.noreply.github.com [Slider] Remove value indicator painter when animation is dismissed (flutter/flutter#182991)
2026-03-24 engine-flutter-autoroll@skia.org Manual roll ICU from 7971660ba630 to ee5f27adc28b (1 revision) (flutter/flutter#184041)
2026-03-23 ishaquehassan@gmail.com Add scrollPadding property to DropdownMenu (flutter/flutter#183109)
2026-03-23 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#183895)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from c2b58922e37d to fb6acef456ea (1 revision) (flutter/flutter#184033)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b172bea4f008 to 788e347194a6 (2 revisions) (flutter/flutter#184035)
2026-03-23 codefu@google.com chore: deflake Linux_android_emu android_display_cutout (flutter/flutter#183522)
2026-03-23 vs.ashoknarayan@gmail.com Add note about gclient sync network failures and workaround (flutter/flutter#183794)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from a81bf411a5cb to c2b58922e37d (3 revisions) (flutter/flutter#184016)
2026-03-23 1961493+harryterkelsen@users.noreply.github.com refactor(web): use positive logic and platform defaults for accessibility features (flutter/flutter#183907)
2026-03-23 jhy03261997@gmail.com [android][a11y] set "android.widget.ProgressBar" according to semantics role (flutter/flutter#183897)
2026-03-23 mr-peipei@web.de Add progress bar to artifact downloads (flutter/flutter#182836)
2026-03-23 116356835+AbdeMohlbi@users.noreply.github.com Add windows instruction to `Forcing Flutter Tools Snapshot Regeneration` (flutter/flutter#183977)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 42a6eb1dc5c9 to a81bf411a5cb (3 revisions) (flutter/flutter#184007)
2026-03-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q1xqlQPxq8a3JTA4P... to x9x76ERXhrt0Q3zKf... (flutter/flutter#184006)
2026-03-23 engine-flutter-autoroll@skia.org Roll Dart SDK from ef45f179526f to b172bea4f008 (1 revision) (flutter/flutter#184004)
2026-03-23 engine-flutter-autoroll@skia.org Roll Skia from 964c3b33fd73 to 42a6eb1dc5c9 (1 revision) (flutter/flutter#184001)
2026-03-23 matt.kosarek@canonical.com Update the windowing docs per the latest wording found while doing Satellites (flutter/flutter#183748)
2026-03-22 48625061+muradhossin@users.noreply.github.com Add assert for mutually exclusive errorBuilder and errorText (flutter/flutter#183901)
2026-03-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Yc7Ijp2ySjG841xha... to q1xqlQPxq8a3JTA4P... (flutter/flutter#183991)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 812822ad5caa to 964c3b33fd73 (1 revision) (flutter/flutter#183982)
2026-03-21 engine-flutter-autoroll@skia.org Roll Dart SDK from c831a55e2fcc to ef45f179526f (1 revision) (flutter/flutter#183973)
2026-03-21 engine-flutter-autoroll@skia.org Roll Skia from 569cc0475162 to 812822ad5caa (2 revisions) (flutter/flutter#183970)
2026-03-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ilAIAVzu4xmeb078x... to Yc7Ijp2ySjG841xha... (flutter/flutter#183956)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 79a14289c60d to 569cc0475162 (3 revisions) (flutter/flutter#183954)
2026-03-20 engine-flutter-autoroll@skia.org Roll Dart SDK from c88a8008e93b to c831a55e2fcc (3 revisions) (flutter/flutter#183953)
2026-03-20 engine-flutter-autoroll@skia.org Roll Skia from 8d4c76b92050 to 79a14289c60d (4 revisions) (flutter/flutter#183949)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD f: material design flutter/packages/flutter/material repository. f: scrolling Viewports, list views, slivers, etc. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants