Skip to content
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 SlottedMultiChildRenderObjectWidgetMixin a concrete class #126108

Merged
merged 3 commits into from May 16, 2023

Conversation

Hixie
Copy link
Contributor

@Hixie Hixie commented May 4, 2023

This is a proof of concept for renaming SlottedMultiChildRenderObjectWidgetMixin to SlottedMultiChildRenderObjectWidget and making it a concrete class.

I also made SlottedContainerRenderObjectMixin generic instead of being specialized to RenderBox.

I don't think this is something we can easily automigrate, but we may not need to, I don't know how common this is...

@flutter-dashboard flutter-dashboard bot added d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos documentation f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. team Infra upgrades, team productivity, code health, technical debt. See also team: labels. labels May 4, 2023
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.

I am in favor of this change. Looks like customer tests are still passing and I just checked, google3 is also not using this. So it wouldn't even be considered breaking under our policy.

/// internal (private) implementation.
mixin SlottedMultiChildRenderObjectWidgetMixin<S> on RenderObjectWidget {
abstract class SlottedMultiChildRenderObjectWidget<S, T extends RenderObject> extends RenderObjectWidget with SlottedMultiChildRenderObjectWidgetMixin<S, T> {
Copy link
Member

Choose a reason for hiding this comment

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

Should we change S and T to SlotType and ChildType to be a little more self explanatory? I believe, we use ChildType for this elsewhere in the framework.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

This is a proof of concept for renaming SlottedMultiChildRenderObjectWidgetMixin to SlottedMultiChildRenderObjectWidget and making it a concrete class.

I also made SlottedContainerRenderObjectMixin generic instead of being specialized to RenderBox.

I don't think this is something we can easily automigrate, but we may not need to, I don't know how common this is...
@Hixie Hixie marked this pull request as ready for review May 11, 2023 22:37
@Hixie Hixie added the autosubmit Merge PR when tree becomes green via auto submit App label May 11, 2023
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 12, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented May 12, 2023

auto label is removed for flutter/flutter, pr: 126108, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@Hixie Hixie added the autosubmit Merge PR when tree becomes green via auto submit App label May 15, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented May 16, 2023

auto label is removed for flutter/flutter, pr: 126108, due to - The status or check suite Windows framework_tests_libraries has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 16, 2023
@Hixie Hixie added the autosubmit Merge PR when tree becomes green via auto submit App label May 16, 2023
@auto-submit auto-submit bot merged commit 027bb84 into flutter:master May 16, 2023
71 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 18, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 18, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 18, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 18, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request May 18, 2023
Roll Flutter from d0d1feb6283f to 5ae64381578c (42 revisions)

flutter/flutter@d0d1feb...5ae6438

2023-05-18 goderbauer@google.com Revert "Handle null return from WillPopCallback" (flutter/flutter#127112)
2023-05-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from a22dd6438335 to 843ce0bba356 (6 revisions) (flutter/flutter#127116)
2023-05-18 christopherfujino@gmail.com mark windows build tests non-bringup (flutter/flutter#127059)
2023-05-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from d97037077963 to a22dd6438335 (1 revision) (flutter/flutter#127071)
2023-05-18 engine-flutter-autoroll@skia.org Roll Packages from 5c69914 to b31a128 (9 revisions) (flutter/flutter#127109)
2023-05-18 jmccandless@google.com Revert "Remove obsolete drawShadow bounds workaround" (flutter/flutter#127110)
2023-05-18 36861262+QuncCccccc@users.noreply.github.com Clip search view content during animation (flutter/flutter#126975)
2023-05-18 flar@google.com Remove obsolete drawShadow bounds workaround (flutter/flutter#127052)
2023-05-17 737941+loic-sharma@users.noreply.github.com [Windows] Improve version migration message (flutter/flutter#127048)
2023-05-17 49699333+dependabot[bot]@users.noreply.github.com Bump actions/labeler from 9471598e3b7ff22b2fa181bd79addf94cb3e0847 to 6b107e7a7ee5e054e0bcce60de5181d21e2f00fb (flutter/flutter#127056)
2023-05-17 rmolivares@renzo-olivares.dev Remove deprecated fixTextFieldOutlineLabel (flutter/flutter#125893)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 331c5769e291 to d97037077963 (3 revisions) (flutter/flutter#127053)
2023-05-17 christopherfujino@gmail.com shard windows build tests 3 -> 4 (flutter/flutter#127057)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0ae3719d7043 to 331c5769e291 (1 revision) (flutter/flutter#127049)
2023-05-17 srawlins@google.com Ignore unused_element_parameter (flutter/flutter#126926)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 47fd496c6f8d to 0ae3719d7043 (2 revisions) (flutter/flutter#127043)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 400a26ad8343 to 47fd496c6f8d (3 revisions) (flutter/flutter#127041)
2023-05-17 christopherfujino@gmail.com [flutter_tools] unpin and roll camera_android (flutter/flutter#126945)
2023-05-17 goderbauer@google.com Handle null return from WillPopCallback (flutter/flutter#127039)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 6048360c1837 to 400a26ad8343 (1 revision) (flutter/flutter#127036)
2023-05-17 goderbauer@google.com Remove unused (and untested) parameters from private _MasterDetailFlow (flutter/flutter#126935)
2023-05-17 jmccandless@google.com Autocomplete async examples (flutter/flutter#126283)
2023-05-17 danivangelis@hotmail.com Expose callback that allows focus traversal customization (flutter/flutter#120235)
2023-05-17 engine-flutter-autoroll@skia.org Roll Packages from b971830 to 5c69914 (5 revisions) (flutter/flutter#127034)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from ea3f27383acc to 6048360c1837 (2 revisions) (flutter/flutter#127032)
2023-05-17 tessertaha@gmail.com Add missing `Switch.onFocusChange` test (flutter/flutter#126685)
2023-05-17 joshualitt@google.com Remove 'url_launcher' from pubspec.yaml. (flutter/flutter#126939)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 4b7c37532ea4 to ea3f27383acc (1 revision) (flutter/flutter#126994)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 170b45bae571 to 4b7c37532ea4 (1 revision) (flutter/flutter#126985)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 28b9dc993c30 to 170b45bae571 (1 revision) (flutter/flutter#126981)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 87a03e107df7 to 28b9dc993c30 (1 revision) (flutter/flutter#126974)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1c775e34e2d5 to 87a03e107df7 (3 revisions) (flutter/flutter#126968)
2023-05-16 sigurdm@google.com Fix style issues (flutter/flutter#122586)
2023-05-16 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from fe2476743b59 to 1c775e34e2d5 (10 revisions) (flutter/flutter#126961)
2023-05-16 ian@hixie.ch Make SlottedMultiChildRenderObjectWidgetMixin a concrete class (flutter/flutter#126108)
2023-05-16 ian@hixie.ch Add ScrollMetrics.extentTotal for completeness (flutter/flutter#126607)
2023-05-16 godofredoc@google.com Fix drone_dimensions. (flutter/flutter#126953)
2023-05-16 58190796+MitchellGoodwin@users.noreply.github.com Add checkmark style to CupertinoRadio (flutter/flutter#126480)
2023-05-16 54558023+keyonghan@users.noreply.github.com Move `Mac_build_test flutter_gallery__transition_perf_e2e_ios` to prod (flutter/flutter#126941)
2023-05-16 jason-simmons@users.noreply.github.com Fix DataTableThemeData.copyWith handling of dataRowHeight (flutter/flutter#126943)
2023-05-16 smushaheed@outlook.com Fix copyWith method of ActionIconThemeData (flutter/flutter#126763)
2023-05-16 zanderso@users.noreply.github.com Revert "Roll Flutter Engine from fe2476743b59 to 5cf141f7c03c (2 revisions)" (flutter/flutter#126954)

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
...
gnprice pushed a commit to zulip/zulip-flutter that referenced this pull request May 23, 2023
…rObjectMixin et al.

This is required since flutter/flutter#126108 .

The breakage is a reminder that it'd be good to get our repo added
to Flutter's "customer tests" suite.  Because this isn't a common API
to extend, neither that suite nor Google's internal use of Flutter
had anything affected by this change, which mean that Flutter's
"breaking change" policy treated it as a non-breaking change, the
same as an internal refactoring.

In addition to these required changes, there's a deprecation
of SlottedMultiChildRenderObjectWidgetMixin in favor of an abstract
base class.  We can take care of that in a separate commit.

[greg: wrote new commit message]
CaseyHillers pushed a commit to CaseyHillers/flutter that referenced this pull request May 24, 2023
…er#126108)

This is a proof of concept for renaming SlottedMultiChildRenderObjectWidgetMixin to SlottedMultiChildRenderObjectWidget and making it a concrete class.

I also made SlottedContainerRenderObjectMixin generic instead of being specialized to RenderBox.

I don't think this is something we can easily automigrate, but we may not need to, I don't know how common this is...
nploi pushed a commit to nploi/packages that referenced this pull request Jul 16, 2023
…r#4038)

Roll Flutter from d0d1feb6283f to 5ae64381578c (42 revisions)

flutter/flutter@d0d1feb...5ae6438

2023-05-18 goderbauer@google.com Revert "Handle null return from WillPopCallback" (flutter/flutter#127112)
2023-05-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from a22dd6438335 to 843ce0bba356 (6 revisions) (flutter/flutter#127116)
2023-05-18 christopherfujino@gmail.com mark windows build tests non-bringup (flutter/flutter#127059)
2023-05-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from d97037077963 to a22dd6438335 (1 revision) (flutter/flutter#127071)
2023-05-18 engine-flutter-autoroll@skia.org Roll Packages from 5c69914 to b31a128 (9 revisions) (flutter/flutter#127109)
2023-05-18 jmccandless@google.com Revert "Remove obsolete drawShadow bounds workaround" (flutter/flutter#127110)
2023-05-18 36861262+QuncCccccc@users.noreply.github.com Clip search view content during animation (flutter/flutter#126975)
2023-05-18 flar@google.com Remove obsolete drawShadow bounds workaround (flutter/flutter#127052)
2023-05-17 737941+loic-sharma@users.noreply.github.com [Windows] Improve version migration message (flutter/flutter#127048)
2023-05-17 49699333+dependabot[bot]@users.noreply.github.com Bump actions/labeler from 9471598e3b7ff22b2fa181bd79addf94cb3e0847 to 6b107e7a7ee5e054e0bcce60de5181d21e2f00fb (flutter/flutter#127056)
2023-05-17 rmolivares@renzo-olivares.dev Remove deprecated fixTextFieldOutlineLabel (flutter/flutter#125893)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 331c5769e291 to d97037077963 (3 revisions) (flutter/flutter#127053)
2023-05-17 christopherfujino@gmail.com shard windows build tests 3 -> 4 (flutter/flutter#127057)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0ae3719d7043 to 331c5769e291 (1 revision) (flutter/flutter#127049)
2023-05-17 srawlins@google.com Ignore unused_element_parameter (flutter/flutter#126926)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 47fd496c6f8d to 0ae3719d7043 (2 revisions) (flutter/flutter#127043)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 400a26ad8343 to 47fd496c6f8d (3 revisions) (flutter/flutter#127041)
2023-05-17 christopherfujino@gmail.com [flutter_tools] unpin and roll camera_android (flutter/flutter#126945)
2023-05-17 goderbauer@google.com Handle null return from WillPopCallback (flutter/flutter#127039)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 6048360c1837 to 400a26ad8343 (1 revision) (flutter/flutter#127036)
2023-05-17 goderbauer@google.com Remove unused (and untested) parameters from private _MasterDetailFlow (flutter/flutter#126935)
2023-05-17 jmccandless@google.com Autocomplete async examples (flutter/flutter#126283)
2023-05-17 danivangelis@hotmail.com Expose callback that allows focus traversal customization (flutter/flutter#120235)
2023-05-17 engine-flutter-autoroll@skia.org Roll Packages from b971830 to 5c69914 (5 revisions) (flutter/flutter#127034)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from ea3f27383acc to 6048360c1837 (2 revisions) (flutter/flutter#127032)
2023-05-17 tessertaha@gmail.com Add missing `Switch.onFocusChange` test (flutter/flutter#126685)
2023-05-17 joshualitt@google.com Remove 'url_launcher' from pubspec.yaml. (flutter/flutter#126939)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 4b7c37532ea4 to ea3f27383acc (1 revision) (flutter/flutter#126994)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 170b45bae571 to 4b7c37532ea4 (1 revision) (flutter/flutter#126985)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 28b9dc993c30 to 170b45bae571 (1 revision) (flutter/flutter#126981)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 87a03e107df7 to 28b9dc993c30 (1 revision) (flutter/flutter#126974)
2023-05-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1c775e34e2d5 to 87a03e107df7 (3 revisions) (flutter/flutter#126968)
2023-05-16 sigurdm@google.com Fix style issues (flutter/flutter#122586)
2023-05-16 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from fe2476743b59 to 1c775e34e2d5 (10 revisions) (flutter/flutter#126961)
2023-05-16 ian@hixie.ch Make SlottedMultiChildRenderObjectWidgetMixin a concrete class (flutter/flutter#126108)
2023-05-16 ian@hixie.ch Add ScrollMetrics.extentTotal for completeness (flutter/flutter#126607)
2023-05-16 godofredoc@google.com Fix drone_dimensions. (flutter/flutter#126953)
2023-05-16 58190796+MitchellGoodwin@users.noreply.github.com Add checkmark style to CupertinoRadio (flutter/flutter#126480)
2023-05-16 54558023+keyonghan@users.noreply.github.com Move `Mac_build_test flutter_gallery__transition_perf_e2e_ios` to prod (flutter/flutter#126941)
2023-05-16 jason-simmons@users.noreply.github.com Fix DataTableThemeData.copyWith handling of dataRowHeight (flutter/flutter#126943)
2023-05-16 smushaheed@outlook.com Fix copyWith method of ActionIconThemeData (flutter/flutter#126763)
2023-05-16 zanderso@users.noreply.github.com Revert "Roll Flutter Engine from fe2476743b59 to 5cf141f7c03c (2 revisions)" (flutter/flutter#126954)

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
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 17, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 17, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 17, 2023
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 d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. team Infra upgrades, team productivity, code health, technical debt. See also team: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants