Commit 07062c95 authored by xlai's avatar xlai Committed by Commit Bot

Set CanvasResourceHost when canvas replaces its canvas2d layer bridge

TBR=junov@chromium.org

Bug: 807636, 807427
Change-Id: Ic5fe5abbf5deaed883c005280fd8418cf49ca9d2
Reviewed-on: https://chromium-review.googlesource.com/899962
Commit-Queue: Olivia Lai <xlai@chromium.org>
Reviewed-by: default avatarMohammad Reza Zakerinasab <zakerinasab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534152}
parent 3c5e2fbe
......@@ -1558,6 +1558,7 @@ void HTMLCanvasElement::ReplaceExistingCanvas2DBuffer(
RestoreCanvasMatrixClipStack(new_buffer->Canvas());
new_buffer->DidRestoreCanvasMatrixClipStack(new_buffer->Canvas());
canvas2d_bridge_ = std::move(new_buffer);
canvas2d_bridge_->SetCanvasResourceHost(this);
}
scoped_refptr<StaticBitmapImage> HTMLCanvasElement::NewImageSnapshot(
......
......@@ -107,6 +107,9 @@ class CanvasRenderingContext2DTest : public ::testing::Test {
DummyPageHolder& Page() const { return *dummy_page_holder_; }
Document& GetDocument() const { return *document_; }
HTMLCanvasElement& CanvasElement() const { return *canvas_element_; }
bool IsCanvasResourceHostSet(Canvas2DLayerBridge* bridge) {
return !!bridge->resource_host_;
}
CanvasRenderingContext2D* Context2d() const {
return static_cast<CanvasRenderingContext2D*>(
CanvasElement().RenderingContext());
......@@ -810,8 +813,11 @@ TEST_F(CanvasRenderingContext2DTest,
.Times(1);
EXPECT_TRUE(CanvasElement().Canvas2DBuffer()->IsAccelerated());
EXPECT_TRUE(IsCanvasResourceHostSet(CanvasElement().Canvas2DBuffer()));
CanvasElement().DisableAcceleration(std::move(fake_deaccelerate_surface));
EXPECT_FALSE(CanvasElement().Canvas2DBuffer()->IsAccelerated());
EXPECT_TRUE(IsCanvasResourceHostSet(CanvasElement().Canvas2DBuffer()));
Mock::VerifyAndClearExpectations(surface_ptr);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment