• Greg Price's avatar
    Add test for RenderProxyBoxMixin; clarify doc, resolve TODO (#117664) · cd125e1f
    Greg Price authored
    * Add test for RenderProxyBoxMixin; clarify doc, resolve TODO
    
    The TODO comment suggested this mixin would no longer be needed once
    a Dart issue on inherited constructors was fixed:
      https://github.com/dart-lang/sdk/issues/31543
    That issue is now long since fixed, so I went to go carry out the TODO.
    
    But in doing so, I realized that the mixin's documentation was more
    right than the TODO comment: even with that issue fixed, there is a
    legitimate use case for this mixin, namely to reuse the implementation
    of RenderProxyBox in a class that also inherits from some other base
    class.  Moreover, searching GitHub I found an example of a library
    that makes real use of that capability.
    
    So I think the right resolution is to accept that this separation
    is useful and delete the TODO.
    
    Then, add a test with an extremely simplified sketch of that
    real-world example.  In case someone in the future attempts to
    simplify this mixin away, the test will point us at the use case
    that would be broken by such a change.
    
    Also remove the only in-tree use of the mixin, which was redundant;
    and expand the mixin's documentation to advise about that case.
    
    * Tweak formatting
    Co-authored-by: 's avatarMichael Goderbauer <goderbauer@google.com>
    
    * Cut comments
    
    ---------
    Co-authored-by: 's avatarMichael Goderbauer <goderbauer@google.com>
    cd125e1f
Name
Last commit
Last update
..
animated_size.dart Loading commit data...
binding.dart Loading commit data...
box.dart Loading commit data...
custom_layout.dart Loading commit data...
custom_paint.dart Loading commit data...
debug.dart Loading commit data...
debug_overflow_indicator.dart Loading commit data...
editable.dart Loading commit data...
error.dart Loading commit data...
flex.dart Loading commit data...
flow.dart Loading commit data...
image.dart Loading commit data...
layer.dart Loading commit data...
layout_helper.dart Loading commit data...
list_body.dart Loading commit data...
list_wheel_viewport.dart Loading commit data...
mouse_tracker.dart Loading commit data...
object.dart Loading commit data...
paragraph.dart Loading commit data...
performance_overlay.dart Loading commit data...
platform_view.dart Loading commit data...
proxy_box.dart Loading commit data...
proxy_sliver.dart Loading commit data...
rotated_box.dart Loading commit data...
selection.dart Loading commit data...
service_extensions.dart Loading commit data...
shifted_box.dart Loading commit data...
sliver.dart Loading commit data...
sliver_fill.dart Loading commit data...
sliver_fixed_extent_list.dart Loading commit data...
sliver_grid.dart Loading commit data...
sliver_list.dart Loading commit data...
sliver_multi_box_adaptor.dart Loading commit data...
sliver_padding.dart Loading commit data...
sliver_persistent_header.dart Loading commit data...
stack.dart Loading commit data...
table.dart Loading commit data...
table_border.dart Loading commit data...
texture.dart Loading commit data...
tweens.dart Loading commit data...
view.dart Loading commit data...
viewport.dart Loading commit data...
viewport_offset.dart Loading commit data...
wrap.dart Loading commit data...