DescriptionNot for review: Move the implementation of WebTransformOperations into chromium
This will actually need to land as multiple CLs, but posting this since seeing the overall result makes it easier to discuss the intermediate steps.
The overall result is:
1) A new class WebTransformOperationsImpl, in webkit/compositor_bindings, implements WebTransformOperations using an instance of a new class, cc::TransformOperations.
2) The WebTransformOperations interface is reduced to just the subset that WebKit needs.
3) WebCompositorSupportImpl provides createTransformOperations methods.
4) cc no longer needs to know anything about WebTransformOperations. All usage of WebTransformOperations within cc is replaced by usage of cc::TransformOperations.
5) cc::TransformOperations still uses WebKit::WebTransformationMatrix, but this can be replaced with gfx::Transform in a follow-up CL.
The plan is to get to this overall result via the following steps:
1) (chromium) Port the existing WebKit::WebTransformOperations to a new class, cc::TransformOperations. For all existing usage of WebTransformOperations inside cc, add code to use cc::TransformOperations instead, but put this new code behind #if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL. In webkit/compositor_bindings, define a new class WebTransformOperationsImpl that implements WebTransformOperations using an instance of cc::TransformOperations, but put this class behind #if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL. Also, define WebCompositorSupportImpl::createTransformOperations, that returns an instance of WebTransformOperationsImpl. For all existing usage of WebTransformOperations inside webkit/compositor_bindings, add code (behind #if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL) to use WebTransformOperationsImpl instead, extracting the underlying cc::TransformOperations before calling into cc.
2) (WebKit) Make WebTransformOperations pure virtual, and remove methods that are not used by WebKit. Define WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL. Add a createTransformOperations method to WebCompositorSupport.
3) (chromium) Remove code behind the #else branch of all the #if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL checks.
BUG=166640
Patch Set 1 #Patch Set 2 : New approach #
Total comments: 3
Messages
Total messages: 9 (0 generated)
|