Mandoline: Support transforms and clipping of OOPIFs and events
commite0577a32bcd9ab47d30dbd51e0cc7003ab98b6d3
authorfsamuel <fsamuel@chromium.org>
Fri, 18 Sep 2015 00:14:07 +0000 (17 17:14 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 18 Sep 2015 00:15:09 +0000 (18 00:15 +0000)
tree21816910bcf42fe3f6c3a5f16081ec4cc7e32169
parent12e459621d3b0a4ecb425c3ebde19aacb2545838
Mandoline: Support transforms and clipping of OOPIFs and events

This CL enables basic transforms, clipping of iframe
graphical output and hit testing by leveraging
SurfaceAggregator, and SurfaceHittest.

Previously, DisplayManager's DrawViewTree was creating a
CompositorFrame with all the Surfaces in place.
SurfaceAggregator tries to put all the Surfaces together
but finds it has no work to do because all the
SurfaceDrawQuads are already in one CompositorFrame. By not
including subtrees of Views with Surfaces in the
CompositorFrame DisplayManager generates, we left
SurfaceAggregator do the heavy lifting for
transforms/clipping/opacity/etc.

BUG=496953
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review URL: https://codereview.chromium.org/1328953003

Cr-Commit-Position: refs/heads/master@{#349547}
12 files changed:
components/mus/connection_manager.cc
components/mus/display_manager.cc
components/mus/display_manager.h
components/mus/display_manager_delegate.h
components/mus/server_view.cc
components/mus/surfaces/surfaces_state.cc
components/mus/surfaces/surfaces_state.h
components/mus/surfaces/top_level_display_client.cc
components/mus/surfaces/top_level_display_client.h
components/mus/view_tree_host_impl.cc
components/mus/view_tree_host_impl.h
components/mus/view_tree_unittest.cc