| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layer_tree_host_impl.h" | 5 #include "cc/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 | 408 |
| 409 TEST_P(LayerTreeHostImplTest, clearRootRenderSurfaceAndScroll) | 409 TEST_P(LayerTreeHostImplTest, clearRootRenderSurfaceAndScroll) |
| 410 { | 410 { |
| 411 setupScrollAndContentsLayers(gfx::Size(100, 100)); | 411 setupScrollAndContentsLayers(gfx::Size(100, 100)); |
| 412 m_hostImpl->setViewportSize(gfx::Size(50, 50), gfx::Size(50, 50)); | 412 m_hostImpl->setViewportSize(gfx::Size(50, 50), gfx::Size(50, 50)); |
| 413 initializeRendererAndDrawFrame(); | 413 initializeRendererAndDrawFrame(); |
| 414 | 414 |
| 415 // We should be able to scroll even if the root layer loses its render surfa
ce after the most | 415 // We should be able to scroll even if the root layer loses its render surfa
ce after the most |
| 416 // recent render. | 416 // recent render. |
| 417 m_hostImpl->rootLayer()->clearRenderSurface(); | 417 m_hostImpl->rootLayer()->clearRenderSurface(); |
| 418 m_hostImpl->setNeedsUpdateDrawProperties(); |
| 419 |
| 418 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(0, 0), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); | 420 EXPECT_EQ(m_hostImpl->scrollBegin(gfx::Point(0, 0), InputHandlerClient::Whee
l), InputHandlerClient::ScrollStarted); |
| 419 } | 421 } |
| 420 | 422 |
| 421 TEST_P(LayerTreeHostImplTest, wheelEventHandlers) | 423 TEST_P(LayerTreeHostImplTest, wheelEventHandlers) |
| 422 { | 424 { |
| 423 setupScrollAndContentsLayers(gfx::Size(100, 100)); | 425 setupScrollAndContentsLayers(gfx::Size(100, 100)); |
| 424 m_hostImpl->setViewportSize(gfx::Size(50, 50), gfx::Size(50, 50)); | 426 m_hostImpl->setViewportSize(gfx::Size(50, 50), gfx::Size(50, 50)); |
| 425 initializeRendererAndDrawFrame(); | 427 initializeRendererAndDrawFrame(); |
| 426 LayerImpl* root = m_hostImpl->rootLayer(); | 428 LayerImpl* root = m_hostImpl->rootLayer(); |
| 427 | 429 |
| (...skipping 1496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1924 gfx::Rect layerRect(0, 0, 0, 0); | 1926 gfx::Rect layerRect(0, 0, 0, 0); |
| 1925 child->setPosition(layerRect.origin()); | 1927 child->setPosition(layerRect.origin()); |
| 1926 child->setBounds(layerRect.size()); | 1928 child->setBounds(layerRect.size()); |
| 1927 child->setContentBounds(layerRect.size()); | 1929 child->setContentBounds(layerRect.size()); |
| 1928 child->setQuadRect(gfx::Rect(gfx::Point(), layerRect.size())); | 1930 child->setQuadRect(gfx::Rect(gfx::Point(), layerRect.size())); |
| 1929 child->setQuadVisibleRect(gfx::Rect(gfx::Point(), layerRect.size())); | 1931 child->setQuadVisibleRect(gfx::Rect(gfx::Point(), layerRect.size())); |
| 1930 | 1932 |
| 1931 LayerTreeHostImpl::FrameData frame; | 1933 LayerTreeHostImpl::FrameData frame; |
| 1932 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 1934 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
| 1933 ASSERT_EQ(1u, frame.renderPasses.size()); | 1935 ASSERT_EQ(1u, frame.renderPasses.size()); |
| 1934 m_hostImpl->didDrawAllLayers(frame); | |
| 1935 | 1936 |
| 1936 size_t numGutterQuads = 0; | 1937 size_t numGutterQuads = 0; |
| 1937 for (size_t i = 0; i < frame.renderPasses[0]->quad_list.size(); ++i) | 1938 for (size_t i = 0; i < frame.renderPasses[0]->quad_list.size(); ++i) |
| 1938 numGutterQuads += (frame.renderPasses[0]->quad_list[i]->material ==
DrawQuad::SOLID_COLOR) ? 1 : 0; | 1939 numGutterQuads += (frame.renderPasses[0]->quad_list[i]->material ==
DrawQuad::SOLID_COLOR) ? 1 : 0; |
| 1939 EXPECT_EQ(1u, numGutterQuads); | 1940 EXPECT_EQ(1u, numGutterQuads); |
| 1940 EXPECT_EQ(1u, frame.renderPasses[0]->quad_list.size()); | 1941 EXPECT_EQ(1u, frame.renderPasses[0]->quad_list.size()); |
| 1941 | 1942 |
| 1942 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quad_list, gfx::Rect(
gfx::Point(), viewportSize)); | 1943 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quad_list, gfx::Rect(
gfx::Point(), viewportSize)); |
| 1943 m_hostImpl->didDrawAllLayers(frame); | 1944 m_hostImpl->didDrawAllLayers(frame); |
| 1944 } | 1945 } |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2043 PartialSwapTrackerContext* partialSwapTracker = static_cast<PartialSwapTrack
erContext*>(outputSurface->Context3D()); | 2044 PartialSwapTrackerContext* partialSwapTracker = static_cast<PartialSwapTrack
erContext*>(outputSurface->Context3D()); |
| 2044 | 2045 |
| 2045 // This test creates its own LayerTreeHostImpl, so | 2046 // This test creates its own LayerTreeHostImpl, so |
| 2046 // that we can force partial swap enabled. | 2047 // that we can force partial swap enabled. |
| 2047 LayerTreeSettings settings; | 2048 LayerTreeSettings settings; |
| 2048 settings.partialSwapEnabled = true; | 2049 settings.partialSwapEnabled = true; |
| 2049 scoped_ptr<LayerTreeHostImpl> layerTreeHostImpl = LayerTreeHostImpl::create(
settings, this, &m_proxy); | 2050 scoped_ptr<LayerTreeHostImpl> layerTreeHostImpl = LayerTreeHostImpl::create(
settings, this, &m_proxy); |
| 2050 layerTreeHostImpl->initializeRenderer(outputSurface.Pass()); | 2051 layerTreeHostImpl->initializeRenderer(outputSurface.Pass()); |
| 2051 layerTreeHostImpl->setViewportSize(gfx::Size(500, 500), gfx::Size(500, 500))
; | 2052 layerTreeHostImpl->setViewportSize(gfx::Size(500, 500), gfx::Size(500, 500))
; |
| 2052 | 2053 |
| 2053 scoped_ptr<LayerImpl> root = FakeDrawableLayerImpl::create(m_hostImpl.get(),
1); | 2054 scoped_ptr<LayerImpl> root = FakeDrawableLayerImpl::create(layerTreeHostImpl
.get(), 1); |
| 2054 scoped_ptr<LayerImpl> child = FakeDrawableLayerImpl::create(m_hostImpl.get()
, 2); | 2055 scoped_ptr<LayerImpl> child = FakeDrawableLayerImpl::create(layerTreeHostImp
l.get(), 2); |
| 2055 child->setPosition(gfx::PointF(12, 13)); | 2056 child->setPosition(gfx::PointF(12, 13)); |
| 2056 child->setAnchorPoint(gfx::PointF(0, 0)); | 2057 child->setAnchorPoint(gfx::PointF(0, 0)); |
| 2057 child->setBounds(gfx::Size(14, 15)); | 2058 child->setBounds(gfx::Size(14, 15)); |
| 2058 child->setContentBounds(gfx::Size(14, 15)); | 2059 child->setContentBounds(gfx::Size(14, 15)); |
| 2059 child->setDrawsContent(true); | 2060 child->setDrawsContent(true); |
| 2060 root->setAnchorPoint(gfx::PointF(0, 0)); | 2061 root->setAnchorPoint(gfx::PointF(0, 0)); |
| 2061 root->setBounds(gfx::Size(500, 500)); | 2062 root->setBounds(gfx::Size(500, 500)); |
| 2062 root->setContentBounds(gfx::Size(500, 500)); | 2063 root->setContentBounds(gfx::Size(500, 500)); |
| 2063 root->setDrawsContent(true); | 2064 root->setDrawsContent(true); |
| 2064 root->addChild(child.Pass()); | 2065 root->addChild(child.Pass()); |
| (...skipping 2862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4927 gfx::Rect noDamage = gfx::Rect(m_hostImpl->deviceViewportSize()); | 4928 gfx::Rect noDamage = gfx::Rect(m_hostImpl->deviceViewportSize()); |
| 4928 drawFrameAndTestDamage(noDamage); | 4929 drawFrameAndTestDamage(noDamage); |
| 4929 } | 4930 } |
| 4930 | 4931 |
| 4931 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, | 4932 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, |
| 4932 LayerTreeHostImplTest, | 4933 LayerTreeHostImplTest, |
| 4933 ::testing::Values(false, true)); | 4934 ::testing::Values(false, true)); |
| 4934 | 4935 |
| 4935 } // namespace | 4936 } // namespace |
| 4936 } // namespace cc | 4937 } // namespace cc |
| OLD | NEW |