Chromium Code Reviews| Index: Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp |
| =================================================================== |
| --- Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp (revision 125940) |
| +++ Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp (working copy) |
| @@ -187,6 +187,11 @@ |
| CCScopedSettings m_scopedSettings; |
| }; |
| +class FakeWebGraphicsContext3DMakeCurrentFails : public FakeWebGraphicsContext3D { |
| +public: |
| + virtual bool makeContextCurrent() { return false; } |
| +}; |
| + |
| TEST_F(CCLayerTreeHostImplTest, scrollDeltaNoLayers) |
| { |
| ASSERT_FALSE(m_hostImpl->rootLayer()); |
| @@ -273,6 +278,21 @@ |
| EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(0, 0), CCInputHandlerClient::Wheel), CCInputHandlerClient::ScrollIgnored); |
| } |
| +TEST_F(CCLayerTreeHostImplTest, scrollWithoutRenderer) |
| +{ |
| + CCLayerTreeSettings settings; |
| + m_hostImpl = CCLayerTreeHostImpl::create(settings, this); |
| + |
| + // Initialization will fail here. |
| + m_hostImpl->initializeLayerRenderer(FakeWebCompositorOutputSurface::create(adoptPtr(new FakeWebGraphicsContext3DMakeCurrentFails)), UnthrottledUploader); |
|
mal
2012/08/18 22:45:09
third_party/WebKit/Source/WebKit/chromium/tests/CC
|
| + m_hostImpl->setViewportSize(IntSize(10, 10), IntSize(10, 10)); |
| + |
| + setupScrollAndContentsLayers(IntSize(100, 100)); |
| + |
| + // We should not crash when trying to scroll after the renderer initialization fails. |
| + EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(0, 0), CCInputHandlerClient::Wheel), CCInputHandlerClient::ScrollIgnored); |
| +} |
| + |
| TEST_F(CCLayerTreeHostImplTest, replaceTreeWhileScrolling) |
| { |
| const int scrollLayerId = 1; |
| @@ -2111,13 +2131,11 @@ |
| EXPECT_TRUE(layer2->didLoseContextCalled()); |
| } |
| -class FakeWebGraphicsContext3DMakeCurrentFails : public FakeWebGraphicsContext3D { |
| -public: |
| - virtual bool makeContextCurrent() { return false; } |
| -}; |
| - |
| TEST_F(CCLayerTreeHostImplTest, finishAllRenderingAfterContextLost) |
| { |
| + CCLayerTreeSettings settings; |
| + m_hostImpl = CCLayerTreeHostImpl::create(settings, this); |
| + |
| // The context initialization will fail, but we should still be able to call finishAllRendering() without any ill effects. |
| m_hostImpl->initializeLayerRenderer(CCGraphicsContext::create3D(adoptPtr(new FakeWebGraphicsContext3DMakeCurrentFails)), UnthrottledUploader); |
| m_hostImpl->finishAllRendering(); |