Index: cc/trees/layer_tree_host_impl_unittest.cc |
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc |
index 95d9dd6b2be572208c3ce5281f6e36732aff382f..6c46d8f4dba6ea77e7e0ced01c11c8496eae2ffd 100644 |
--- a/cc/trees/layer_tree_host_impl_unittest.cc |
+++ b/cc/trees/layer_tree_host_impl_unittest.cc |
@@ -48,6 +48,7 @@ |
#include "cc/test/fake_proxy.h" |
#include "cc/test/geometry_test_utils.h" |
#include "cc/test/layer_test_common.h" |
+#include "cc/test/layer_tree_test.h" |
#include "cc/test/render_pass_test_common.h" |
#include "cc/test/test_gpu_memory_buffer_manager.h" |
#include "cc/test/test_shared_bitmap_manager.h" |
@@ -175,6 +176,7 @@ class LayerTreeHostImplTest : public testing::Test, |
root->SetContentBounds(gfx::Size(10, 10)); |
root->SetDrawsContent(true); |
root->draw_properties().visible_content_rect = gfx::Rect(0, 0, 10, 10); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
} |
@@ -221,6 +223,7 @@ class LayerTreeHostImplTest : public testing::Test, |
root->SetBounds(content_size); |
root->SetContentBounds(content_size); |
root->SetPosition(gfx::PointF()); |
+ root->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> scroll = |
LayerImpl::Create(layer_tree_impl, kInnerViewportScrollLayerId); |
@@ -562,20 +565,6 @@ TEST_F(LayerTreeHostImplTest, ReplaceTreeWhileScrolling) { |
ExpectContains(*scroll_info, scroll_layer->id(), scroll_delta); |
} |
-TEST_F(LayerTreeHostImplTest, ClearRootRenderSurfaceAndScroll) { |
- SetupScrollAndContentsLayers(gfx::Size(100, 100)); |
- host_impl_->SetViewportSize(gfx::Size(50, 50)); |
- DrawFrame(); |
- |
- // We should be able to scroll even if the root layer loses its render surface |
- // after the most recent render. |
- host_impl_->active_tree()->root_layer()->ClearRenderSurface(); |
- host_impl_->active_tree()->set_needs_update_draw_properties(); |
- |
- EXPECT_EQ(InputHandler::ScrollStarted, |
- host_impl_->ScrollBegin(gfx::Point(), InputHandler::Wheel)); |
-} |
- |
TEST_F(LayerTreeHostImplTest, WheelEventHandlers) { |
SetupScrollAndContentsLayers(gfx::Size(100, 100)); |
host_impl_->SetViewportSize(gfx::Size(50, 50)); |
@@ -891,20 +880,6 @@ TEST_F(LayerTreeHostImplTest, ScrollWithUserUnscrollableLayers) { |
EXPECT_VECTOR_EQ(gfx::Vector2dF(10, 20), overflow->TotalScrollOffset()); |
} |
-TEST_F(LayerTreeHostImplTest, |
- ClearRootRenderSurfaceAndHitTestTouchHandlerRegion) { |
- SetupScrollAndContentsLayers(gfx::Size(100, 100)); |
- host_impl_->SetViewportSize(gfx::Size(50, 50)); |
- DrawFrame(); |
- |
- // We should be able to hit test for touch event handlers even if the root |
- // layer loses its render surface after the most recent render. |
- host_impl_->active_tree()->root_layer()->ClearRenderSurface(); |
- host_impl_->active_tree()->set_needs_update_draw_properties(); |
- |
- EXPECT_EQ(host_impl_->HaveTouchEventHandlersAt(gfx::Point()), false); |
-} |
- |
TEST_F(LayerTreeHostImplTest, ImplPinchZoom) { |
LayerImpl* scroll_layer = SetupScrollAndContentsLayers(gfx::Size(100, 100)); |
host_impl_->SetViewportSize(gfx::Size(50, 50)); |
@@ -1433,6 +1408,7 @@ class LayerTreeHostImplOverridePhysicalTime : public LayerTreeHostImpl { |
\ |
scroll->AddChild(contents.Pass()); \ |
root->AddChild(scroll.Pass()); \ |
+ root->SetHasRenderSurface(true); \ |
scrollbar->SetScrollLayerAndClipLayerByIds(2, 1); \ |
root->AddChild(scrollbar.Pass()); \ |
\ |
@@ -1577,6 +1553,7 @@ void LayerTreeHostImplTest::SetupMouseMoveAtWithDeviceScale( |
scoped_ptr<LayerImpl> root = |
LayerImpl::Create(host_impl_->active_tree(), 1); |
root->SetBounds(viewport_size); |
+ root->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> scroll = |
LayerImpl::Create(host_impl_->active_tree(), 2); |
@@ -1782,6 +1759,7 @@ TEST_F(LayerTreeHostImplTest, WillDrawReturningFalseDoesNotCall) { |
host_impl_->active_tree()->root_layer()); |
root->AddChild(DidDrawCheckLayer::Create(host_impl_->active_tree(), 2)); |
+ root->SetHasRenderSurface(true); |
DidDrawCheckLayer* layer = |
static_cast<DidDrawCheckLayer*>(root->children()[0]); |
@@ -1822,7 +1800,7 @@ TEST_F(LayerTreeHostImplTest, DidDrawNotCalledOnHiddenLayer) { |
DidDrawCheckLayer* root = static_cast<DidDrawCheckLayer*>( |
host_impl_->active_tree()->root_layer()); |
root->SetMasksToBounds(true); |
- |
+ root->SetHasRenderSurface(true); |
root->AddChild(DidDrawCheckLayer::Create(host_impl_->active_tree(), 2)); |
DidDrawCheckLayer* layer = |
static_cast<DidDrawCheckLayer*>(root->children()[0]); |
@@ -1875,6 +1853,7 @@ TEST_F(LayerTreeHostImplTest, WillDrawNotCalledOnOccludedLayer) { |
static_cast<DidDrawCheckLayer*>(root->children()[0]); |
root->AddChild(DidDrawCheckLayer::Create(host_impl_->active_tree(), 3)); |
+ root->SetHasRenderSurface(true); |
DidDrawCheckLayer* top_layer = |
static_cast<DidDrawCheckLayer*>(root->children()[1]); |
// This layer covers the occluded_layer above. Make this layer large so it can |
@@ -1907,6 +1886,7 @@ TEST_F(LayerTreeHostImplTest, DidDrawCalledOnAllLayers) { |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
root->AddChild(DidDrawCheckLayer::Create(host_impl_->active_tree(), 2)); |
+ root->SetHasRenderSurface(true); |
DidDrawCheckLayer* layer1 = |
static_cast<DidDrawCheckLayer*>(root->children()[0]); |
@@ -1914,7 +1894,7 @@ TEST_F(LayerTreeHostImplTest, DidDrawCalledOnAllLayers) { |
DidDrawCheckLayer* layer2 = |
static_cast<DidDrawCheckLayer*>(layer1->children()[0]); |
- layer1->SetOpacity(0.3f); |
+ layer1->SetHasRenderSurface(true); |
layer1->SetShouldFlattenTransform(true); |
EXPECT_FALSE(root->did_draw_called()); |
@@ -1986,7 +1966,7 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsOnDefault) { |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 1)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
- |
+ root->SetHasRenderSurface(true); |
bool tile_missing = false; |
bool had_incomplete_tile = false; |
bool is_animating = false; |
@@ -2010,6 +1990,7 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWithAnimatedLayer) { |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 1)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ root->SetHasRenderSurface(true); |
bool tile_missing = false; |
bool had_incomplete_tile = false; |
bool is_animating = true; |
@@ -2033,6 +2014,7 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWithMissingTiles) { |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 3)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ root->SetHasRenderSurface(true); |
LayerTreeHostImpl::FrameData frame; |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -2061,6 +2043,7 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWithIncompleteTile) { |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 3)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ root->SetHasRenderSurface(true); |
LayerTreeHostImpl::FrameData frame; |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -2090,6 +2073,7 @@ TEST_F(LayerTreeHostImplTest, |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 5)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ root->SetHasRenderSurface(true); |
LayerTreeHostImpl::FrameData frame; |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -2120,6 +2104,7 @@ TEST_F(LayerTreeHostImplTest, |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 5)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ root->SetHasRenderSurface(true); |
LayerTreeHostImpl::FrameData frame; |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -2148,6 +2133,7 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWhenHighResRequired) { |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 7)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ root->SetHasRenderSurface(true); |
LayerTreeHostImpl::FrameData frame; |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -2178,6 +2164,7 @@ TEST_F(LayerTreeHostImplTest, |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 7)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ root->SetHasRenderSurface(true); |
LayerTreeHostImpl::FrameData frame; |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -2209,6 +2196,7 @@ TEST_F(LayerTreeHostImplTest, |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 7)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ root->SetHasRenderSurface(true); |
LayerTreeHostImpl::FrameData frame; |
EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
@@ -2237,6 +2225,7 @@ TEST_F(LayerTreeHostImplTest, |
TEST_F(LayerTreeHostImplTest, ScrollRootIgnored) { |
scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->active_tree(), 1); |
root->SetScrollClipLayer(Layer::INVALID_ID); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
DrawFrame(); |
@@ -2291,7 +2280,9 @@ class LayerTreeHostImplTopControlsTest : public LayerTreeHostImplTest { |
root->SetIsContainerForFixedPositionLayers(true); |
int inner_viewport_scroll_layer_id = root->id(); |
int page_scale_layer_id = root_clip->id(); |
+ root_clip->SetHasRenderSurface(true); |
root_clip->AddChild(root.Pass()); |
+ root_clip->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root_clip.Pass()); |
host_impl_->active_tree()->SetViewportLayersFromIds( |
Layer::INVALID_ID, page_scale_layer_id, inner_viewport_scroll_layer_id, |
@@ -2356,7 +2347,7 @@ class LayerTreeHostImplTopControlsTest : public LayerTreeHostImplTest { |
root->SetPosition(gfx::PointF()); |
root->SetDrawsContent(false); |
root->SetIsContainerForFixedPositionLayers(true); |
- |
+ root_clip->SetHasRenderSurface(true); |
outer_clip->SetBounds(outer_viewport_size); |
outer_scroll->SetScrollClipLayer(outer_clip->id()); |
outer_scroll->SetBounds(scroll_layer_size); |
@@ -2929,6 +2920,7 @@ TEST_F(LayerTreeHostImplTest, ScrollNonCompositedRoot) { |
scroll_layer->AddChild(content_layer.Pass()); |
scroll_clip_layer->AddChild(scroll_layer.Pass()); |
+ scroll_clip_layer->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(scroll_clip_layer.Pass()); |
host_impl_->SetViewportSize(surface_size); |
DrawFrame(); |
@@ -2949,6 +2941,7 @@ TEST_F(LayerTreeHostImplTest, ScrollChildCallsCommitAndRedraw) { |
root->SetBounds(surface_size); |
root->SetContentBounds(contents_size); |
root->AddChild(CreateScrollableLayer(2, contents_size, root.get())); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
host_impl_->SetViewportSize(surface_size); |
DrawFrame(); |
@@ -2966,6 +2959,7 @@ TEST_F(LayerTreeHostImplTest, ScrollMissesChild) { |
gfx::Size surface_size(10, 10); |
scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->active_tree(), 1); |
root->AddChild(CreateScrollableLayer(2, surface_size, root.get())); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
host_impl_->SetViewportSize(surface_size); |
DrawFrame(); |
@@ -2982,6 +2976,7 @@ TEST_F(LayerTreeHostImplTest, ScrollMissesChild) { |
TEST_F(LayerTreeHostImplTest, ScrollMissesBackfacingChild) { |
gfx::Size surface_size(10, 10); |
scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->active_tree(), 1); |
+ root->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> child = |
CreateScrollableLayer(2, surface_size, root.get()); |
host_impl_->SetViewportSize(surface_size); |
@@ -3019,6 +3014,7 @@ TEST_F(LayerTreeHostImplTest, ScrollBlockedByContentLayer) { |
CreateScrollableLayer(2, surface_size, clip_layer.get()); |
scroll_layer->AddChild(content_layer.Pass()); |
clip_layer->AddChild(scroll_layer.Pass()); |
+ clip_layer->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(clip_layer.Pass()); |
host_impl_->SetViewportSize(surface_size); |
@@ -3044,6 +3040,7 @@ TEST_F(LayerTreeHostImplTest, ScrollRootAndChangePageScaleOnMainThread) { |
root_scrolling->SetIsContainerForFixedPositionLayers(true); |
root_clip->AddChild(root_scrolling.Pass()); |
root->AddChild(root_clip.Pass()); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
// The behaviour in this test assumes the page scale is applied at a layer |
// above the clip layer. |
@@ -3094,6 +3091,7 @@ TEST_F(LayerTreeHostImplTest, ScrollRootAndChangePageScaleOnImplThread) { |
root_scrolling->SetIsContainerForFixedPositionLayers(true); |
root_clip->AddChild(root_scrolling.Pass()); |
root->AddChild(root_clip.Pass()); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
// The behaviour in this test assumes the page scale is applied at a layer |
// above the clip layer. |
@@ -3199,6 +3197,7 @@ TEST_F(LayerTreeHostImplTest, ScrollChildAndChangePageScaleOnMainThread) { |
gfx::Size surface_size(30, 30); |
scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->active_tree(), 1); |
root->SetBounds(gfx::Size(5, 5)); |
+ root->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> root_scrolling = |
LayerImpl::Create(host_impl_->active_tree(), 2); |
root_scrolling->SetBounds(surface_size); |
@@ -3254,7 +3253,7 @@ TEST_F(LayerTreeHostImplTest, ScrollChildBeyondLimit) { |
gfx::Size content_size(20, 20); |
scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->active_tree(), 1); |
root->SetBounds(surface_size); |
- |
+ root->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> grand_child = |
CreateScrollableLayer(3, content_size, root.get()); |
@@ -3299,6 +3298,7 @@ TEST_F(LayerTreeHostImplTest, ScrollWithoutBubbling) { |
gfx::Size surface_size(20, 20); |
gfx::Size viewport_size(10, 10); |
scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->active_tree(), 1); |
+ root->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> root_scrolling = |
CreateScrollableLayer(2, surface_size, root.get()); |
root_scrolling->SetIsContainerForFixedPositionLayers(true); |
@@ -3408,6 +3408,7 @@ TEST_F(LayerTreeHostImplTest, ScrollEventBubbling) { |
gfx::Size content_size(20, 20); |
scoped_ptr<LayerImpl> root_clip = |
LayerImpl::Create(host_impl_->active_tree(), 3); |
+ root_clip->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> root = |
CreateScrollableLayer(1, content_size, root_clip.get()); |
// Make 'root' the clip layer for child: since they have the same sizes the |
@@ -3451,6 +3452,7 @@ TEST_F(LayerTreeHostImplTest, ScrollBeforeRedraw) { |
scoped_ptr<LayerImpl> root_scroll = |
CreateScrollableLayer(2, surface_size, root_clip.get()); |
root_scroll->SetIsContainerForFixedPositionLayers(true); |
+ root_clip->SetHasRenderSurface(true); |
root_clip->AddChild(root_scroll.Pass()); |
host_impl_->active_tree()->SetRootLayer(root_clip.Pass()); |
host_impl_->active_tree()->SetViewportLayersFromIds(Layer::INVALID_ID, 1, 2, |
@@ -3468,6 +3470,7 @@ TEST_F(LayerTreeHostImplTest, ScrollBeforeRedraw) { |
CreateScrollableLayer(4, surface_size, root_clip2.get()); |
root_scroll2->SetIsContainerForFixedPositionLayers(true); |
root_clip2->AddChild(root_scroll2.Pass()); |
+ root_clip2->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root_clip2.Pass()); |
host_impl_->active_tree()->SetViewportLayersFromIds(Layer::INVALID_ID, 3, 4, |
Layer::INVALID_ID); |
@@ -3982,6 +3985,8 @@ TEST_F(LayerTreeHostImplTest, OverscrollChildWithoutBubbling) { |
gfx::Size surface_size(10, 10); |
scoped_ptr<LayerImpl> root_clip = |
LayerImpl::Create(host_impl_->active_tree(), 4); |
+ root_clip->SetHasRenderSurface(true); |
+ |
scoped_ptr<LayerImpl> root = |
CreateScrollableLayer(1, surface_size, root_clip.get()); |
@@ -4046,6 +4051,8 @@ TEST_F(LayerTreeHostImplTest, OverscrollChildEventBubbling) { |
gfx::Size content_size(20, 20); |
scoped_ptr<LayerImpl> root_clip = |
LayerImpl::Create(host_impl_->active_tree(), 3); |
+ root_clip->SetHasRenderSurface(true); |
+ |
scoped_ptr<LayerImpl> root = |
CreateScrollableLayer(1, content_size, root_clip.get()); |
root->SetIsContainerForFixedPositionLayers(true); |
@@ -4102,6 +4109,8 @@ TEST_F(LayerTreeHostImplTest, NoOverscrollOnFractionalDeviceScale) { |
float device_scale_factor = 1.5f; |
scoped_ptr<LayerImpl> root_clip = |
LayerImpl::Create(host_impl_->active_tree(), 3); |
+ root_clip->SetHasRenderSurface(true); |
+ |
scoped_ptr<LayerImpl> root = |
CreateScrollableLayer(1, content_size, root_clip.get()); |
root->SetIsContainerForFixedPositionLayers(true); |
@@ -4141,6 +4150,8 @@ TEST_F(LayerTreeHostImplTest, NoOverscrollWhenNotAtEdge) { |
gfx::Size content_size(200, 200); |
scoped_ptr<LayerImpl> root_clip = |
LayerImpl::Create(host_impl_->active_tree(), 3); |
+ root_clip->SetHasRenderSurface(true); |
+ |
scoped_ptr<LayerImpl> root = |
CreateScrollableLayer(1, content_size, root_clip.get()); |
root->SetIsContainerForFixedPositionLayers(true); |
@@ -4287,6 +4298,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
root->SetBounds(gfx::Size(10, 10)); |
root->SetContentBounds(root->bounds()); |
root->SetDrawsContent(false); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
} |
LayerImpl* root = host_impl_->active_tree()->root_layer(); |
@@ -4396,6 +4408,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
// carries the inherited opacity). |
layer1->SetContentsOpaque(true); |
layer1->SetOpacity(0.5f); |
+ layer1->SetHasRenderSurface(true); |
layer1->SetExpectation(false, true); |
layer1->SetUpdateRect(gfx::Rect(layer1->content_bounds())); |
layer2->SetExpectation(false, false); |
@@ -4407,6 +4420,7 @@ TEST_F(LayerTreeHostImplTest, BlendingOffWhenDrawingOpaqueLayers) { |
EXPECT_TRUE(layer1->quads_appended()); |
EXPECT_TRUE(layer2->quads_appended()); |
host_impl_->DidDrawAllLayers(frame); |
+ layer1->SetHasRenderSurface(false); |
// Draw again, but with child non-opaque, to make sure |
// layer1 not culled. |
@@ -4523,6 +4537,7 @@ class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest { |
host_impl_->active_tree()->set_background_color(SK_ColorGRAY); |
host_impl_->active_tree()->SetRootLayer( |
LayerImpl::Create(host_impl_->active_tree(), 1)); |
+ host_impl_->active_tree()->root_layer()->SetHasRenderSurface(true); |
host_impl_->active_tree()->root_layer()->AddChild( |
BlendStateCheckLayer::Create(host_impl_->active_tree(), |
2, |
@@ -4813,6 +4828,7 @@ TEST_F(LayerTreeHostImplTest, ReshapeNotCalledUntilDraw) { |
root->SetBounds(gfx::Size(10, 10)); |
root->SetContentBounds(gfx::Size(10, 10)); |
root->SetDrawsContent(true); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
EXPECT_FALSE(provider->TestContext3d()->reshape_called()); |
provider->TestContext3d()->clear_reshape_called(); |
@@ -4881,6 +4897,7 @@ TEST_F(LayerTreeHostImplTest, PartialSwapReceivesDamageRect) { |
scoped_ptr<LayerImpl> root = |
FakeDrawableLayerImpl::Create(layer_tree_host_impl->active_tree(), 1); |
+ root->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> child = |
FakeDrawableLayerImpl::Create(layer_tree_host_impl->active_tree(), 2); |
child->SetPosition(gfx::PointF(12.f, 13.f)); |
@@ -4947,7 +4964,7 @@ TEST_F(LayerTreeHostImplTest, RootLayerDoesntCreateExtraSurface) { |
root->SetBounds(gfx::Size(10, 10)); |
root->SetContentBounds(gfx::Size(10, 10)); |
root->SetDrawsContent(true); |
- root->SetForceRenderSurface(true); |
+ root->SetHasRenderSurface(true); |
root->AddChild(child.Pass()); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
@@ -5196,7 +5213,7 @@ static scoped_ptr<LayerTreeHostImpl> SetupLayersForOpacity( |
gfx::Rect child_rect(10, 10, 50, 50); |
gfx::Rect grand_child_rect(5, 5, 150, 150); |
- root->CreateRenderSurface(); |
+ root->SetHasRenderSurface(true); |
root->SetPosition(root_rect.origin()); |
root->SetBounds(root_rect.size()); |
root->SetContentBounds(root->bounds()); |
@@ -5210,7 +5227,7 @@ static scoped_ptr<LayerTreeHostImpl> SetupLayersForOpacity( |
child->SetContentBounds(child->bounds()); |
child->draw_properties().visible_content_rect = child_rect; |
child->SetDrawsContent(false); |
- child->SetForceRenderSurface(true); |
+ child->SetHasRenderSurface(true); |
grand_child->SetPosition(grand_child_rect.origin()); |
grand_child->SetBounds(grand_child_rect.size()); |
@@ -5290,6 +5307,7 @@ TEST_F(LayerTreeHostImplTest, LayersFreeTextures) { |
scoped_ptr<LayerImpl> root_layer = |
LayerImpl::Create(host_impl_->active_tree(), 1); |
root_layer->SetBounds(gfx::Size(10, 10)); |
+ root_layer->SetHasRenderSurface(true); |
scoped_ptr<IOSurfaceLayerImpl> io_surface_layer = |
IOSurfaceLayerImpl::Create(host_impl_->active_tree(), 5); |
@@ -5452,6 +5470,7 @@ TEST_F(LayerTreeHostImplTestWithDelegatingRenderer, FrameIncludesDamageRect) { |
root->SetBounds(gfx::Size(10, 10)); |
root->SetContentBounds(gfx::Size(10, 10)); |
root->SetDrawsContent(true); |
+ root->SetHasRenderSurface(true); |
// Child layer is in the bottom right corner. |
scoped_ptr<SolidColorLayerImpl> child = |
@@ -5518,6 +5537,7 @@ TEST_F(LayerTreeHostImplTest, MaskLayerWithScaling) { |
scoped_ptr<LayerImpl> scoped_root = |
LayerImpl::Create(host_impl_->active_tree(), 1); |
LayerImpl* root = scoped_root.get(); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(scoped_root.Pass()); |
scoped_ptr<LayerImpl> scoped_scaling_layer = |
@@ -5533,6 +5553,7 @@ TEST_F(LayerTreeHostImplTest, MaskLayerWithScaling) { |
scoped_ptr<FakeMaskLayerImpl> scoped_mask_layer = |
FakeMaskLayerImpl::Create(host_impl_->active_tree(), 4); |
FakeMaskLayerImpl* mask_layer = scoped_mask_layer.get(); |
+ content_layer->SetHasRenderSurface(true); |
content_layer->SetMaskLayer(scoped_mask_layer.Pass()); |
gfx::Size root_size(100, 100); |
@@ -5658,6 +5679,8 @@ TEST_F(LayerTreeHostImplTest, MaskLayerWithDifferentBounds) { |
scoped_ptr<LayerImpl> scoped_root = |
LayerImpl::Create(host_impl_->active_tree(), 1); |
LayerImpl* root = scoped_root.get(); |
+ root->SetHasRenderSurface(true); |
+ |
host_impl_->active_tree()->SetRootLayer(scoped_root.Pass()); |
scoped_ptr<LayerImpl> scoped_content_layer = |
@@ -5669,6 +5692,7 @@ TEST_F(LayerTreeHostImplTest, MaskLayerWithDifferentBounds) { |
FakeMaskLayerImpl::Create(host_impl_->active_tree(), 4); |
FakeMaskLayerImpl* mask_layer = scoped_mask_layer.get(); |
content_layer->SetMaskLayer(scoped_mask_layer.Pass()); |
+ content_layer->SetHasRenderSurface(true); |
gfx::Size root_size(100, 100); |
root->SetBounds(root_size); |
@@ -5812,6 +5836,8 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerWithDifferentBounds) { |
scoped_ptr<LayerImpl> scoped_root = |
LayerImpl::Create(host_impl_->active_tree(), 1); |
LayerImpl* root = scoped_root.get(); |
+ root->SetHasRenderSurface(true); |
+ |
host_impl_->active_tree()->SetRootLayer(scoped_root.Pass()); |
scoped_ptr<LayerImpl> scoped_content_layer = |
@@ -5823,11 +5849,13 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerWithDifferentBounds) { |
LayerImpl::Create(host_impl_->active_tree(), 2); |
LayerImpl* replica_layer = scoped_replica_layer.get(); |
content_layer->SetReplicaLayer(scoped_replica_layer.Pass()); |
+ content_layer->SetHasRenderSurface(true); |
scoped_ptr<FakeMaskLayerImpl> scoped_mask_layer = |
FakeMaskLayerImpl::Create(host_impl_->active_tree(), 4); |
FakeMaskLayerImpl* mask_layer = scoped_mask_layer.get(); |
replica_layer->SetMaskLayer(scoped_mask_layer.Pass()); |
+ replica_layer->SetHasRenderSurface(true); |
gfx::Size root_size(100, 100); |
root->SetBounds(root_size); |
@@ -5967,6 +5995,7 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerForSurfaceWithUnclippedChild) { |
scoped_ptr<LayerImpl> scoped_root = |
LayerImpl::Create(host_impl_->active_tree(), 1); |
LayerImpl* root = scoped_root.get(); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(scoped_root.Pass()); |
scoped_ptr<LayerImpl> scoped_content_layer = |
@@ -5983,11 +6012,13 @@ TEST_F(LayerTreeHostImplTest, ReflectionMaskLayerForSurfaceWithUnclippedChild) { |
LayerImpl::Create(host_impl_->active_tree(), 4); |
LayerImpl* replica_layer = scoped_replica_layer.get(); |
content_layer->SetReplicaLayer(scoped_replica_layer.Pass()); |
+ content_layer->SetHasRenderSurface(true); |
scoped_ptr<FakeMaskLayerImpl> scoped_mask_layer = |
FakeMaskLayerImpl::Create(host_impl_->active_tree(), 5); |
FakeMaskLayerImpl* mask_layer = scoped_mask_layer.get(); |
replica_layer->SetMaskLayer(scoped_mask_layer.Pass()); |
+ replica_layer->SetHasRenderSurface(true); |
gfx::Size root_size(100, 100); |
root->SetBounds(root_size); |
@@ -6091,6 +6122,8 @@ TEST_F(LayerTreeHostImplTest, MaskLayerForSurfaceWithClippedLayer) { |
scoped_ptr<LayerImpl> scoped_root = |
LayerImpl::Create(host_impl_->active_tree(), 1); |
LayerImpl* root = scoped_root.get(); |
+ root->SetHasRenderSurface(true); |
+ |
host_impl_->active_tree()->SetRootLayer(scoped_root.Pass()); |
scoped_ptr<LayerImpl> scoped_clipping_layer = |
@@ -6112,6 +6145,7 @@ TEST_F(LayerTreeHostImplTest, MaskLayerForSurfaceWithClippedLayer) { |
FakeMaskLayerImpl::Create(host_impl_->active_tree(), 6); |
FakeMaskLayerImpl* mask_layer = scoped_mask_layer.get(); |
content_layer->SetMaskLayer(scoped_mask_layer.Pass()); |
+ content_layer->SetHasRenderSurface(true); |
gfx::Size root_size(100, 100); |
root->SetBounds(root_size); |
@@ -6197,6 +6231,7 @@ TEST_F(LayerTreeHostImplTest, FarAwayQuadsDontNeedAA) { |
scoped_ptr<LayerImpl> scoped_root = |
LayerImpl::Create(host_impl_->pending_tree(), 1); |
LayerImpl* root = scoped_root.get(); |
+ root->SetHasRenderSurface(true); |
host_impl_->pending_tree()->SetRootLayer(scoped_root.Pass()); |
@@ -6688,6 +6723,8 @@ TEST_F(LayerTreeHostImplTest, TouchFlingShouldNotBubble) { |
gfx::Size content_size(20, 20); |
scoped_ptr<LayerImpl> root_clip = |
LayerImpl::Create(host_impl_->active_tree(), 3); |
+ root_clip->SetHasRenderSurface(true); |
+ |
scoped_ptr<LayerImpl> root = |
CreateScrollableLayer(1, content_size, root_clip.get()); |
root->SetIsContainerForFixedPositionLayers(true); |
@@ -6732,6 +6769,7 @@ TEST_F(LayerTreeHostImplTest, TouchFlingShouldLockToFirstScrolledLayer) { |
// the scroll doesn't bubble up to the parent layer. |
gfx::Size surface_size(10, 10); |
scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->active_tree(), 1); |
+ root->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> root_scrolling = |
CreateScrollableLayer(2, surface_size, root.get()); |
@@ -6802,6 +6840,7 @@ TEST_F(LayerTreeHostImplTest, WheelFlingShouldBubble) { |
gfx::Size content_size(20, 20); |
scoped_ptr<LayerImpl> root_clip = |
LayerImpl::Create(host_impl_->active_tree(), 3); |
+ root_clip->SetHasRenderSurface(true); |
scoped_ptr<LayerImpl> root_scroll = |
CreateScrollableLayer(1, content_size, root_clip.get()); |
int root_scroll_id = root_scroll->id(); |
@@ -7005,6 +7044,7 @@ TEST_F(LayerTreeHostImplTest, LatencyInfoPassedToCompositorFrameMetadata) { |
root->SetBounds(gfx::Size(10, 10)); |
root->SetContentBounds(gfx::Size(10, 10)); |
root->SetDrawsContent(true); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
@@ -7045,6 +7085,7 @@ TEST_F(LayerTreeHostImplTest, SelectionBoundsPassedToCompositorFrameMetadata) { |
root->SetBounds(gfx::Size(10, 10)); |
root->SetContentBounds(gfx::Size(10, 10)); |
root->SetDrawsContent(true); |
+ root->SetHasRenderSurface(true); |
host_impl_->active_tree()->SetRootLayer(root.Pass()); |
@@ -7570,6 +7611,7 @@ class LayerTreeHostImplVirtualViewportTest : public LayerTreeHostImplTest { |
page_scale->AddChild(inner_scroll.Pass()); |
inner_clip->AddChild(page_scale.Pass()); |
+ inner_clip->SetHasRenderSurface(true); |
layer_tree_impl->SetRootLayer(inner_clip.Pass()); |
layer_tree_impl->SetViewportLayersFromIds( |
Layer::INVALID_ID, kPageScaleLayerId, kInnerViewportScrollLayerId, |