| Index: cc/trees/layer_tree_host_unittest.cc
|
| diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
|
| index bfa8a382760fae8c0cbd112502933cdb2dde1c89..19aa49773b2f61f4167bfa6b31d4d144a9b536d2 100644
|
| --- a/cc/trees/layer_tree_host_unittest.cc
|
| +++ b/cc/trees/layer_tree_host_unittest.cc
|
| @@ -19,7 +19,6 @@
|
| #include "cc/debug/frame_rate_counter.h"
|
| #include "cc/input/scroll_elasticity_helper.h"
|
| #include "cc/layers/content_layer_client.h"
|
| -#include "cc/layers/io_surface_layer.h"
|
| #include "cc/layers/layer_impl.h"
|
| #include "cc/layers/painted_scrollbar_layer.h"
|
| #include "cc/layers/picture_layer.h"
|
| @@ -2280,148 +2279,6 @@ class LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation
|
| SINGLE_AND_MULTI_THREAD_TEST_F(
|
| LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation);
|
|
|
| -class MockIOSurfaceWebGraphicsContext3D : public TestWebGraphicsContext3D {
|
| - public:
|
| - MockIOSurfaceWebGraphicsContext3D() {
|
| - test_capabilities_.gpu.iosurface = true;
|
| - test_capabilities_.gpu.texture_rectangle = true;
|
| - }
|
| -
|
| - GLuint createTexture() override { return 1; }
|
| - MOCK_METHOD1(activeTexture, void(GLenum texture));
|
| - MOCK_METHOD2(bindTexture, void(GLenum target,
|
| - GLuint texture_id));
|
| - MOCK_METHOD3(texParameteri, void(GLenum target,
|
| - GLenum pname,
|
| - GLint param));
|
| - MOCK_METHOD5(texImageIOSurface2DCHROMIUM, void(GLenum target,
|
| - GLint width,
|
| - GLint height,
|
| - GLuint ioSurfaceId,
|
| - GLuint plane));
|
| - MOCK_METHOD4(drawElements, void(GLenum mode,
|
| - GLsizei count,
|
| - GLenum type,
|
| - GLintptr offset));
|
| - MOCK_METHOD1(deleteTexture, void(GLenum texture));
|
| - MOCK_METHOD3(produceTextureDirectCHROMIUM,
|
| - void(GLuint texture, GLenum target, const GLbyte* mailbox));
|
| -};
|
| -
|
| -class LayerTreeHostTestIOSurfaceDrawing : public LayerTreeHostTest {
|
| - protected:
|
| - std::unique_ptr<FakeOutputSurface> CreateFakeOutputSurface() override {
|
| - std::unique_ptr<MockIOSurfaceWebGraphicsContext3D> mock_context_owned(
|
| - new MockIOSurfaceWebGraphicsContext3D);
|
| - mock_context_ = mock_context_owned.get();
|
| -
|
| - if (delegating_renderer())
|
| - return FakeOutputSurface::CreateDelegating3d(
|
| - std::move(mock_context_owned));
|
| - else
|
| - return FakeOutputSurface::Create3d(std::move(mock_context_owned));
|
| - }
|
| -
|
| - void SetupTree() override {
|
| - LayerTreeHostTest::SetupTree();
|
| -
|
| - layer_tree_host()->root_layer()->SetIsDrawable(false);
|
| -
|
| - io_surface_id_ = 9;
|
| - io_surface_size_ = gfx::Size(6, 7);
|
| -
|
| - scoped_refptr<IOSurfaceLayer> io_surface_layer = IOSurfaceLayer::Create();
|
| - io_surface_layer->SetBounds(gfx::Size(10, 10));
|
| - io_surface_layer->SetIsDrawable(true);
|
| - io_surface_layer->SetContentsOpaque(true);
|
| - io_surface_layer->SetIOSurfaceProperties(io_surface_id_, io_surface_size_);
|
| - layer_tree_host()->root_layer()->AddChild(io_surface_layer);
|
| - }
|
| -
|
| - void BeginTest() override { PostSetNeedsCommitToMainThread(); }
|
| -
|
| - void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override {
|
| - EXPECT_EQ(0u, host_impl->resource_provider()->num_resources());
|
| - // In WillDraw, the IOSurfaceLayer sets up the io surface texture.
|
| -
|
| - EXPECT_CALL(*mock_context_, activeTexture(_)).Times(0);
|
| - EXPECT_CALL(*mock_context_, bindTexture(GL_TEXTURE_RECTANGLE_ARB, 1))
|
| - .Times(AtLeast(1));
|
| - EXPECT_CALL(*mock_context_,
|
| - texParameteri(
|
| - GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR))
|
| - .Times(1);
|
| - EXPECT_CALL(*mock_context_,
|
| - texParameteri(
|
| - GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR))
|
| - .Times(1);
|
| - EXPECT_CALL(*mock_context_,
|
| - texParameteri(GL_TEXTURE_RECTANGLE_ARB,
|
| - GL_TEXTURE_WRAP_S,
|
| - GL_CLAMP_TO_EDGE)).Times(1);
|
| - EXPECT_CALL(*mock_context_,
|
| - texParameteri(GL_TEXTURE_RECTANGLE_ARB,
|
| - GL_TEXTURE_WRAP_T,
|
| - GL_CLAMP_TO_EDGE)).Times(1);
|
| -
|
| - EXPECT_CALL(*mock_context_,
|
| - texImageIOSurface2DCHROMIUM(GL_TEXTURE_RECTANGLE_ARB,
|
| - io_surface_size_.width(),
|
| - io_surface_size_.height(),
|
| - io_surface_id_,
|
| - 0)).Times(1);
|
| -
|
| - EXPECT_CALL(*mock_context_, bindTexture(_, 0)).Times(AnyNumber());
|
| - }
|
| -
|
| - DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
|
| - LayerTreeHostImpl::FrameData* frame,
|
| - DrawResult draw_result) override {
|
| - Mock::VerifyAndClearExpectations(&mock_context_);
|
| - ResourceProvider* resource_provider = host_impl->resource_provider();
|
| - EXPECT_EQ(1u, resource_provider->num_resources());
|
| - CHECK_EQ(1u, frame->render_passes.size());
|
| - CHECK_LE(1u, frame->render_passes[0]->quad_list.size());
|
| - const DrawQuad* quad = frame->render_passes[0]->quad_list.front();
|
| - CHECK_EQ(DrawQuad::IO_SURFACE_CONTENT, quad->material);
|
| - const IOSurfaceDrawQuad* io_surface_draw_quad =
|
| - IOSurfaceDrawQuad::MaterialCast(quad);
|
| - EXPECT_EQ(io_surface_size_, io_surface_draw_quad->io_surface_size);
|
| - EXPECT_NE(0u, io_surface_draw_quad->io_surface_resource_id());
|
| - EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_RECTANGLE_ARB),
|
| - resource_provider->GetResourceTextureTarget(
|
| - io_surface_draw_quad->io_surface_resource_id()));
|
| -
|
| - if (delegating_renderer()) {
|
| - // The io surface layer's resource should be sent to the parent.
|
| - EXPECT_CALL(*mock_context_, produceTextureDirectCHROMIUM(
|
| - _, GL_TEXTURE_RECTANGLE_ARB, _)).Times(1);
|
| - } else {
|
| - // The io surface layer's texture is drawn.
|
| - EXPECT_CALL(*mock_context_, activeTexture(GL_TEXTURE0)).Times(AtLeast(1));
|
| - EXPECT_CALL(*mock_context_, drawElements(GL_TRIANGLES, 6, _, _))
|
| - .Times(AtLeast(1));
|
| - }
|
| -
|
| - return draw_result;
|
| - }
|
| -
|
| - void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override {
|
| - Mock::VerifyAndClearExpectations(&mock_context_);
|
| -
|
| - EXPECT_CALL(*mock_context_, deleteTexture(1)).Times(AtLeast(1));
|
| - EndTest();
|
| - }
|
| -
|
| - void AfterTest() override {}
|
| -
|
| - int io_surface_id_;
|
| - MockIOSurfaceWebGraphicsContext3D* mock_context_;
|
| - gfx::Size io_surface_size_;
|
| -};
|
| -
|
| -SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestIOSurfaceDrawing);
|
| -
|
| class LayerTreeHostTestNumFramesPending : public LayerTreeHostTest {
|
| public:
|
| void BeginTest() override {
|
| @@ -3790,27 +3647,6 @@ class LayerTreeHostTestVideoLayerInvalidate : public LayerInvalidateCausesDraw {
|
|
|
| SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestVideoLayerInvalidate);
|
|
|
| -// IOSurfaceLayer must support being invalidated and then passing that along
|
| -// to the compositor thread, even though no resources are updated in
|
| -// response to that invalidation.
|
| -class LayerTreeHostTestIOSurfaceLayerInvalidate
|
| - : public LayerInvalidateCausesDraw {
|
| - public:
|
| - void SetupTree() override {
|
| - LayerTreeHostTest::SetupTree();
|
| - scoped_refptr<IOSurfaceLayer> layer = IOSurfaceLayer::Create();
|
| - layer->SetBounds(gfx::Size(10, 10));
|
| - uint32_t fake_io_surface_id = 7;
|
| - layer->SetIOSurfaceProperties(fake_io_surface_id, layer->bounds());
|
| - layer->SetIsDrawable(true);
|
| - layer_tree_host()->root_layer()->AddChild(layer);
|
| -
|
| - invalidate_layer_ = layer;
|
| - }
|
| -};
|
| -
|
| -SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestIOSurfaceLayerInvalidate);
|
| -
|
| class LayerTreeHostTestPushHiddenLayer : public LayerTreeHostTest {
|
| protected:
|
| void SetupTree() override {
|
|
|