Commit 5c726aec authored by danakj@chromium.org's avatar danakj@chromium.org

cc: Map the clip_rect in the SharedQuadState to include the drawTransform of...

cc: Map the clip_rect in the SharedQuadState to include the drawTransform of the hosting delegated renderer layer.

The clip rect is assuming that it draws to its old target space, but it will be
drawing to the target space of the delegated renderer layer, so adjust it
accordingly.

Tests:
cc_unittests:DelegatedRendererLayerImplTestSharedData.SharedData

BUG=123444
NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/11828011

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175688 0039d316-1c4b-4281-b951-d872f2087c98
parent 1169f4ca
...@@ -147,6 +147,7 @@ void DelegatedRendererLayerImpl::appendRenderPassQuads(QuadSink& quadSink, Appen ...@@ -147,6 +147,7 @@ void DelegatedRendererLayerImpl::appendRenderPassQuads(QuadSink& quadSink, Appen
copiedSharedQuadState->content_to_target_transform = copiedSharedQuadState->content_to_target_transform * drawTransform(); copiedSharedQuadState->content_to_target_transform = copiedSharedQuadState->content_to_target_transform * drawTransform();
copiedSharedQuadState->clipped_rect_in_target = MathUtil::mapClippedRect(drawTransform(), copiedSharedQuadState->clipped_rect_in_target); copiedSharedQuadState->clipped_rect_in_target = MathUtil::mapClippedRect(drawTransform(), copiedSharedQuadState->clipped_rect_in_target);
copiedSharedQuadState->clip_rect = MathUtil::mapClippedRect(drawTransform(), copiedSharedQuadState->clip_rect);
copiedSharedQuadState->opacity *= drawOpacity(); copiedSharedQuadState->opacity *= drawOpacity();
} }
} }
......
...@@ -451,6 +451,7 @@ TEST_F(DelegatedRendererLayerImplTestSharedData, SharedData) ...@@ -451,6 +451,7 @@ TEST_F(DelegatedRendererLayerImplTestSharedData, SharedData)
// The state should be transformed only once. // The state should be transformed only once.
EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clipped_rect_in_target); EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clipped_rect_in_target);
EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clip_rect);
gfx::Transform expected; gfx::Transform expected;
expected.Translate(30, 30); expected.Translate(30, 30);
EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->content_to_target_transform); EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->content_to_target_transform);
......
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