-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Make SlottedMultiChildRenderObjectWidgetMixin a concrete class #126108
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
Conversation
goderbauer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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...
|
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. |
|
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. |
Roll Flutter from d0d1feb to 5ae6438 (42 revisions) flutter/flutter@d0d1feb...5ae6438 2023-05-18 [email protected] Revert "Handle null return from WillPopCallback" (flutter/flutter#127112) 2023-05-18 [email protected] Roll Flutter Engine from a22dd6438335 to 843ce0bba356 (6 revisions) (flutter/flutter#127116) 2023-05-18 [email protected] mark windows build tests non-bringup (flutter/flutter#127059) 2023-05-18 [email protected] Roll Flutter Engine from d97037077963 to a22dd6438335 (1 revision) (flutter/flutter#127071) 2023-05-18 [email protected] Roll Packages from 5c69914 to b31a128 (9 revisions) (flutter/flutter#127109) 2023-05-18 [email protected] Revert "Remove obsolete drawShadow bounds workaround" (flutter/flutter#127110) 2023-05-18 [email protected] Clip search view content during animation (flutter/flutter#126975) 2023-05-18 [email protected] Remove obsolete drawShadow bounds workaround (flutter/flutter#127052) 2023-05-17 [email protected] [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 [email protected] Remove deprecated fixTextFieldOutlineLabel (flutter/flutter#125893) 2023-05-17 [email protected] Roll Flutter Engine from 331c5769e291 to d97037077963 (3 revisions) (flutter/flutter#127053) 2023-05-17 [email protected] shard windows build tests 3 -> 4 (flutter/flutter#127057) 2023-05-17 [email protected] Roll Flutter Engine from 0ae3719d7043 to 331c5769e291 (1 revision) (flutter/flutter#127049) 2023-05-17 [email protected] Ignore unused_element_parameter (flutter/flutter#126926) 2023-05-17 [email protected] Roll Flutter Engine from 47fd496c6f8d to 0ae3719d7043 (2 revisions) (flutter/flutter#127043) 2023-05-17 [email protected] Roll Flutter Engine from 400a26ad8343 to 47fd496c6f8d (3 revisions) (flutter/flutter#127041) 2023-05-17 [email protected] [flutter_tools] unpin and roll camera_android (flutter/flutter#126945) 2023-05-17 [email protected] Handle null return from WillPopCallback (flutter/flutter#127039) 2023-05-17 [email protected] Roll Flutter Engine from 6048360c1837 to 400a26ad8343 (1 revision) (flutter/flutter#127036) 2023-05-17 [email protected] Remove unused (and untested) parameters from private _MasterDetailFlow (flutter/flutter#126935) 2023-05-17 [email protected] Autocomplete async examples (flutter/flutter#126283) 2023-05-17 [email protected] Expose callback that allows focus traversal customization (flutter/flutter#120235) 2023-05-17 [email protected] Roll Packages from b971830 to 5c69914 (5 revisions) (flutter/flutter#127034) 2023-05-17 [email protected] Roll Flutter Engine from ea3f27383acc to 6048360c1837 (2 revisions) (flutter/flutter#127032) 2023-05-17 [email protected] Add missing `Switch.onFocusChange` test (flutter/flutter#126685) 2023-05-17 [email protected] Remove 'url_launcher' from pubspec.yaml. (flutter/flutter#126939) 2023-05-17 [email protected] Roll Flutter Engine from 4b7c37532ea4 to ea3f27383acc (1 revision) (flutter/flutter#126994) 2023-05-17 [email protected] Roll Flutter Engine from 170b45bae571 to 4b7c37532ea4 (1 revision) (flutter/flutter#126985) 2023-05-17 [email protected] Roll Flutter Engine from 28b9dc993c30 to 170b45bae571 (1 revision) (flutter/flutter#126981) 2023-05-17 [email protected] Roll Flutter Engine from 87a03e107df7 to 28b9dc993c30 (1 revision) (flutter/flutter#126974) 2023-05-17 [email protected] Roll Flutter Engine from 1c775e34e2d5 to 87a03e107df7 (3 revisions) (flutter/flutter#126968) 2023-05-16 [email protected] Fix style issues (flutter/flutter#122586) 2023-05-16 [email protected] Manual roll Flutter Engine from fe2476743b59 to 1c775e34e2d5 (10 revisions) (flutter/flutter#126961) 2023-05-16 [email protected] Make SlottedMultiChildRenderObjectWidgetMixin a concrete class (flutter/flutter#126108) 2023-05-16 [email protected] Add ScrollMetrics.extentTotal for completeness (flutter/flutter#126607) 2023-05-16 [email protected] Fix drone_dimensions. (flutter/flutter#126953) 2023-05-16 [email protected] Add checkmark style to CupertinoRadio (flutter/flutter#126480) 2023-05-16 [email protected] Move `Mac_build_test flutter_gallery__transition_perf_e2e_ios` to prod (flutter/flutter#126941) 2023-05-16 [email protected] Fix DataTableThemeData.copyWith handling of dataRowHeight (flutter/flutter#126943) 2023-05-16 [email protected] Fix copyWith method of ActionIconThemeData (flutter/flutter#126763) 2023-05-16 [email protected] 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 ...
…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]
…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...
Roll Flutter from d0d1feb to 5ae6438 (42 revisions) flutter/flutter@d0d1feb...5ae6438 2023-05-18 [email protected] Revert "Handle null return from WillPopCallback" (flutter/flutter#127112) 2023-05-18 [email protected] Roll Flutter Engine from a22dd6438335 to 843ce0bba356 (6 revisions) (flutter/flutter#127116) 2023-05-18 [email protected] mark windows build tests non-bringup (flutter/flutter#127059) 2023-05-18 [email protected] Roll Flutter Engine from d97037077963 to a22dd6438335 (1 revision) (flutter/flutter#127071) 2023-05-18 [email protected] Roll Packages from 5c69914 to b31a128 (9 revisions) (flutter/flutter#127109) 2023-05-18 [email protected] Revert "Remove obsolete drawShadow bounds workaround" (flutter/flutter#127110) 2023-05-18 [email protected] Clip search view content during animation (flutter/flutter#126975) 2023-05-18 [email protected] Remove obsolete drawShadow bounds workaround (flutter/flutter#127052) 2023-05-17 [email protected] [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 [email protected] Remove deprecated fixTextFieldOutlineLabel (flutter/flutter#125893) 2023-05-17 [email protected] Roll Flutter Engine from 331c5769e291 to d97037077963 (3 revisions) (flutter/flutter#127053) 2023-05-17 [email protected] shard windows build tests 3 -> 4 (flutter/flutter#127057) 2023-05-17 [email protected] Roll Flutter Engine from 0ae3719d7043 to 331c5769e291 (1 revision) (flutter/flutter#127049) 2023-05-17 [email protected] Ignore unused_element_parameter (flutter/flutter#126926) 2023-05-17 [email protected] Roll Flutter Engine from 47fd496c6f8d to 0ae3719d7043 (2 revisions) (flutter/flutter#127043) 2023-05-17 [email protected] Roll Flutter Engine from 400a26ad8343 to 47fd496c6f8d (3 revisions) (flutter/flutter#127041) 2023-05-17 [email protected] [flutter_tools] unpin and roll camera_android (flutter/flutter#126945) 2023-05-17 [email protected] Handle null return from WillPopCallback (flutter/flutter#127039) 2023-05-17 [email protected] Roll Flutter Engine from 6048360c1837 to 400a26ad8343 (1 revision) (flutter/flutter#127036) 2023-05-17 [email protected] Remove unused (and untested) parameters from private _MasterDetailFlow (flutter/flutter#126935) 2023-05-17 [email protected] Autocomplete async examples (flutter/flutter#126283) 2023-05-17 [email protected] Expose callback that allows focus traversal customization (flutter/flutter#120235) 2023-05-17 [email protected] Roll Packages from b971830 to 5c69914 (5 revisions) (flutter/flutter#127034) 2023-05-17 [email protected] Roll Flutter Engine from ea3f27383acc to 6048360c1837 (2 revisions) (flutter/flutter#127032) 2023-05-17 [email protected] Add missing `Switch.onFocusChange` test (flutter/flutter#126685) 2023-05-17 [email protected] Remove 'url_launcher' from pubspec.yaml. (flutter/flutter#126939) 2023-05-17 [email protected] Roll Flutter Engine from 4b7c37532ea4 to ea3f27383acc (1 revision) (flutter/flutter#126994) 2023-05-17 [email protected] Roll Flutter Engine from 170b45bae571 to 4b7c37532ea4 (1 revision) (flutter/flutter#126985) 2023-05-17 [email protected] Roll Flutter Engine from 28b9dc993c30 to 170b45bae571 (1 revision) (flutter/flutter#126981) 2023-05-17 [email protected] Roll Flutter Engine from 87a03e107df7 to 28b9dc993c30 (1 revision) (flutter/flutter#126974) 2023-05-17 [email protected] Roll Flutter Engine from 1c775e34e2d5 to 87a03e107df7 (3 revisions) (flutter/flutter#126968) 2023-05-16 [email protected] Fix style issues (flutter/flutter#122586) 2023-05-16 [email protected] Manual roll Flutter Engine from fe2476743b59 to 1c775e34e2d5 (10 revisions) (flutter/flutter#126961) 2023-05-16 [email protected] Make SlottedMultiChildRenderObjectWidgetMixin a concrete class (flutter/flutter#126108) 2023-05-16 [email protected] Add ScrollMetrics.extentTotal for completeness (flutter/flutter#126607) 2023-05-16 [email protected] Fix drone_dimensions. (flutter/flutter#126953) 2023-05-16 [email protected] Add checkmark style to CupertinoRadio (flutter/flutter#126480) 2023-05-16 [email protected] Move `Mac_build_test flutter_gallery__transition_perf_e2e_ios` to prod (flutter/flutter#126941) 2023-05-16 [email protected] Fix DataTableThemeData.copyWith handling of dataRowHeight (flutter/flutter#126943) 2023-05-16 [email protected] Fix copyWith method of ActionIconThemeData (flutter/flutter#126763) 2023-05-16 [email protected] 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 ...
Zulip is an open-source team chat app, with a new Flutter-based mobile client now in beta. This is that client's test suite. I believe these will be the only tests currently in this registry for an app, rather than a library. That should naturally give them a different mix of use cases and types of tests. Concretely, we've seen a handful of breaking changes over the past year that weren't caught by any of Flutter's existing test suites. These were in text hit-testing: zulip/zulip-flutter@ba7a2bf flutter/flutter#140621 and Material menu behavior: zulip/zulip-flutter@38ed6c8 flutter/flutter#130536 and SlottedContainerRenderObjectMixin gaining a type parameter: zulip/zulip-flutter@2f0f469 flutter/flutter#126108 I'm not complaining, to be clear, and none of these were particularly onerous for us to adapt to. By registering these tests, I'm hoping to provide feedback on future such breakages at a point where it's actionable. Omitted here are several tests that re-generate generated files and check they match what's in the tree. Those are pretty slow, and I think they're pretty insensitive to changes in the Flutter tree anyway; rather they depend on pigeon, json_serializable, build_runner, and drift_dev.
Zulip is an open-source team chat app, with a new Flutter-based mobile client now in beta. This is that client's test suite. I believe these will be the only tests currently in this registry for an app, rather than a library. That should naturally give them a different mix of use cases and types of tests. Concretely, we've seen a handful of breaking changes over the past year that weren't caught by any of Flutter's existing test suites. These were in text hit-testing: zulip/zulip-flutter@ba7a2bf flutter/flutter#140621 and Material menu behavior: zulip/zulip-flutter@38ed6c8 flutter/flutter#130536 and SlottedContainerRenderObjectMixin gaining a type parameter: zulip/zulip-flutter@2f0f469 flutter/flutter#126108 I'm not complaining, to be clear, and none of these were particularly onerous for us to adapt to. By registering these tests, I'm hoping to provide feedback on future such breakages at a point where it's actionable. Omitted here are several tests that re-generate generated files and check they match what's in the tree. Those are pretty slow, and I think they're pretty insensitive to changes in the Flutter tree anyway; rather they depend on pigeon, json_serializable, build_runner, and drift_dev.
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...