DescriptionRoute selection bounds updates through the compositor
Currently, the selection bounds are queried at the start of each frame on the
main thread. If the bounds differ from the previous bounds, an updated
notification is sent to the browser. This approach is problematic for many
reasons, the chief of which being the inability of such updates to remain in
sync with content that is transformed on the compositor thread.
Instead, plumb the selection bounds region through the compositor, anchoring
each bound to the appropriate composited layer. This allows the compositor to
generated transformed bounds synchronized with transformed content, passed to
the browser with the CompositorFrameMetdadata.
Note that this patch only implements the compositor portion of the plumbing.
Enabling the feature in Blink and consuming the handle positions in the browser
will be done in https://codereview.chromium.org/359033002.
BUG=135959
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=280858
Patch Set 1 #Patch Set 2 : Cleanup #Patch Set 3 : Updates #
Total comments: 1
Patch Set 4 : Proper visibility #
Total comments: 4
Patch Set 5 : Use layer id #Patch Set 6 : Cleanup and removal of handle visibility changes #Patch Set 7 : Cleanup #Patch Set 8 : Remove flag #Patch Set 9 : Defer selection updates until after compositor scheduling #
Total comments: 10
Patch Set 10 : Code review #Patch Set 11 : Rebase and cleanup #Patch Set 12 : Add unit tests #Patch Set 13 : Rebase #Patch Set 14 : Remove IGNORED bound type #Patch Set 15 : Rebase #
Total comments: 8
Patch Set 16 : Code review #Patch Set 17 : Fix tests #Messages
Total messages: 20 (0 generated)
|