Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Issue 23511004: mix-blend-mode implementation for accelerated layers - blink part (Closed)

Created:
7 years, 3 months ago by rosca
Modified:
7 years ago
CC:
blink-reviews, jamesr, dglazkov+blink, eae+blinkwatch, abarth-chromium, webkitbugtracker_adobe.com
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Added setters and getters in WebLayer.h / GraphicsLayer.h for: * blendMode - specifying the formula for blending the layer with its backdrop - http://dev.w3.org/fxtf/compositing-1/#blending * isIsolatedGroupRoot - this layer should make sure that all its blending child layers in the layer tree and the layer itself will use a transparent black initial backdrop. http://dev.w3.org/fxtf/compositing-1/#isolatedgroups Added WebBlendMode.h defining the WebBlendMode enum and convertion functions. Added a new compositing reason - CompositingReasonIsolateCompositedDescendants. A RenderLayer might require compositing in order to perform isolation of its composited blending children BUG=243223 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=163079

Patch Set 1 : adding the rendering part #

Total comments: 10

Patch Set 2 : Added layout test & addressed review comments #

Total comments: 18

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : Rebase #

Patch Set 6 : rebase #

Patch Set 7 : rebased #

Total comments: 8

Patch Set 8 : Fixed format, variable/function names #

Patch Set 9 : Renamed a variable #

Total comments: 6

Patch Set 10 : More tests #

Total comments: 6

Patch Set 11 : #

Total comments: 1

Patch Set 12 : rebase #

Patch Set 13 : fixing layout tests #

Patch Set 14 : fixing layout tests 2 #

Patch Set 15 : fixing layout tests 3 #

Patch Set 16 : removed a failing reftest dependent on render-compositor bindings #

Unified diffs Side-by-side diffs Delta from patch set Stats (+488 lines, -23 lines) Patch
A LayoutTests/css3/compositing/mix-blend-mode-2nd-stacking-context-composited.html View 1 2 3 4 5 6 7 8 9 1 chunk +37 lines, -0 lines 0 comments Download
A + LayoutTests/css3/compositing/mix-blend-mode-2nd-stacking-context-composited-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +10 lines, -2 lines 0 comments Download
M LayoutTests/css3/compositing/mix-blend-mode-composited-layers-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +11 lines, -4 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-composited-reason-children.html View 1 2 3 4 5 6 7 8 9 1 chunk +40 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-composited-reason-children-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +49 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-isolation-2-stacking-contexts.html View 1 2 3 4 5 6 7 8 9 1 chunk +42 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-isolation-2-stacking-contexts-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +64 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-isolation-layer.html View 1 2 3 4 5 6 7 8 9 1 chunk +36 lines, -0 lines 0 comments Download
A + LayoutTests/css3/compositing/mix-blend-mode-isolation-layer-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +10 lines, -2 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-isolation-remove.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +60 lines, -0 lines 0 comments Download
A + LayoutTests/css3/compositing/mix-blend-mode-isolation-remove-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +10 lines, -7 lines 0 comments Download
M LayoutTests/css3/compositing/mix-blend-mode-multiply.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/inspector/InspectorLayerTreeAgent.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/platform/graphics/GraphicsLayer.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +9 lines, -0 lines 0 comments Download
M Source/core/platform/graphics/GraphicsLayer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +28 lines, -0 lines 0 comments Download
M Source/core/rendering/CompositedLayerMapping.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/rendering/CompositedLayerMapping.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +28 lines, -6 lines 0 comments Download
M Source/core/rendering/CompositingReasons.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderLayer.h View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +8 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderLayer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +11 lines, -1 line 0 comments Download
M Source/core/rendering/RenderLayerCompositor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 chunks +18 lines, -0 lines 0 comments Download
M Source/web/AssertMatchingEnums.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M public/platform/WebCompositingReasons.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M public/platform/WebLayer.h View 1 2 3 4 5 6 7 8 9 2 chunks +9 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (0 generated)
rosca
7 years, 3 months ago (2013-08-28 09:05:23 UTC) #1
jamesr
I don't understand why blend mode requires a different isolation method from filters or any ...
7 years, 3 months ago (2013-08-28 22:24:49 UTC) #2
rosca
A blending layer will require a separate render surface for itself (like filters or masking ...
7 years, 3 months ago (2013-08-29 15:04:41 UTC) #3
jamesr
I'm not aware of anything else in the web platform that has rendering requirements on ...
7 years, 3 months ago (2013-09-05 22:06:19 UTC) #4
Rik
On 2013/09/05 22:06:19, jamesr wrote: > I'm not aware of anything else in the web ...
7 years, 3 months ago (2013-09-05 23:58:53 UTC) #5
Rik
You can find me on irc if you want to chat...
7 years, 3 months ago (2013-09-06 00:07:00 UTC) #6
shawnsingh
So...I was asked to review this, so here it is. First, nice patch. It really ...
7 years, 3 months ago (2013-09-13 10:22:59 UTC) #7
rosca
Thanks for the review! > Has the compositor cc/ side of this been uploaded and ...
7 years, 3 months ago (2013-09-19 14:26:53 UTC) #8
enne (OOO)
https://codereview.chromium.org/23511004/diff/47001/LayoutTests/css3/compositing/mix-blend-mode-isolation-layer-expected.txt File LayoutTests/css3/compositing/mix-blend-mode-isolation-layer-expected.txt (right): https://codereview.chromium.org/23511004/diff/47001/LayoutTests/css3/compositing/mix-blend-mode-isolation-layer-expected.txt#newcode1 LayoutTests/css3/compositing/mix-blend-mode-isolation-layer-expected.txt:1: Where does this blank line come from? https://codereview.chromium.org/23511004/diff/47001/Source/core/rendering/CompositedLayerMapping.cpp File ...
7 years, 1 month ago (2013-11-07 22:59:06 UTC) #9
rosca
I uploaded a new patch with addressing your comments. Thanks. https://codereview.chromium.org/23511004/diff/47001/LayoutTests/css3/compositing/mix-blend-mode-isolation-layer-expected.txt File LayoutTests/css3/compositing/mix-blend-mode-isolation-layer-expected.txt (right): https://codereview.chromium.org/23511004/diff/47001/LayoutTests/css3/compositing/mix-blend-mode-isolation-layer-expected.txt#newcode1 ...
7 years, 1 month ago (2013-11-08 15:36:32 UTC) #10
enne (OOO)
A few clarification and testing requests. shawnsingh: can you take another look at this? https://codereview.chromium.org/23511004/diff/147001/LayoutTests/css3/compositing/mix-blend-mode-isolation-layer.html ...
7 years, 1 month ago (2013-11-11 21:52:45 UTC) #11
rosca
Thanks. Comments inline. https://codereview.chromium.org/23511004/diff/147001/LayoutTests/css3/compositing/mix-blend-mode-isolation-layer.html File LayoutTests/css3/compositing/mix-blend-mode-isolation-layer.html (right): https://codereview.chromium.org/23511004/diff/147001/LayoutTests/css3/compositing/mix-blend-mode-isolation-layer.html#newcode23 LayoutTests/css3/compositing/mix-blend-mode-isolation-layer.html:23: <div id="stacking-context"> On 2013/11/11 21:52:46, enne ...
7 years, 1 month ago (2013-11-12 20:27:07 UTC) #12
rosca
Ping. shawnsingh: can you take another look at this patch please?
7 years, 1 month ago (2013-11-19 23:42:11 UTC) #13
shawnsingh
Looks great - a few minor comments, and one possible correctness issue due to other ...
7 years, 1 month ago (2013-11-23 00:38:13 UTC) #14
enne (OOO)
Thanks for all the test updates. This lgtm, modulo shawnsingh's approval.
7 years ago (2013-11-25 20:21:03 UTC) #15
rosca
Thanks you for comments! https://codereview.chromium.org/23511004/diff/207001/Source/core/rendering/CompositedLayerMapping.cpp File Source/core/rendering/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/23511004/diff/207001/Source/core/rendering/CompositedLayerMapping.cpp#newcode538 Source/core/rendering/CompositedLayerMapping.cpp:538: if (RuntimeEnabledFeatures::cssCompositingEnabled()) { On 2013/11/23 ...
7 years ago (2013-11-25 21:11:41 UTC) #16
shawnsingh
> Blending doesn't work if the blend mode is set on m_graphicsLayer being clipped > ...
7 years ago (2013-11-26 21:02:17 UTC) #17
rosca
jamesr: I rebased this patch on top of http://crrev.com/90313002/ (Moving WebCore::BlendMode to blink::WebBlendMode). Do you ...
7 years ago (2013-11-27 13:53:59 UTC) #18
jamesr
/web/ and public/ lgtm
7 years ago (2013-11-27 18:19:07 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rosca@adobe.com/23511004/377001
7 years ago (2013-12-03 11:39:26 UTC) #20
commit-bot: I haz the power
7 years ago (2013-12-03 12:36:33 UTC) #21
Message was sent while issue was closed.
Change committed as 163079

Powered by Google App Engine
This is Rietveld 408576698