compositor-worker: cc->blink mutation plumbing
Add plubming to CC and blink to take a set of compositor mutation from LTHI
and apply them to associated elements in blink.
Compositor mutations are applied to the DOM element using a custom key frame
animation.
The following components are added:
- CompositorMutatorClient: Maintains current set mutations and
provide a callback that is invoked on main thread at begin
main frame to trigger application of mutations.
- CompositorMutationsTarget: Interface of the components that applies the
mutations.
- CustomCompositorAnimationManager: Takes a set of mutations and updates their
respective elements.
- CustomCompositorAnimations: Owns custom keyframe animation for the element
and can update it given a mutation.
The CompositorMutator and blink->cc plumbing of compositor proxies is in a followup patch: https://codereview.chromium.org/1625473002/
BUG=430155
TESTS=web/tests/CompositorWorkerTest.cpp
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1602343002
Cr-Commit-Position: refs/heads/master@{#386464}
27 files changed