On a local benchmark, removing compute is faster than compute in both debug and release mode on a Pixel 4. On a MotoG4, a much larger text sample (800 Kb) takes 50 ms, so we cannot simple remove the limit. Increase to 50 Kb which should take at most a ms or two on an older device, and only microseconds on newerones.
The remaining uses of this pattern were all due to wanting to have
the child's slot when `Element.forgetChild()` was called. However,
when that method is called, the child's `slot` value is still valid
in the context of the parent, so the uses can just use `child.slot`.
This is the final round of cleanup from the fallout of #63269
This wires up the new WindowProc delegation system that allows plugins
to handle top-level window messages (e.g., to control resize behavior).
Fixes#53168
* Redesigns the interface between MouseTracker and RendererBinding&RenderView.
* Simplifies the structure of RenderMouseRegion.
* Extracts the common utility code between mouse_tracker_test and mouse_tracker_cursor_test.
* (insert|move|remove)ChildRenderObject Deprecation: Step 1
This deprecates the following methods:
* RenderObjectElement.insertChildRenderObject
* RenderObjectElement.moveChildRenderObject
* RenderObjectElement.removeChildRenderObject
...and replaces them with the following methods:
* RenderObjectElement.insertRenderObjectChild
* RenderObjectElement.moveRenderObjectChild
* RenderObjectElement.removeRenderObjectChild
The reason for the deprecation is to provide the `oldSlot` argument to
the `moveRenderObjectChild` method (such an argument was missing from
the now-deprecated `moveChildRenderObject` method) and the `slot`
argument to the `removeRenderObjectChild` method (such an argument was
missing from the now-deprecated `removeChildRenderObject` method). While
no argument was added to `insertRenderObjectChild`, the name change (and
corresponding deprecation) was made to maintain naming parity with the
other two methods.
This initial step does not update or remove any of the `slotToChild`
patterns that exist in the framework. This work is being separated
into two commits in case something needs to be reverted to minimize
the scope of each commit.
See https://github.com/flutter/flutter/issues/63269 for more info