Refactor layout dimensions#184066
Conversation
There was a problem hiding this comment.
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.
…d fix type annotations
| late SliverLayoutDimensions _currentLayoutDimensions; | ||
|
|
||
| @override | ||
| void performLayout() { |
There was a problem hiding this comment.
Drive by nit: Since this now just calls super, it can be omitted?
There was a problem hiding this comment.
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.
…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) ...
…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) ...
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
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
…(#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) ...
…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) ...
This PR completes an old TODO by refactoring how
SliverLayoutDimensionsare accessed and managed withinRenderSliverFixedExtentBoxAdaptorand its subclasses.Previously, several subclasses of RenderSliverFixedExtentBoxAdaptor (such as
RenderTreeSliverandRenderCarousel) were manually maintaining their own locallayoutDimensionsfields and updating them duringperformLayout. This PR centralizes that logic into the base class, providing a unified and public way to access these dimensions.RenderSliverFixedExtentBoxAdaptor(base class):layoutDimensionsgetter. This getter returns the dimensions from the most recent layout pass, or a default based on current constraints if layout is still in progress.paintExtentOfoverride to simplify extent calculations for subclasses._currentLayoutDimensionsfield to the base class.RenderTreeSliver:RenderCarousel&_RenderSliverWeightedCarousel: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-assistbot 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.