<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[181191] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/181191">181191</a></dd>
<dt>Author</dt> <dd>dino@apple.com</dd>
<dt>Date</dt> <dd>2015-03-06 16:08:32 -0800 (Fri, 06 Mar 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Support "plus-lighter" in mix-blend mode
https://bugs.webkit.org/show_bug.cgi?id=142416
<rdar://problem/19993979>
Reviewed by Darin Adler and Sam Weinig.
Source/WebCore:
Support the "plus-lighter" blending mode to CSS.
See my reply to: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0021.html
Test: css3/blending/svg-blend-plus-lighter.html
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): mix-blend-mode can now accept the
new keyword.
* css/CSSPrimitiveValueMappings.h: Add the mappings to/from the GraphicsType.
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator BlendMode):
* css/CSSValueKeywords.in: Add comment to show plus-darker and plus-lighter
are available.
* platform/graphics/GraphicsTypes.cpp: New GraphicsType for PlusLighter.
* platform/graphics/GraphicsTypes.h:
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Map to the CA filter.
(PlatformCAFilters::setBlendingFiltersOnLayer):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation): Map to the CG
blending flag.
Source/WebKit2:
Output the appropriate blending type when logging.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):
LayoutTests:
Add tests and new expected results for plus-lighter.
* css3/blending/blend-mode-property-parsing-expected.txt:
* css3/blending/blend-mode-simple-composited.html:
* css3/blending/blend-mode-simple.html:
* css3/blending/script-tests/blend-mode-property-parsing.js:
* css3/blending/svg-blend-plus-lighter.html: Added.
* platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
* platform/mac/css3/blending/blend-mode-simple-composited-expected.txt:
* platform/mac/css3/blending/blend-mode-simple-expected.png:
* platform/mac/css3/blending/blend-mode-simple-expected.txt:
* platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt: Added.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestscss3blendingblendmodepropertyparsingexpectedtxt">trunk/LayoutTests/css3/blending/blend-mode-property-parsing-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3blendingblendmodesimplecompositedhtml">trunk/LayoutTests/css3/blending/blend-mode-simple-composited.html</a></li>
<li><a href="#trunkLayoutTestscss3blendingblendmodesimplehtml">trunk/LayoutTests/css3/blending/blend-mode-simple.html</a></li>
<li><a href="#trunkLayoutTestscss3blendingscripttestsblendmodepropertyparsingjs">trunk/LayoutTests/css3/blending/script-tests/blend-mode-property-parsing.js</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3blendingblendmodesimplecompositedexpectedpng">trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-composited-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3blendingblendmodesimplecompositedexpectedtxt">trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-composited-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3blendingblendmodesimpleexpectedpng">trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3blendingblendmodesimpleexpectedtxt">trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSParsercpp">trunk/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSPrimitiveValueMappingsh">trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h</a></li>
<li><a href="#trunkSourceWebCorecssCSSValueKeywordsin">trunk/Source/WebCore/css/CSSValueKeywords.in</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsTypescpp">trunk/Source/WebCore/platform/graphics/GraphicsTypes.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsTypesh">trunk/Source/WebCore/platform/graphics/GraphicsTypes.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscamacPlatformCAFiltersMacmm">trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAFiltersMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgGraphicsContextCGcpp">trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedmacRemoteLayerTreeTransactionmm">trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestscss3blendingsvgblendpluslighterhtml">trunk/LayoutTests/css3/blending/svg-blend-plus-lighter.html</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3blendingsvgblendpluslighterexpectedtxt">trunk/LayoutTests/platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/LayoutTests/ChangeLog        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2015-03-06 Dean Jackson <dino@apple.com>
+
+ Support "plus-lighter" in mix-blend mode
+ https://bugs.webkit.org/show_bug.cgi?id=142416
+ <rdar://problem/19993979>
+
+ Reviewed by Darin Adler and Sam Weinig.
+
+ Add tests and new expected results for plus-lighter.
+
+ * css3/blending/blend-mode-property-parsing-expected.txt:
+ * css3/blending/blend-mode-simple-composited.html:
+ * css3/blending/blend-mode-simple.html:
+ * css3/blending/script-tests/blend-mode-property-parsing.js:
+ * css3/blending/svg-blend-plus-lighter.html: Added.
+ * platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
+ * platform/mac/css3/blending/blend-mode-simple-composited-expected.txt:
+ * platform/mac/css3/blending/blend-mode-simple-expected.png:
+ * platform/mac/css3/blending/blend-mode-simple-expected.txt:
+ * platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt: Added.
+
</ins><span class="cx"> 2015-03-06 Brent Fulgham <bfulgham@apple.com>
</span><span class="cx">
</span><span class="cx"> Add 'initial' keyword support for scroll snap CSS properties
</span></span></pre></div>
<a id="trunkLayoutTestscss3blendingblendmodepropertyparsingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/blending/blend-mode-property-parsing-expected.txt (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/blending/blend-mode-property-parsing-expected.txt        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/LayoutTests/css3/blending/blend-mode-property-parsing-expected.txt        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -107,6 +107,14 @@
</span><span class="cx"> PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
</span><span class="cx"> PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
</span><span class="cx"> PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
</span><ins>+
+Basic reference : plus-lighter
+PASS cssRule.type is 1
+PASS declaration.length is 1
+PASS declaration.getPropertyValue('mix-blend-mode') is 'plus-lighter'
+PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
+PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
+PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestscss3blendingblendmodesimplecompositedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/blending/blend-mode-simple-composited.html (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/blending/blend-mode-simple-composited.html        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/LayoutTests/css3/blending/blend-mode-simple-composited.html        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -35,5 +35,6 @@
</span><span class="cx"> <li><img style="mix-blend-mode: difference" src="resources/ducky.png"></li>
</span><span class="cx"> <li><img style="mix-blend-mode: exclusion" src="resources/ducky.png"></li>
</span><span class="cx"> <li><img style="mix-blend-mode: plus-darker" src="resources/ducky.png"></li>
</span><ins>+ <li><img style="mix-blend-mode: plus-lighter" src="resources/ducky.png"></li>
</ins><span class="cx"> </ul>
</span><span class="cx"> </body>
</span></span></pre></div>
<a id="trunkLayoutTestscss3blendingblendmodesimplehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/blending/blend-mode-simple.html (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/blending/blend-mode-simple.html        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/LayoutTests/css3/blending/blend-mode-simple.html        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -39,5 +39,6 @@
</span><span class="cx"> <li><img style="mix-blend-mode: difference" src="resources/ducky.png"></li>
</span><span class="cx"> <li><img style="mix-blend-mode: exclusion" src="resources/ducky.png"></li>
</span><span class="cx"> <li><img style="mix-blend-mode: plus-darker" src="resources/ducky.png"></li>
</span><ins>+ <li><img style="mix-blend-mode: plus-lighter" src="resources/ducky.png"></li>
</ins><span class="cx"> </ul>
</span><span class="cx"> </body>
</span></span></pre></div>
<a id="trunkLayoutTestscss3blendingscripttestsblendmodepropertyparsingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/blending/script-tests/blend-mode-property-parsing.js (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/blending/script-tests/blend-mode-property-parsing.js        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/LayoutTests/css3/blending/script-tests/blend-mode-property-parsing.js        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> shouldBeType("blendModeRule", "CSSPrimitiveValue");
</span><span class="cx"> }
</span><span class="cx">
</span><del>-var blendmodes = ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "plus-darker"];
</del><ins>+var blendmodes = ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "plus-darker", "plus-lighter"];
</ins><span class="cx">
</span><span class="cx"> for(x in blendmodes)
</span><span class="cx"> testBlendModeRule("Basic reference", blendmodes[x], 1, blendmodes[x]);
</span></span></pre></div>
<a id="trunkLayoutTestscss3blendingsvgblendpluslighterhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/css3/blending/svg-blend-plus-lighter.html (0 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/blending/svg-blend-plus-lighter.html         (rev 0)
+++ trunk/LayoutTests/css3/blending/svg-blend-plus-lighter.html        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+<!DOCTYPE HTML>
+<html>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="400px" height="400px" >
+<defs>
+ <g id="patch">
+ <rect x="0" y="0" width="10" height="40" fill="rgb(255,0,0)"/>
+ <rect x="10" y="0" width="10" height="40" fill="rgb(0,255,0)"/>
+ <rect x="20" y="0" width="10" height="40" fill="rgb(0,0,255)"/>
+ <rect x="30" y="0" width="10" height="40" fill="rgb(127,127,0)"/>
+ </g>
+ <rect x="0" y="0" width="10" height="10" fill="rgb(255,0,0)"/>
+</defs>
+<g transform="scale(4 4)">
+ <use xlink:href="#patch" x="0" y="0" width="40" height="10"></use>
+ <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: plus-lighter"></use>
+</g>
+</svg>
+</body>
+</html>
</ins><span class="cx">Property changes on: trunk/LayoutTests/css3/blending/svg-blend-plus-lighter.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkLayoutTestsplatformmaccss3blendingblendmodesimplecompositedexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-composited-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3blendingblendmodesimplecompositedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-composited-expected.txt (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-composited-expected.txt        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-composited-expected.txt        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -17,6 +17,7 @@
</span><span class="cx"> RenderBlock (floating) {LI} at (45,285) size 130x130
</span><span class="cx"> RenderBlock (floating) {LI} at (185,285) size 130x130
</span><span class="cx"> RenderBlock (floating) {LI} at (325,285) size 130x130
</span><ins>+ RenderBlock (floating) {LI} at (465,285) size 130x130
</ins><span class="cx"> layer at (53,21) size 130x130
</span><span class="cx"> RenderImage {IMG} at (0,0) size 130x130
</span><span class="cx"> layer at (193,21) size 130x130 blendMode: overlay
</span><span class="lines">@@ -43,3 +44,5 @@
</span><span class="cx"> RenderImage {IMG} at (0,0) size 130x130
</span><span class="cx"> layer at (333,301) size 130x130 blendMode: plus-darker
</span><span class="cx"> RenderImage {IMG} at (0,0) size 130x130
</span><ins>+layer at (473,301) size 130x130 blendMode: plus-lighter
+ RenderImage {IMG} at (0,0) size 130x130
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3blendingblendmodesimpleexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3blendingblendmodesimpleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-expected.txt (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-expected.txt        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/LayoutTests/platform/mac/css3/blending/blend-mode-simple-expected.txt        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -18,6 +18,7 @@
</span><span class="cx"> RenderBlock (floating) {LI} at (45,285) size 130x130
</span><span class="cx"> RenderBlock (floating) {LI} at (185,285) size 130x130
</span><span class="cx"> RenderBlock (floating) {LI} at (325,285) size 130x130
</span><ins>+ RenderBlock (floating) {LI} at (465,285) size 130x130
</ins><span class="cx"> layer at (193,21) size 130x130 blendMode: overlay
</span><span class="cx"> RenderImage {IMG} at (0,0) size 130x130
</span><span class="cx"> layer at (333,21) size 130x130 blendMode: screen
</span><span class="lines">@@ -42,3 +43,5 @@
</span><span class="cx"> RenderImage {IMG} at (0,0) size 130x130
</span><span class="cx"> layer at (333,301) size 130x130 blendMode: plus-darker
</span><span class="cx"> RenderImage {IMG} at (0,0) size 130x130
</span><ins>+layer at (473,301) size 130x130 blendMode: plus-lighter
+ RenderImage {IMG} at (0,0) size 130x130
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3blendingsvgblendpluslighterexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt (0 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt         (rev 0)
+++ trunk/LayoutTests/platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x420
+ RenderBlock {HTML} at (0,0) size 800x420
+ RenderBody {BODY} at (8,8) size 784x404
+ RenderSVGRoot {svg} at (8,8) size 160x160
+ RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+ RenderSVGContainer {g} at (8,8) size 40x40
+ RenderSVGRect {rect} at (8,8) size 10x40 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (18,8) size 10x40 [fill={[type=SOLID] [color=#00FF00]}] [x=10.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (28,8) size 10x40 [fill={[type=SOLID] [color=#0000FF]}] [x=20.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (38,8) size 10x40 [fill={[type=SOLID] [color=#7F7F00]}] [x=30.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (8,8) size 10x10 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
+ RenderSVGContainer {g} at (8,8) size 160x160 [transform={m=((4.00,0.00)(0.00,4.00)) t=(0.00,0.00)}]
+ RenderSVGContainer {use} at (8,8) size 160x160
+ RenderSVGContainer {g} at (8,8) size 160x160
+ RenderSVGRect {rect} at (8,8) size 40x160 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (48,8) size 40x160 [fill={[type=SOLID] [color=#00FF00]}] [x=10.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (88,8) size 40x160 [fill={[type=SOLID] [color=#0000FF]}] [x=20.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (128,8) size 40x160 [fill={[type=SOLID] [color=#7F7F00]}] [x=30.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGContainer {use} at (8,8) size 160x160 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(40.00,0.00)}]
+ RenderSVGContainer {g} at (8,8) size 160x160
+ RenderSVGRect {rect} at (8,8) size 160x40 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (8,48) size 160x40 [fill={[type=SOLID] [color=#00FF00]}] [x=10.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (8,88) size 160x40 [fill={[type=SOLID] [color=#0000FF]}] [x=20.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderSVGRect {rect} at (8,128) size 160x40 [fill={[type=SOLID] [color=#7F7F00]}] [x=30.00] [y=0.00] [width=10.00] [height=40.00]
+ RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">Property changes on: trunk/LayoutTests/platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebCore/ChangeLog        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -1,3 +1,32 @@
</span><ins>+2015-03-06 Dean Jackson <dino@apple.com>
+
+ Support "plus-lighter" in mix-blend mode
+ https://bugs.webkit.org/show_bug.cgi?id=142416
+ <rdar://problem/19993979>
+
+ Reviewed by Darin Adler and Sam Weinig.
+
+ Support the "plus-lighter" blending mode to CSS.
+ See my reply to: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0021.html
+
+ Test: css3/blending/svg-blend-plus-lighter.html
+
+ * css/CSSParser.cpp:
+ (WebCore::isValidKeywordPropertyAndValue): mix-blend-mode can now accept the
+ new keyword.
+ * css/CSSPrimitiveValueMappings.h: Add the mappings to/from the GraphicsType.
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator BlendMode):
+ * css/CSSValueKeywords.in: Add comment to show plus-darker and plus-lighter
+ are available.
+ * platform/graphics/GraphicsTypes.cpp: New GraphicsType for PlusLighter.
+ * platform/graphics/GraphicsTypes.h:
+ * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Map to the CA filter.
+ (PlatformCAFilters::setBlendingFiltersOnLayer):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::setPlatformCompositeOperation): Map to the CG
+ blending flag.
+
</ins><span class="cx"> 2015-03-06 Alex Christensen <achristensen@webkit.org>
</span><span class="cx">
</span><span class="cx"> Soft link MediaAccessibility using new macros.
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.cpp (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParser.cpp        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebCore/css/CSSParser.cpp        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -820,7 +820,7 @@
</span><span class="cx"> if (parserContext.isCSSCompositingEnabled && (valueID == CSSValueNormal || valueID == CSSValueMultiply || valueID == CSSValueScreen
</span><span class="cx"> || valueID == CSSValueOverlay || valueID == CSSValueDarken || valueID == CSSValueLighten || valueID == CSSValueColorDodge
</span><span class="cx"> || valueID == CSSValueColorBurn || valueID == CSSValueHardLight || valueID == CSSValueSoftLight || valueID == CSSValueDifference
</span><del>- || valueID == CSSValueExclusion || valueID == CSSValuePlusDarker))
</del><ins>+ || valueID == CSSValueExclusion || valueID == CSSValuePlusDarker || valueID == CSSValuePlusLighter))
</ins><span class="cx"> return true;
</span><span class="cx"> break;
</span><span class="cx"> case CSSPropertyIsolation:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPrimitiveValueMappingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -4118,6 +4118,9 @@
</span><span class="cx"> case BlendModePlusDarker:
</span><span class="cx"> m_value.valueID = CSSValuePlusDarker;
</span><span class="cx"> break;
</span><ins>+ case BlendModePlusLighter:
+ m_value.valueID = CSSValuePlusLighter;
+ break;
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -4160,6 +4163,8 @@
</span><span class="cx"> return BlendModeLuminosity;
</span><span class="cx"> case CSSValuePlusDarker:
</span><span class="cx"> return BlendModePlusDarker;
</span><ins>+ case CSSValuePlusLighter:
+ return BlendModePlusLighter;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSValueKeywordsin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSValueKeywords.in (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSValueKeywords.in        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebCore/css/CSSValueKeywords.in        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -1056,6 +1056,8 @@
</span><span class="cx"> saturation
</span><span class="cx"> color
</span><span class="cx"> luminosity
</span><ins>+// plus-darker
+// plus-lighter
</ins><span class="cx">
</span><span class="cx"> // isolation
</span><span class="cx"> // auto
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsTypescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsTypes.cpp (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsTypes.cpp        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebCore/platform/graphics/GraphicsTypes.cpp        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -66,7 +66,8 @@
</span><span class="cx"> "saturation",
</span><span class="cx"> "color",
</span><span class="cx"> "luminosity",
</span><del>- "plus-darker"
</del><ins>+ "plus-darker",
+ "plus-lighter"
</ins><span class="cx"> };
</span><span class="cx"> const int numCompositeOperatorNames = WTF_ARRAY_LENGTH(compositeOperatorNames);
</span><span class="cx"> const int numBlendOperatorNames = WTF_ARRAY_LENGTH(blendOperatorNames);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsTypesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsTypes.h (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsTypes.h        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebCore/platform/graphics/GraphicsTypes.h        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -64,7 +64,8 @@
</span><span class="cx"> BlendModeSaturation,
</span><span class="cx"> BlendModeColor,
</span><span class="cx"> BlendModeLuminosity,
</span><del>- BlendModePlusDarker
</del><ins>+ BlendModePlusDarker,
+ BlendModePlusLighter
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> enum GradientSpreadMethod {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscamacPlatformCAFiltersMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAFiltersMac.mm (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAFiltersMac.mm        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCAFiltersMac.mm        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -580,6 +580,9 @@
</span><span class="cx"> case BlendModePlusDarker:
</span><span class="cx"> filter = [CAFilter filterWithType:kCAFilterPlusD];
</span><span class="cx"> break;
</span><ins>+ case BlendModePlusLighter:
+ filter = [CAFilter filterWithType:kCAFilterPlusL];
+ break;
</ins><span class="cx"> default:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscgGraphicsContextCGcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -1537,6 +1537,9 @@
</span><span class="cx"> case BlendModePlusDarker:
</span><span class="cx"> target = kCGBlendModePlusDarker;
</span><span class="cx"> break;
</span><ins>+ case BlendModePlusLighter:
+ target = kCGBlendModePlusLighter;
+ break;
</ins><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebKit2/ChangeLog        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2015-03-06 Dean Jackson <dino@apple.com>
+
+ Support "plus-lighter" in mix-blend mode
+ https://bugs.webkit.org/show_bug.cgi?id=142416
+ <rdar://problem/19993979>
+
+ Reviewed by Darin Adler and Sam Weinig.
+
+ Output the appropriate blending type when logging.
+
+ * Shared/mac/RemoteLayerTreeTransaction.mm:
+ (WebKit::RemoteLayerTreeTextStream::operator<<):
+
</ins><span class="cx"> 2015-03-06 Beth Dakin <bdakin@apple.com>
</span><span class="cx">
</span><span class="cx"> REGRESSION (r180782): Data Detector popovers are not dismissed on scroll or zoom
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedmacRemoteLayerTreeTransactionmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm (181190 => 181191)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm        2015-03-07 00:03:39 UTC (rev 181190)
+++ trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm        2015-03-07 00:08:32 UTC (rev 181191)
</span><span class="lines">@@ -848,6 +848,7 @@
</span><span class="cx"> case BlendModeColor: ts << "color"; break;
</span><span class="cx"> case BlendModeLuminosity: ts << "luminosity"; break;
</span><span class="cx"> case BlendModePlusDarker: ts << "plus-darker"; break;
</span><ins>+ case BlendModePlusLighter: ts << "plus-lighter"; break;
</ins><span class="cx"> }
</span><span class="cx"> return ts;
</span><span class="cx"> }
</span></span></pre>
</div>
</div>
</body>
</html>