diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 580dbde0215f7a935a87abeb043cce0934a668de..b8b2f78d46f753878061c2fef190f32e514f04a0 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,15 @@ +2011-01-20 Adrienne Walker + + Reviewed by James Robinson. + + [chromium] Add a test for a render surface that the uses alpha channel. + https://bugs.webkit.org/show_bug.cgi?id=52766 + + * platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.checksum: Added. + * platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.png: Added. + * platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.txt: Added. + * platform/chromium/compositing/render-surface-alpha-blending.html: Added. + 2011-01-14 Jer Noble Reviewed by Eric Carlson. diff --git a/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.checksum b/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.checksum new file mode 100644 index 0000000000000000000000000000000000000000..3cf4a4c444a021b253c5d1998446d4c67b9a1e75 --- /dev/null +++ b/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.checksum @@ -0,0 +1 @@ +f12f151e804c5ce584a4bdc588aa3c29 \ No newline at end of file diff --git a/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.png b/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..ab249a3d4ef5f4bfed63fb5f8ef17f9ef5b0ff3a Binary files /dev/null and b/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.png differ diff --git a/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.txt b/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.txt new file mode 100644 index 0000000000000000000000000000000000000000..3693021d32d82800bcf417486c89a8012a7bf8b7 --- /dev/null +++ b/LayoutTests/platform/chromium-gpu/platform/chromium/compositing/render-surface-alpha-blending-expected.txt @@ -0,0 +1,12 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x600 + RenderBlock {HTML} at (0,0) size 800x600 + RenderBody {BODY} at (8,8) size 784x584 +layer at (0,0) size 800x600 + RenderBlock (positioned) {DIV} at (0,0) size 800x600 [bgcolor=#C80000] +layer at (0,0) size 800x600 + RenderBlock (positioned) {DIV} at (0,0) size 800x600 [bgcolor=#006400] +layer at (0,0) size 800x1 + RenderBlock {DIV} at (0,0) size 800x1 + RenderHTMLCanvas {CANVAS} at (0,0) size 1x1 diff --git a/LayoutTests/platform/chromium/compositing/render-surface-alpha-blending.html b/LayoutTests/platform/chromium/compositing/render-surface-alpha-blending.html new file mode 100644 index 0000000000000000000000000000000000000000..77ac70fb3ea0206ab076363d23ca12fbf28d3d39 --- /dev/null +++ b/LayoutTests/platform/chromium/compositing/render-surface-alpha-blending.html @@ -0,0 +1,32 @@ + + + + + +
+
+ +
+
+ + diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 570d83e72eba53908144a0f2c63073a371a01a2d..fe29eb6b09d27b931eae23389e88067b554297c7 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,15 @@ +2011-01-19 Adrienne Walker + + Reviewed by James Robinson. + + [chromium] Composited render surfaces should allow writes to alpha channel. + https://bugs.webkit.org/show_bug.cgi?id=52766 + + Test: LayoutTests/platform/chromium/compositing + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayers): + 2011-01-14 Jer Noble Reviewed by Eric Carlson. diff --git a/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp b/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp index 728339e3b862f92cb2d354996960d89e10812012..90eac742eefa1a78a59eaa52eef46621f267cb01 100644 --- a/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp +++ b/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp @@ -263,6 +263,9 @@ void LayerRendererChromium::drawLayers(const IntRect& visibleRect, const IntRect updateAndDrawRootLayer(tilePaint, scrollbarPaint, visibleRect, contentRect); + // Re-enable color writes to layers, which may be partially transparent. + m_context->colorMask(true, true, true, true); + // Set the root visible/content rects --- used by subsequent drawLayers calls. m_rootVisibleRect = visibleRect; m_rootContentRect = contentRect;