diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp index c1af9d140..49dc90252 100644 --- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp +++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp @@ -45,8 +45,8 @@ PassOwnPtr<CCRenderPass> CCRenderPass::create(CCRenderSurface* targetSurface, in CCRenderPass::CCRenderPass(CCRenderSurface* targetSurface, int id) : m_id(id) - , m_targetSurface(targetSurface) - , m_framebufferOutputRect(targetSurface->contentRect()) + , m_transformToRootTarget(targetSurface->screenSpaceTransform()) + , m_outputRect(targetSurface->contentRect()) , m_hasTransparentBackground(true) , m_hasOcclusionFromOutsideTargetSurface(false) { @@ -106,7 +106,11 @@ void CCRenderPass::appendQuadsToFillScreen(CCLayerImpl* rootLayer, SkColor scree // Manually create the quad state for the gutter quads, as the root layer // doesn't have any bounds and so can't generate this itself. - OwnPtr<CCSharedQuadState> sharedQuadState = rootLayer->createSharedQuadState(m_sharedQuadStateList.size()); + // FIXME: Make the gutter quads generated by the solid color layer (make it smarter about generating quads to fill unoccluded areas). + IntRect rootTargetRect = rootLayer->renderSurface()->contentRect(); + float opacity = 1; + bool opaque = true; + OwnPtr<CCSharedQuadState> sharedQuadState = CCSharedQuadState::create(0, rootLayer->drawTransform(), rootTargetRect, rootTargetRect, opacity, opaque); ASSERT(rootLayer->screenSpaceTransform().isInvertible()); WebTransformationMatrix transformToLayerSpace = rootLayer->screenSpaceTransform().inverse(); Vector<IntRect> fillRects = fillRegion.rects(); |