Index: content/browser/renderer_host/offscreen_canvas_surface_manager_unittest.cc |
diff --git a/content/browser/renderer_host/offscreen_canvas_surface_manager_unittest.cc b/content/browser/renderer_host/offscreen_canvas_surface_manager_unittest.cc |
index ef85a713fa459cf9f08592c70e62cd9dc8387b80..7378e907d93c03b4b444c71262bf1f28a31d60e8 100644 |
--- a/content/browser/renderer_host/offscreen_canvas_surface_manager_unittest.cc |
+++ b/content/browser/renderer_host/offscreen_canvas_surface_manager_unittest.cc |
@@ -24,11 +24,10 @@ class OffscreenCanvasSurfaceManagerTest : public testing::Test { |
return OffscreenCanvasSurfaceManager::GetInstance() |
->registered_surface_instances_.size(); |
} |
- const cc::SurfaceId& getCurrentSurfaceId() const { |
- return current_surface_id_; |
- } |
- void setSurfaceId(const cc::SurfaceId& surface_id) { |
- current_surface_id_ = surface_id; |
+ |
+ void OnSurfaceCreated(const cc::SurfaceId& surface_id) { |
+ OffscreenCanvasSurfaceManager::GetInstance()->OnSurfaceCreated( |
+ surface_id, gfx::Size(10, 10), 1.0); |
} |
protected: |
@@ -36,7 +35,6 @@ class OffscreenCanvasSurfaceManagerTest : public testing::Test { |
void TearDown() override; |
private: |
- cc::SurfaceId current_surface_id_; |
std::unique_ptr<TestBrowserThread> ui_thread_; |
base::MessageLoopForUI message_loop_; |
#if defined(OS_ANDROID) |
@@ -70,54 +68,46 @@ void OffscreenCanvasSurfaceManagerTest::TearDown() { |
// process. |
TEST_F(OffscreenCanvasSurfaceManagerTest, |
SingleHTMLCanvasElementTransferToOffscreen) { |
- // Assume that HTMLCanvasElement.transferControlToOffscreen() is triggered and |
- // it will invoke GetSurfaceId function on OffscreenCanvasSurfaceImpl to |
- // obtain a unique SurfaceId from browser. |
- auto surface_impl = base::WrapUnique(new OffscreenCanvasSurfaceImpl()); |
- surface_impl->GetSurfaceId( |
- base::Bind(&OffscreenCanvasSurfaceManagerTest::setSurfaceId, |
- base::Unretained(this))); |
- |
- EXPECT_TRUE(this->getCurrentSurfaceId().is_valid()); |
+ blink::mojom::OffscreenCanvasSurfaceClientPtr client; |
+ cc::FrameSinkId frame_sink_id(3, 3); |
+ cc::SurfaceIdAllocator surface_id_allocator; |
+ cc::LocalFrameId current_local_frame_id(surface_id_allocator.GenerateId()); |
+ |
+ auto surface_impl = base::WrapUnique( |
+ new OffscreenCanvasSurfaceImpl(frame_sink_id, std::move(client))); |
EXPECT_EQ(1, this->getNumSurfaceImplInstances()); |
- cc::FrameSinkId frame_sink_id = surface_impl.get()->frame_sink_id(); |
- EXPECT_EQ(frame_sink_id, this->getCurrentSurfaceId().frame_sink_id()); |
EXPECT_EQ(surface_impl.get(), |
OffscreenCanvasSurfaceManager::GetInstance()->GetSurfaceInstance( |
frame_sink_id)); |
+ this->OnSurfaceCreated(cc::SurfaceId(frame_sink_id, current_local_frame_id)); |
+ EXPECT_EQ(current_local_frame_id, surface_impl->current_local_frame_id()); |
+ |
surface_impl = nullptr; |
EXPECT_EQ(0, this->getNumSurfaceImplInstances()); |
} |
TEST_F(OffscreenCanvasSurfaceManagerTest, |
MultiHTMLCanvasElementTransferToOffscreen) { |
- // Same scenario as above test except that now we have two HTMLCanvasElement |
- // transferControlToOffscreen at the same time. |
- auto surface_impl_a = base::WrapUnique(new OffscreenCanvasSurfaceImpl()); |
- surface_impl_a->GetSurfaceId( |
- base::Bind(&OffscreenCanvasSurfaceManagerTest::setSurfaceId, |
- base::Unretained(this))); |
- cc::SurfaceId surface_id_a = this->getCurrentSurfaceId(); |
- |
- EXPECT_TRUE(surface_id_a.is_valid()); |
+ blink::mojom::OffscreenCanvasSurfaceClientPtr client_a; |
+ cc::FrameSinkId frame_sink_id_a(3, 3); |
+ cc::SurfaceIdAllocator surface_id_allocator; |
+ auto surface_impl_a = base::WrapUnique( |
+ new OffscreenCanvasSurfaceImpl(frame_sink_id_a, std::move(client_a))); |
- auto surface_impl_b = base::WrapUnique(new OffscreenCanvasSurfaceImpl()); |
- surface_impl_b->GetSurfaceId( |
- base::Bind(&OffscreenCanvasSurfaceManagerTest::setSurfaceId, |
- base::Unretained(this))); |
- cc::SurfaceId surface_id_b = this->getCurrentSurfaceId(); |
+ blink::mojom::OffscreenCanvasSurfaceClientPtr client_b; |
+ cc::FrameSinkId frame_sink_id_b(4, 4); |
- EXPECT_TRUE(surface_id_b.is_valid()); |
- EXPECT_NE(surface_id_a, surface_id_b); |
+ auto surface_impl_b = base::WrapUnique( |
+ new OffscreenCanvasSurfaceImpl(frame_sink_id_b, std::move(client_b))); |
EXPECT_EQ(2, this->getNumSurfaceImplInstances()); |
EXPECT_EQ(surface_impl_a.get(), |
OffscreenCanvasSurfaceManager::GetInstance()->GetSurfaceInstance( |
- surface_id_a.frame_sink_id())); |
+ frame_sink_id_a)); |
EXPECT_EQ(surface_impl_b.get(), |
OffscreenCanvasSurfaceManager::GetInstance()->GetSurfaceInstance( |
- surface_id_b.frame_sink_id())); |
+ frame_sink_id_b)); |
surface_impl_a = nullptr; |
EXPECT_EQ(1, this->getNumSurfaceImplInstances()); |