| Index: cc/gl_renderer_unittest.cc | 
| diff --git a/cc/gl_renderer_unittest.cc b/cc/gl_renderer_unittest.cc | 
| index 560bd2d5ebd5e1afbf1b5815198974a6c2d772e7..b4741cda242b1d5889621baaf63b1786e22766f6 100644 | 
| --- a/cc/gl_renderer_unittest.cc | 
| +++ b/cc/gl_renderer_unittest.cc | 
| @@ -4,6 +4,7 @@ | 
|  | 
| #include "cc/gl_renderer.h" | 
|  | 
| +#include "cc/compositor_frame_metadata.h" | 
| #include "cc/draw_quad.h" | 
| #include "cc/prioritized_resource_manager.h" | 
| #include "cc/resource_provider.h" | 
| @@ -85,6 +86,8 @@ public: | 
| virtual void enforceManagedMemoryPolicy(const ManagedMemoryPolicy& policy) OVERRIDE { if (m_lastCallWasSetVisibility) *m_lastCallWasSetVisibility = false; } | 
| virtual bool hasImplThread() const OVERRIDE { return false; } | 
| virtual bool shouldClearRootRenderPass() const OVERRIDE { return true; } | 
| +    virtual CompositorFrameMetadata makeCompositorFrameMetadata() const | 
| +        OVERRIDE { return CompositorFrameMetadata(); } | 
|  | 
| // Methods added for test. | 
| int setFullRootLayerDamageCount() const { return m_setFullRootLayerDamageCount; } | 
| @@ -109,7 +112,7 @@ private: | 
|  | 
| class FakeRendererGL : public GLRenderer { | 
| public: | 
| -    FakeRendererGL(RendererClient* client, ResourceProvider* resourceProvider) : GLRenderer(client, resourceProvider) { } | 
| +    FakeRendererGL(RendererClient* client, OutputSurface* outputSurface, ResourceProvider* resourceProvider) : GLRenderer(client, outputSurface, resourceProvider) { } | 
|  | 
| // GLRenderer methods. | 
|  | 
| @@ -126,9 +129,9 @@ protected: | 
| GLRendererTest() | 
| : m_suggestHaveBackbufferYes(1, true) | 
| , m_suggestHaveBackbufferNo(1, false) | 
| -        , m_context(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new FrameCountingMemoryAllocationSettingContext()))) | 
| -        , m_resourceProvider(ResourceProvider::create(m_context.get())) | 
| -        , m_renderer(&m_mockClient, m_resourceProvider.get()) | 
| +        , m_outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new FrameCountingMemoryAllocationSettingContext()))) | 
| +        , m_resourceProvider(ResourceProvider::create(m_outputSurface.get())) | 
| +        , m_renderer(&m_mockClient, m_outputSurface.get(), m_resourceProvider.get()) | 
| { | 
| } | 
|  | 
| @@ -142,12 +145,12 @@ protected: | 
| m_renderer.swapBuffers(); | 
| } | 
|  | 
| -    FrameCountingMemoryAllocationSettingContext* context() { return static_cast<FrameCountingMemoryAllocationSettingContext*>(m_context->Context3D()); } | 
| +    FrameCountingMemoryAllocationSettingContext* context() { return static_cast<FrameCountingMemoryAllocationSettingContext*>(m_outputSurface->Context3D()); } | 
|  | 
| WebGraphicsMemoryAllocation m_suggestHaveBackbufferYes; | 
| WebGraphicsMemoryAllocation m_suggestHaveBackbufferNo; | 
|  | 
| -    scoped_ptr<OutputSurface> m_context; | 
| +    scoped_ptr<OutputSurface> m_outputSurface; | 
| FakeRendererClient m_mockClient; | 
| scoped_ptr<ResourceProvider> m_resourceProvider; | 
| FakeRendererGL m_renderer; | 
| @@ -308,9 +311,9 @@ public: | 
| TEST(GLRendererTest2, initializationDoesNotMakeSynchronousCalls) | 
| { | 
| FakeRendererClient mockClient; | 
| -    scoped_ptr<OutputSurface> context(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new ForbidSynchronousCallContext))); | 
| -    scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(context.get())); | 
| -    FakeRendererGL renderer(&mockClient, resourceProvider.get()); | 
| +    scoped_ptr<OutputSurface> outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new ForbidSynchronousCallContext))); | 
| +    scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get())); | 
| +    FakeRendererGL renderer(&mockClient, outputSurface.get(), resourceProvider.get()); | 
|  | 
| EXPECT_TRUE(renderer.initialize()); | 
| } | 
| @@ -351,9 +354,9 @@ private: | 
| TEST(GLRendererTest2, initializationWithQuicklyLostContextDoesNotAssert) | 
| { | 
| FakeRendererClient mockClient; | 
| -    scoped_ptr<OutputSurface> context(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new LoseContextOnFirstGetContext))); | 
| -    scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(context.get())); | 
| -    FakeRendererGL renderer(&mockClient, resourceProvider.get()); | 
| +    scoped_ptr<OutputSurface> outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new LoseContextOnFirstGetContext))); | 
| +    scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get())); | 
| +    FakeRendererGL renderer(&mockClient, outputSurface.get(), resourceProvider.get()); | 
|  | 
| renderer.initialize(); | 
| } | 
| @@ -375,7 +378,7 @@ TEST(GLRendererTest2, initializationWithoutGpuMemoryManagerExtensionSupportShoul | 
| FakeRendererClient mockClient; | 
| scoped_ptr<OutputSurface> outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new ContextThatDoesNotSupportMemoryManagmentExtensions))); | 
| scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get())); | 
| -    FakeRendererGL renderer(&mockClient, resourceProvider.get()); | 
| +    FakeRendererGL renderer(&mockClient, outputSurface.get(), resourceProvider.get()); | 
|  | 
| renderer.initialize(); | 
|  | 
| @@ -403,7 +406,7 @@ TEST(GLRendererTest2, opaqueBackground) | 
| scoped_ptr<OutputSurface> outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new ClearCountingContext))); | 
| ClearCountingContext* context = static_cast<ClearCountingContext*>(outputSurface->Context3D()); | 
| scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get())); | 
| -    FakeRendererGL renderer(&mockClient, resourceProvider.get()); | 
| +    FakeRendererGL renderer(&mockClient, outputSurface.get(), resourceProvider.get()); | 
|  | 
| mockClient.rootRenderPass()->has_transparent_background = false; | 
|  | 
| @@ -426,7 +429,7 @@ TEST(GLRendererTest2, transparentBackground) | 
| scoped_ptr<OutputSurface> outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new ClearCountingContext))); | 
| ClearCountingContext* context = static_cast<ClearCountingContext*>(outputSurface->Context3D()); | 
| scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get())); | 
| -    FakeRendererGL renderer(&mockClient, resourceProvider.get()); | 
| +    FakeRendererGL renderer(&mockClient, outputSurface.get(), resourceProvider.get()); | 
|  | 
| mockClient.rootRenderPass()->has_transparent_background = true; | 
|  | 
| @@ -477,7 +480,7 @@ TEST(GLRendererTest2, visibilityChangeIsLastCall) | 
| scoped_ptr<OutputSurface> outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new VisibilityChangeIsLastCallTrackingContext))); | 
| VisibilityChangeIsLastCallTrackingContext* context = static_cast<VisibilityChangeIsLastCallTrackingContext*>(outputSurface->Context3D()); | 
| scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get())); | 
| -    FakeRendererGL renderer(&mockClient, resourceProvider.get()); | 
| +    FakeRendererGL renderer(&mockClient, outputSurface.get(), resourceProvider.get()); | 
|  | 
| EXPECT_TRUE(renderer.initialize()); | 
|  | 
| @@ -529,7 +532,7 @@ TEST(GLRendererTest2, activeTextureState) | 
| scoped_ptr<OutputSurface> outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new TextureStateTrackingContext))); | 
| TextureStateTrackingContext* context = static_cast<TextureStateTrackingContext*>(outputSurface->Context3D()); | 
| scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get())); | 
| -    FakeRendererGL renderer(&fakeClient, resourceProvider.get()); | 
| +    FakeRendererGL renderer(&fakeClient, outputSurface.get(), resourceProvider.get()); | 
|  | 
| // During initialization we are allowed to set any texture parameters. | 
| EXPECT_CALL(*context, texParameteri(_, _, _)).Times(AnyNumber()); | 
| @@ -597,9 +600,8 @@ TEST(GLRendererTest2, shouldClearRootRenderPass) | 
| NoClearRootRenderPassFakeClient mockClient; | 
| scoped_ptr<OutputSurface> outputSurface(FakeOutputSurface::Create3d(scoped_ptr<WebKit::WebGraphicsContext3D>(new NoClearRootRenderPassMockContext))); | 
| NoClearRootRenderPassMockContext* mockContext = static_cast<NoClearRootRenderPassMockContext*>(outputSurface->Context3D()); | 
| - | 
| scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outputSurface.get())); | 
| -    FakeRendererGL renderer(&mockClient, resourceProvider.get()); | 
| +    FakeRendererGL renderer(&mockClient, outputSurface.get(), resourceProvider.get()); | 
| EXPECT_TRUE(renderer.initialize()); | 
|  | 
| gfx::Rect viewportRect(mockClient.deviceViewportSize()); | 
|  |