[CSS Blending] Remove the -webkit- prefix for mix-blend-mode and isolation CSS properties
authorcabanier@adobe.com <cabanier@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Apr 2014 20:24:43 +0000 (20:24 +0000)
committercabanier@adobe.com <cabanier@adobe.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Apr 2014 20:24:43 +0000 (20:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=131355

Reviewed by Dean Jackson.

Source/WebCore:
Removed webkit prefix from mix-blend-mode and isolation. These properties
never shipped and their spec is now in CR.

Covered by existing tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

LayoutTests:
Removed prefix from mix-blend-mode and isolation in layout tests.

* css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html:
* css3/compositing/blend-mode-ancestor-clipping-layer.html:
* css3/compositing/blend-mode-background.html:
* css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html:
* css3/compositing/blend-mode-isolated-group-1.html:
* css3/compositing/blend-mode-isolated-group-2.html:
* css3/compositing/blend-mode-isolated-group-3.html:
* css3/compositing/blend-mode-layers.html:
* css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html:
* css3/compositing/blend-mode-property-expected.txt:
* css3/compositing/blend-mode-property-parsing-expected.txt:
* css3/compositing/blend-mode-property-parsing-invalid-expected.txt:
* css3/compositing/blend-mode-reflection.html:
* css3/compositing/blend-mode-simple-composited.html:
* css3/compositing/blend-mode-simple.html:
* css3/compositing/blend-mode-transform-style-expected.txt:
* css3/compositing/blend-mode-transform-style.html:
* css3/compositing/blend-mode-with-accelerated-sibling.html:
* css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html:
* css3/compositing/isolation-isolate-blended-child-expected.html:
* css3/compositing/isolation-isolate-blended-child.html:
* css3/compositing/isolation-parsing.html:
* css3/compositing/script-tests/blend-mode-property-parsing-invalid.js:
(testInvalidFilterRule):
* css3/compositing/script-tests/blend-mode-property-parsing.js:
(testBlendModeRule):
* css3/compositing/script-tests/blend-mode-property.js:
(testblendmode):
* css3/compositing/svg-blend-color-dodge.html:
* css3/compositing/svg-blend-color.html:
* css3/compositing/svg-blend-hard-light.html:
* css3/compositing/svg-blend-hue.html:
* css3/compositing/svg-blend-layer-blend.html:
* css3/compositing/svg-blend-layer-clip-path.html:
* css3/compositing/svg-blend-layer-filter.html:
* css3/compositing/svg-blend-layer-opacity.html:
* css3/compositing/svg-blend-layer-shadow.html:
* css3/compositing/svg-blend-luminosity.html:
* css3/compositing/svg-blend-multiply-alpha.html:
* css3/compositing/svg-blend-multiply.html:
* css3/compositing/svg-blend-saturation.html:
* css3/compositing/svg-blend-screen.html:
* css3/compositing/svg-blend-soft-light.html:
* css3/compositing/svg-isolation-default-expected.html:
* css3/compositing/svg-isolation-default.html:
* css3/compositing/svg-isolation-isolated-group-expected.html:
* css3/compositing/svg-isolation-isolated-group.html:
* fast/repaint/blend-mode-isolate-stacking-context.html:
* inspector-protocol/layers/layers-blending-compositing-reasons.html:
* transitions/blendmode-transitions-expected.txt:
* transitions/blendmode-transitions.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

54 files changed:
LayoutTests/ChangeLog
LayoutTests/css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html
LayoutTests/css3/compositing/blend-mode-ancestor-clipping-layer.html
LayoutTests/css3/compositing/blend-mode-background.html
LayoutTests/css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html
LayoutTests/css3/compositing/blend-mode-isolated-group-1.html
LayoutTests/css3/compositing/blend-mode-isolated-group-2.html
LayoutTests/css3/compositing/blend-mode-isolated-group-3.html
LayoutTests/css3/compositing/blend-mode-layers.html
LayoutTests/css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
LayoutTests/css3/compositing/blend-mode-property-expected.txt
LayoutTests/css3/compositing/blend-mode-property-parsing-expected.txt
LayoutTests/css3/compositing/blend-mode-property-parsing-invalid-expected.txt
LayoutTests/css3/compositing/blend-mode-reflection.html
LayoutTests/css3/compositing/blend-mode-simple-composited.html
LayoutTests/css3/compositing/blend-mode-simple.html
LayoutTests/css3/compositing/blend-mode-transform-style-expected.txt
LayoutTests/css3/compositing/blend-mode-transform-style.html
LayoutTests/css3/compositing/blend-mode-with-accelerated-sibling.html
LayoutTests/css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html
LayoutTests/css3/compositing/isolation-isolate-blended-child-expected.html
LayoutTests/css3/compositing/isolation-isolate-blended-child.html
LayoutTests/css3/compositing/isolation-parsing.html
LayoutTests/css3/compositing/script-tests/blend-mode-property-parsing-invalid.js
LayoutTests/css3/compositing/script-tests/blend-mode-property-parsing.js
LayoutTests/css3/compositing/script-tests/blend-mode-property.js
LayoutTests/css3/compositing/svg-blend-color-dodge.html
LayoutTests/css3/compositing/svg-blend-color.html
LayoutTests/css3/compositing/svg-blend-hard-light.html
LayoutTests/css3/compositing/svg-blend-hue.html
LayoutTests/css3/compositing/svg-blend-layer-blend.html
LayoutTests/css3/compositing/svg-blend-layer-clip-path.html
LayoutTests/css3/compositing/svg-blend-layer-filter.html
LayoutTests/css3/compositing/svg-blend-layer-opacity.html
LayoutTests/css3/compositing/svg-blend-layer-shadow.html
LayoutTests/css3/compositing/svg-blend-luminosity.html
LayoutTests/css3/compositing/svg-blend-multiply-alpha.html
LayoutTests/css3/compositing/svg-blend-multiply.html
LayoutTests/css3/compositing/svg-blend-saturation.html
LayoutTests/css3/compositing/svg-blend-screen.html
LayoutTests/css3/compositing/svg-blend-soft-light.html
LayoutTests/css3/compositing/svg-isolation-default-expected.html
LayoutTests/css3/compositing/svg-isolation-default.html
LayoutTests/css3/compositing/svg-isolation-isolated-group-expected.html
LayoutTests/css3/compositing/svg-isolation-isolated-group.html
LayoutTests/fast/repaint/blend-mode-isolate-stacking-context.html
LayoutTests/inspector-protocol/layers/layers-blending-compositing-reasons.html
LayoutTests/transitions/blendmode-transitions-expected.txt
LayoutTests/transitions/blendmode-transitions.html
Source/WebCore/ChangeLog
Source/WebCore/css/CSSComputedStyleDeclaration.cpp
Source/WebCore/css/CSSParser.cpp
Source/WebCore/css/CSSPropertyNames.in
Source/WebCore/css/DeprecatedStyleBuilder.cpp

index 401c562..77f8eaa 100644 (file)
@@ -1,3 +1,64 @@
+2014-04-17  Rik Cabanier  <cabanier@adobe.com>
+
+        [CSS Blending] Remove the -webkit- prefix for mix-blend-mode and isolation CSS properties
+        https://bugs.webkit.org/show_bug.cgi?id=131355
+
+        Reviewed by Dean Jackson.
+
+        Removed prefix from mix-blend-mode and isolation in layout tests.
+
+        * css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html:
+        * css3/compositing/blend-mode-ancestor-clipping-layer.html:
+        * css3/compositing/blend-mode-background.html:
+        * css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html:
+        * css3/compositing/blend-mode-isolated-group-1.html:
+        * css3/compositing/blend-mode-isolated-group-2.html:
+        * css3/compositing/blend-mode-isolated-group-3.html:
+        * css3/compositing/blend-mode-layers.html:
+        * css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html:
+        * css3/compositing/blend-mode-property-expected.txt:
+        * css3/compositing/blend-mode-property-parsing-expected.txt:
+        * css3/compositing/blend-mode-property-parsing-invalid-expected.txt:
+        * css3/compositing/blend-mode-reflection.html:
+        * css3/compositing/blend-mode-simple-composited.html:
+        * css3/compositing/blend-mode-simple.html:
+        * css3/compositing/blend-mode-transform-style-expected.txt:
+        * css3/compositing/blend-mode-transform-style.html:
+        * css3/compositing/blend-mode-with-accelerated-sibling.html:
+        * css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html:
+        * css3/compositing/isolation-isolate-blended-child-expected.html:
+        * css3/compositing/isolation-isolate-blended-child.html:
+        * css3/compositing/isolation-parsing.html:
+        * css3/compositing/script-tests/blend-mode-property-parsing-invalid.js:
+        (testInvalidFilterRule):
+        * css3/compositing/script-tests/blend-mode-property-parsing.js:
+        (testBlendModeRule):
+        * css3/compositing/script-tests/blend-mode-property.js:
+        (testblendmode):
+        * css3/compositing/svg-blend-color-dodge.html:
+        * css3/compositing/svg-blend-color.html:
+        * css3/compositing/svg-blend-hard-light.html:
+        * css3/compositing/svg-blend-hue.html:
+        * css3/compositing/svg-blend-layer-blend.html:
+        * css3/compositing/svg-blend-layer-clip-path.html:
+        * css3/compositing/svg-blend-layer-filter.html:
+        * css3/compositing/svg-blend-layer-opacity.html:
+        * css3/compositing/svg-blend-layer-shadow.html:
+        * css3/compositing/svg-blend-luminosity.html:
+        * css3/compositing/svg-blend-multiply-alpha.html:
+        * css3/compositing/svg-blend-multiply.html:
+        * css3/compositing/svg-blend-saturation.html:
+        * css3/compositing/svg-blend-screen.html:
+        * css3/compositing/svg-blend-soft-light.html:
+        * css3/compositing/svg-isolation-default-expected.html:
+        * css3/compositing/svg-isolation-default.html:
+        * css3/compositing/svg-isolation-isolated-group-expected.html:
+        * css3/compositing/svg-isolation-isolated-group.html:
+        * fast/repaint/blend-mode-isolate-stacking-context.html:
+        * inspector-protocol/layers/layers-blending-compositing-reasons.html:
+        * transitions/blendmode-transitions-expected.txt:
+        * transitions/blendmode-transitions.html:
+
 2014-04-16  Jer Noble  <jer.noble@apple.com>
 
         Fullscreen media controls are unusable in pagination mode
index 17b5673..fb0766c 100644 (file)
@@ -5,7 +5,7 @@
         -webkit-transform: rotateX(0deg);
     }
     .blended {
-        -webkit-mix-blend-mode: multiply;
+        mix-blend-mode: multiply;
     }
     .child {
         width: 10px;
@@ -13,7 +13,7 @@
         background-color: green;
     }
     .parent {
-        -webkit-isolation: isolate;
+        isolation: isolate;
     }
 </style>
 
index 1522389..69ab64e 100644 (file)
@@ -14,7 +14,7 @@
                height: 200px;
                background: red;
                -webkit-transform:translateZ(0px);
-               -webkit-mix-blend-mode: difference;
+               mix-blend-mode: difference;
        }
  </style>
 
index 31ec266..34175f1 100644 (file)
@@ -6,7 +6,7 @@
         margin: 20px;
         width: 60px;
         height: 60px;
-        -webkit-mix-blend-mode: difference;
+        mix-blend-mode: difference;
         background: red;
     }
     body {
index dda6607..86d22e0 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE HTML>
-<!-- Test that an element having -webkit-mix-blend-mode applied blends only with the contents of the parent stacking context.-->
+<!-- Test that an element having mix-blend-mode applied blends only with the contents of the parent stacking context.-->
 <style>
     body {
         background: blue;
@@ -19,7 +19,7 @@
 
     .child {
         background: url('resources/ducky.png') no-repeat 0 0 /100% 100%, green;
-        -webkit-mix-blend-mode: multiply;
+        mix-blend-mode: multiply;
     }
 
     .composited {
index d29d462..8c77a5e 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE HTML>
-<!-- Test that an element having -webkit-mix-blend-mode applied blends only with the contents of the parent stacking context.-->
+<!-- Test that an element having mix-blend-mode applied blends only with the contents of the parent stacking context.-->
 <style>
     body {
         background: blue;
@@ -20,7 +20,7 @@
 
     .child {
         background: url('resources/ducky.png') no-repeat 0 0 /100% 100%, green;
-        -webkit-mix-blend-mode: multiply;
+        mix-blend-mode: multiply;
     }
 
     .composited {
index c9b6946..d581646 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE HTML>
-<!-- Test that an element having -webkit-mix-blend-mode applied blends only with the contents of the parent stacking context.
+<!-- Test that an element having mix-blend-mode applied blends only with the contents of the parent stacking context.
     Test that the contents of a blended element blend as a whole with the parent stacking context.-->
 <style>
     body {
@@ -21,7 +21,7 @@
 
     .blender {
         background: url('resources/ducky.png') no-repeat 0 0 /100% 100%, green;
-        -webkit-mix-blend-mode: multiply;
+        mix-blend-mode: multiply;
     }
 
     .child {
index a9fdf35..889330b 100755 (executable)
@@ -60,14 +60,14 @@ It uses nested content and then set various attributes to show the interaction o
         <li><div class="div1"><div class="div2"><div class="div3"></div></div></div></li>
 
         <!-- setting the blendmode will create a new stacking context which causes z-index to change -->
-        <li><div class="div1"><div class="div2" style="-webkit-mix-blend-mode: multiply"><div class="div3"></div></div></div></li>
-        <li><div class="div1"><div class="div2 composited" style="-webkit-mix-blend-mode: multiply"><div class="div3"></div></div></div></li>
+        <li><div class="div1"><div class="div2" style="mix-blend-mode: multiply"><div class="div3"></div></div></div></li>
+        <li><div class="div1"><div class="div2 composited" style="mix-blend-mode: multiply"><div class="div3"></div></div></div></li>
 
         <!-- just setting slight opacity which causes a stacking context. This also causes z-index to be resolved to the stacking context -->
         <li><div class="div1" style="opacity:.99"><div class="div2"><div class="div3"></div></div></div></li>
 
         <!-- blending will now only happen upto the stacking context generated by opacity. Z-index is resolved against the stacking context of the div with the blendmode -->
-        <li><div class="div1" style="opacity:.99"><div class="div2" style="-webkit-mix-blend-mode: multiply"><div class="div3"></div></div></div></li>
-        <li><div class="div1" style="opacity:.99"><div class="div2 composited" style="-webkit-mix-blend-mode: multiply"><div class="div3"></div></div></div></li>
+        <li><div class="div1" style="opacity:.99"><div class="div2" style="mix-blend-mode: multiply"><div class="div3"></div></div></div></li>
+        <li><div class="div1" style="opacity:.99"><div class="div2 composited" style="mix-blend-mode: multiply"><div class="div3"></div></div></div></li>
     </ul>
 </body>
index 0ef3061..326f7cf 100644 (file)
@@ -7,7 +7,7 @@
         height: 100px;
     }
     .blender {
-        -webkit-mix-blend-mode: difference;
+        mix-blend-mode: difference;
         -webkit-transform: translateZ(0);
         margin: 10px;
     }
index 1fd7579..eae424e 100644 (file)
@@ -1,56 +1,56 @@
-Test the parsing of the -webkit-mix-blend-mode property.
+Test the parsing of the mix-blend-mode property.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'normal'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'normal'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'multiply'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'multiply'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'screen'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'screen'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'overlay'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'overlay'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'darken'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'darken'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'lighten'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'lighten'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'color-dodge'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'color-dodge'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'color-burn'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'color-burn'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'hard-light'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'hard-light'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'soft-light'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'soft-light'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'difference'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'difference'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'exclusion'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'exclusion'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'hue'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'hue'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'saturation'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'saturation'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'color'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'color'
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'luminosity'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'luminosity'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 157c707..7c63547 100644 (file)
@@ -1,4 +1,4 @@
-Test the parsing of the -webkit-mix-blend-mode property.
+Test the parsing of the mix-blend-mode property.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
@@ -7,7 +7,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Basic reference : normal
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'normal'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'normal'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -15,7 +15,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : multiply
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'multiply'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'multiply'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -23,7 +23,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : screen
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'screen'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'screen'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -31,7 +31,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : overlay
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'overlay'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'overlay'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -39,7 +39,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : darken
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'darken'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'darken'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -47,7 +47,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : lighten
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'lighten'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'lighten'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -55,7 +55,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : color-dodge
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'color-dodge'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'color-dodge'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -63,7 +63,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : color-burn
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'color-burn'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'color-burn'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -71,7 +71,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : hard-light
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'hard-light'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'hard-light'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -79,7 +79,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : soft-light
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'soft-light'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'soft-light'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -87,7 +87,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : difference
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'difference'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'difference'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -95,7 +95,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : exclusion
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'exclusion'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'exclusion'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -103,7 +103,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : hue
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'hue'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'hue'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -111,7 +111,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : saturation
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'saturation'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'saturation'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -119,7 +119,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : color
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'color'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'color'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
@@ -127,7 +127,7 @@ PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
 Basic reference : luminosity
 PASS cssRule.type is 1
 PASS declaration.length is 1
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is 'luminosity'
+PASS declaration.getPropertyValue('mix-blend-mode') is 'luminosity'
 PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
 PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValuePrototype'
 PASS jsWrapperClass(blendModeRule.constructor) is 'CSSPrimitiveValueConstructor'
index 8cdc66b..889402a 100644 (file)
@@ -1,4 +1,4 @@
-Test the parsing of the -webkit-mix-blend-mode property.
+Test the parsing of the mix-blend-mode property.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
@@ -7,17 +7,17 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Too many parameters : overlay overlay
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is null
+PASS declaration.getPropertyValue('mix-blend-mode') is null
 
 Wrong type : "5px"
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is null
+PASS declaration.getPropertyValue('mix-blend-mode') is null
 
 Trailing comma : overlay,
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-mix-blend-mode') is null
+PASS declaration.getPropertyValue('mix-blend-mode') is null
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 4b13aa8..710eeee 100755 (executable)
@@ -30,6 +30,6 @@
 <!-- This file should contain two images of a duck on top of a gradient with reflection.
 Both the duck and the reflection should blend.  -->
 <body>
-    <ul><li><img style="-webkit-mix-blend-mode: multiply" src="resources/ducky.png"></li></ul>
-    <ul><li><img class="composited" style="-webkit-mix-blend-mode: multiply" src="resources/ducky.png"></li></ul>
+    <ul><li><img style="mix-blend-mode: multiply" src="resources/ducky.png"></li></ul>
+    <ul><li><img class="composited" style="mix-blend-mode: multiply" src="resources/ducky.png"></li></ul>
 </body>
index d16dd33..ada116c 100644 (file)
 <body>
     <ul>
         <!-- Separable blend modes -->
-        <li><img style="-webkit-mix-blend-mode: normal" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: overlay" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: screen" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: overlay" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: darken" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: lighten" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: color-dodge" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: color-burn" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: hard-light" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: soft-light" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: difference" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: exclusion" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: normal" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: overlay" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: screen" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: overlay" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: darken" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: lighten" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: color-dodge" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: color-burn" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: hard-light" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: soft-light" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: difference" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: exclusion" src="resources/ducky.png"></li>
         <!-- Non separable blend modes -->
-        <li><img style="-webkit-mix-blend-mode: hue" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: saturation" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: color" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: luminosity" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: hue" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: saturation" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: color" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: luminosity" src="resources/ducky.png"></li>
     </ul>
 </body>
index 5047ed6..e33d3d5 100755 (executable)
 <body>
     <ul>
         <!-- Separable blend modes -->
-        <li><img style="-webkit-mix-blend-mode: normal" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: overlay" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: screen" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: overlay" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: darken" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: lighten" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: color-dodge" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: color-burn" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: hard-light" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: soft-light" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: difference" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: exclusion" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: normal" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: overlay" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: screen" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: overlay" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: darken" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: lighten" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: color-dodge" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: color-burn" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: hard-light" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: soft-light" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: difference" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: exclusion" src="resources/ducky.png"></li>
         <!-- Non separable blend modes -->
-        <li><img style="-webkit-mix-blend-mode: hue" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: saturation" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: color" src="resources/ducky.png"></li>
-        <li><img style="-webkit-mix-blend-mode: luminosity" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: hue" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: saturation" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: color" src="resources/ducky.png"></li>
+        <li><img style="mix-blend-mode: luminosity" src="resources/ducky.png"></li>
     </ul>
 </body>
index 40fb24e..609248e 100644 (file)
@@ -4,6 +4,6 @@ PASS getTransformStyle("blending-with-transform-style-flat") is "flat"
 PASS successfullyParsed is true
 
 TEST COMPLETE
-Test that an element with -webkit-mix-blend-mode other than normal forces the computed value of transform-style to flat.
+Test that an element with mix-blend-mode other than normal forces the computed value of transform-style to flat.
 
 
index da3de0b..61168be 100644 (file)
@@ -5,13 +5,13 @@
         height: 100px;
     }
     .noblender {
-        -webkit-mix-blend-mode: normal;
+        mix-blend-mode: normal;
     }
     .blender {
-        -webkit-mix-blend-mode: difference;
+        mix-blend-mode: difference;
     }
 </style>
-<p>Test that an element with -webkit-mix-blend-mode other than normal forces the computed value of transform-style to flat.</p>
+<p>Test that an element with mix-blend-mode other than normal forces the computed value of transform-style to flat.</p>
 <div id="blend-mode-normal-with-transform-style-preserve-3d" class="noblender" style="-webkit-transform-style: preserve-3d;"></div>
 <div id="blending-with-transform-style-preserve-3d" class="blender" style="-webkit-transform-style: preserve-3d;"></div>
 <div id="blending-with-transform-style-flat" class="blender" style="-webkit-transform-style: flat;"></div>
index 29b1450..b86c04c 100644 (file)
@@ -5,7 +5,7 @@
         -webkit-transform: rotateX(0deg);
     }
     .blended {
-        -webkit-mix-blend-mode: multiply;
+        mix-blend-mode: multiply;
     }
     .child {
         width: 10px;
@@ -13,7 +13,7 @@
         background-color: green;
     }
     .parent {
-        -webkit-isolation: isolate;
+        isolation: isolate;
     }
 </style>
 
index 17195c1..52bd4fb 100644 (file)
@@ -7,7 +7,7 @@
         height: 100px;
     }
     .blender {
-        -webkit-mix-blend-mode: difference;
+        mix-blend-mode: difference;
     }
     .child {
         -webkit-transform: translateZ(0);
index c9316ea..5e45209 100644 (file)
@@ -21,7 +21,7 @@
 
     .child {
         margin-top: 0px;
-        -webkit-mix-blend-mode: multiply;
+        mix-blend-mode: multiply;
         background: olive;
     }
 
index b68ae1c..bd7fe8a 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE HTML>
-<!-- Test to ensure that "-webkit-isolation:isolate" creates a stacking context, thus preventing blending with the parent element. -->
+<!-- Test to ensure that "isolation:isolate" creates a stacking context, thus preventing blending with the parent element. -->
 <style>
     div {
         margin: 20px;
     }
 
     .isolator {
-        -webkit-isolation: isolate;
+        isolation: isolate;
         background: violet;
     }
 
     .child {
-        -webkit-mix-blend-mode: multiply;
+        mix-blend-mode: multiply;
         background: olive;
     }
 
index 8529dea..4e85ccf 100644 (file)
@@ -6,9 +6,9 @@
         function setProperty(value) {
             var div = document.createElement('div');
             document.body.appendChild(div);
-            div.style.setProperty("-webkit-isolation", value);
+            div.style.setProperty("isolation", value);
 
-            var computedValue = getComputedStyle(div).getPropertyValue("-webkit-isolation");
+            var computedValue = getComputedStyle(div).getPropertyValue("isolation");
             document.body.removeChild(div);
 
             return computedValue;
index c601a19..6e63517 100644 (file)
@@ -1,25 +1,25 @@
-description("Test the parsing of the -webkit-mix-blend-mode property.");
+description("Test the parsing of the mix-blend-mode property.");
 
 // These have to be global for the test helpers to see them.
 var stylesheet, cssRule, declaration;
 var styleElement = document.createElement("style");
 document.head.appendChild(styleElement);
 stylesheet = styleElement.sheet;
-stylesheet.insertRule("body { -webkit-mix-blend-mode: multiply; }", 0);
+stylesheet.insertRule("body { mix-blend-mode: multiply; }", 0);
 
 function testInvalidFilterRule(description, rule)
 {
     debug("");
     debug(description + " : " + rule);
 
-    stylesheet.insertRule("body { -webkit-mix-blend-mode: " + rule + "; }", 0);
+    stylesheet.insertRule("body { mix-blend-mode: " + rule + "; }", 0);
     cssRule = stylesheet.cssRules.item(0);
   
     shouldBe("cssRule.type", "1");
 
     declaration = cssRule.style;
     shouldBe("declaration.length", "0");
-    shouldBe("declaration.getPropertyValue('-webkit-mix-blend-mode')", "null");
+    shouldBe("declaration.getPropertyValue('mix-blend-mode')", "null");
 }
 
 testInvalidFilterRule("Too many parameters", "overlay overlay");
index 73ae571..29a1da4 100644 (file)
@@ -1,4 +1,4 @@
-description("Test the parsing of the -webkit-mix-blend-mode property.");
+description("Test the parsing of the mix-blend-mode property.");
 
 function jsWrapperClass(node)
 {
@@ -30,16 +30,16 @@ function testBlendModeRule(description, rule, expectedLength, expectedValue, exp
     debug("");
     debug(description + " : " + rule);
 
-    stylesheet.insertRule("body { -webkit-mix-blend-mode: " + rule + "; }", 0);
+    stylesheet.insertRule("body { mix-blend-mode: " + rule + "; }", 0);
     cssRule = stylesheet.cssRules.item(0);
   
     shouldBe("cssRule.type", "1");
 
     declaration = cssRule.style;
     shouldBe("declaration.length", "1");
-    shouldBe("declaration.getPropertyValue('-webkit-mix-blend-mode')", "'" + expectedValue + "'");
+    shouldBe("declaration.getPropertyValue('mix-blend-mode')", "'" + expectedValue + "'");
 
-    blendModeRule = declaration.getPropertyCSSValue('-webkit-mix-blend-mode');
+    blendModeRule = declaration.getPropertyCSSValue('mix-blend-mode');
     shouldBeType("blendModeRule", "CSSPrimitiveValue");
 }
 
index e56360d..5ac0d92 100644 (file)
@@ -1,4 +1,4 @@
-description("Test the parsing of the -webkit-mix-blend-mode property.");
+description("Test the parsing of the mix-blend-mode property.");
 
 var styleElement = document.createElement("style");
 document.head.appendChild(styleElement);
@@ -9,7 +9,7 @@ var declaration;
 function testblendmode(blendmode)
 {
 // add a -webkit-filter property to the start of the stylesheet
-stylesheet.addRule("body", "-webkit-mix-blend-mode: " + blendmode, 0);
+stylesheet.addRule("body", "mix-blend-mode: " + blendmode, 0);
 
 cssRule = stylesheet.cssRules.item(0);
 
@@ -17,7 +17,7 @@ shouldBe("cssRule.type", "1");
 
 declaration = cssRule.style;
 shouldBe("declaration.length", "1");
-shouldBe("declaration.getPropertyValue('-webkit-mix-blend-mode')", "\'" + blendmode + "\'");
+shouldBe("declaration.getPropertyValue('mix-blend-mode')", "\'" + blendmode + "\'");
 }
 
 var blendmodes = ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
index 04a21b7..72ad628 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: color-dodge"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: color-dodge"></use>
 </g>
 </svg>
 </body>
index 42933ba..5ca26f8 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: color"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: color"></use>
 </g>
 </svg>
 </body>
index cb54cb1..16bd43d 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: hard-light"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: hard-light"></use>
 </g>
 </svg>
 </body>
index 7271325..3c01bc2 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: hue"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: hue"></use>
 </g>
 </svg>
 </body>
index 48c9d94..bd2a50c 100644 (file)
@@ -5,8 +5,8 @@
 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="400px" height="400px" >
 <g transform="scale(4 4)">
   <rect x="0" y="0" width="40" height="40" fill="rgb(0,255,0)"/>
-  <g style="-webkit-mix-blend-mode: multiply">
-    <rect x="10" y="10" width="20" height="20" fill="rgb(0,255,0)" style="-webkit-mix-blend-mode: difference"/>
+  <g style="mix-blend-mode: multiply">
+    <rect x="10" y="10" width="20" height="20" fill="rgb(0,255,0)" style="mix-blend-mode: difference"/>
   </g>
 </g>
 </svg>
index 3febc8e..e66b243 100644 (file)
@@ -11,7 +11,7 @@
 <g transform="scale(4 4)">
   <rect x="0" y="0" width="40" height="40" fill="rgb(255,255,0)"/>
   <g clip-path="url(#clip)">
-    <rect x="0" y="0" width="40" height="40" fill="rgb(255,0,0)" style="-webkit-mix-blend-mode: difference"/>
+    <rect x="0" y="0" width="40" height="40" fill="rgb(255,0,0)" style="mix-blend-mode: difference"/>
   </g>
 </g>
 </svg>
index 6546946..5dd94c6 100644 (file)
@@ -11,7 +11,7 @@
 <g transform="scale(4 4)">
   <rect x="0" y="0" width="40" height="40" fill="rgb(0,255,0)"/>
   <g filter="url(#f1)">
-    <rect x="10" y="10" width="20" height="20" fill="rgb(0,255,0)" style="-webkit-mix-blend-mode: difference"/>
+    <rect x="10" y="10" width="20" height="20" fill="rgb(0,255,0)" style="mix-blend-mode: difference"/>
   </g>
 </g>
 </svg>
index 2701881..7b590d0 100644 (file)
@@ -6,7 +6,7 @@
 <g transform="scale(4 4)">
   <rect x="0" y="0" width="40" height="40" fill="rgb(0,255,0)"/>
   <g opacity=".5">
-    <rect x="10" y="10" width="20" height="20" fill="rgb(0,255,0)" style="-webkit-mix-blend-mode: difference"/>
+    <rect x="10" y="10" width="20" height="20" fill="rgb(0,255,0)" style="mix-blend-mode: difference"/>
   </g>
 </g>
 </svg>
index 33280df..63657f6 100644 (file)
@@ -7,7 +7,7 @@
 <g transform="scale(4 4)">
   <rect x="0" y="0" width="40" height="40" fill="rgb(0,255,0)"/>
   <g style="-webkit-svg-shadow:0px 0px 1px rgba(0,0,0,0);">
-    <rect x="10" y="10" width="20" height="20" fill="rgb(0,255,0)" style="-webkit-mix-blend-mode: difference"/>
+    <rect x="10" y="10" width="20" height="20" fill="rgb(0,255,0)" style="mix-blend-mode: difference"/>
   </g>
 </g>
 </svg>
index 927d6db..76599a6 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: luminosity"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: luminosity"></use>
 </g>
 </svg>
 </body>
index 77340d5..c074f29 100644 (file)
@@ -13,7 +13,7 @@
 </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="opacity: .5; -webkit-mix-blend-mode: multiply"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="opacity: .5; mix-blend-mode: multiply"></use>
 </g>
 </svg>
 </body>
index 113b8a4..c9783cf 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: multiply"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: multiply"></use>
 </g>
 </svg>
 </body>
index 1a151ef..764e32b 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: saturation"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: saturation"></use>
 </g>
 </svg>
 </body>
index 472abff..85ea363 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: screen"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: screen"></use>
 </g>
 </svg>
 </body>
index e0ee1fa..ac54787 100644 (file)
@@ -13,7 +13,7 @@
 </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="-webkit-mix-blend-mode: soft-light"></use>
+  <use xlink:href="#patch" x="0" y="0" width="40" height="10" transform="rotate(90 20 20)" style="mix-blend-mode: soft-light"></use>
 </g>
 </svg>
 </body>
index 85d15ff..25e6e31 100644 (file)
@@ -1,4 +1,4 @@
 <!DOCTYPE HTML>
 <svg xmlns="http://www.w3.org/2000/svg" width="400px" height="400px" style="background: green">
-    <rect x="100" y="100" width="200" height="200" style="fill: blue; -webkit-mix-blend-mode: multiply"/>
+    <rect x="100" y="100" width="200" height="200" style="fill: blue; mix-blend-mode: multiply"/>
 </svg>
index cb6bf51..f0859a4 100644 (file)
@@ -2,6 +2,6 @@
 <!-- Test the default behaviour of isolation with two simple elements. The test passes if the small square is drawn with black (blending is performed since the element is not isolated). -->
 <svg xmlns="http://www.w3.org/2000/svg" width="400px" height="400px" style="background: green">
     <g style="-webkit-isolation: auto">
-        <rect x="100" y="100" width="200" height="200" style="fill: blue; -webkit-mix-blend-mode: multiply"/>
+        <rect x="100" y="100" width="200" height="200" style="fill: blue; mix-blend-mode: multiply"/>
     </g>
 </svg>
index 05024a8..7dcdeb9 100644 (file)
@@ -3,6 +3,6 @@
     <g>
         <rect x="50" y="50" width="200" height="200" style="fill: orange;"/>
         <rect x="100" y="100" width="250" height="250" style="fill: blue;"/>
-        <rect x="100" y="100" width="150" height="150" style="fill: orange; -webkit-mix-blend-mode: difference;"/>
+        <rect x="100" y="100" width="150" height="150" style="fill: orange; mix-blend-mode: difference;"/>
     </g>
 </svg>
index fe8f7e2..0c32063 100644 (file)
@@ -2,8 +2,8 @@
 <!-- Test behaviour of isolation for overlapping elements within groups. The test passes if there are no rects drawn with red.
 This implies that the isolation is performed accordingly, meaning the orange rect doesn't blend with the background color. -->
 <svg xmlns="http://www.w3.org/2000/svg" width="400px" height="400px" style="background: green">
-    <g style="-webkit-isolation: isolate;">
+    <g style="isolation: isolate;">
         <rect x="100" y="100" width="250" height="250" style="fill: blue;"/>
-        <rect x="50" y="50" width="200" height="200" style="fill: orange; -webkit-mix-blend-mode: difference;"/>
+        <rect x="50" y="50" width="200" height="200" style="fill: orange; mix-blend-mode: difference;"/>
     </g>
 </svg>
index 54e7f50..9ed832a 100644 (file)
     }
 
     .blender {
-        -webkit-mix-blend-mode: difference;
+        mix-blend-mode: difference;
     }
 
     .blender2 {
-        -webkit-mix-blend-mode: screen;
+        mix-blend-mode: screen;
     }
 </style>
 <script>
@@ -86,4 +86,4 @@
             document.getElementById('sixth').className = "parent";
         }
      </script>
- </body>
\ No newline at end of file
+ </body>
index d09e859..ecf8f4d 100644 (file)
@@ -140,11 +140,11 @@ window.addEventListener("DOMContentLoaded", function()
 <style type="text/css">
       
     #isolating {
-        -webkit-isolation: isolate;
+        isolation: isolate;
     }
 
     #blending {
-        -webkit-mix-blend-mode: difference;
+        mix-blend-mode: difference;
     }
 
     #composited {
index 1a52bb9..ffc527b 100644 (file)
@@ -1,4 +1,4 @@
 Test to make sure that the blendmode property is properly propagated to shared styles
 BOX
-PASS - "-webkit-mix-blend-mode" property for "box" element at 0.5s saw something close to: difference
+PASS - "mix-blend-mode" property for "box" element at 0.5s saw something close to: difference
 
index 23074c0..a5bfa27 100644 (file)
@@ -14,7 +14,7 @@
       -webkit-transition-timing-function: linear;
       -webkit-transition-property: opacity;
          opacity:1;
-         -webkit-mix-blend-mode: difference;
+         mix-blend-mode: difference;
     }
     
     .final {
@@ -26,7 +26,7 @@
 
     const expectedValues = [
       // [time, element-id, property, expected-value, tolerance]
-      [0.5, 'box', '-webkit-mix-blend-mode', 'difference', 0],
+      [0.5, 'box', 'mix-blend-mode', 'difference', 0],
     ];
   
     function setupTest()
index 86c6449..437d683 100644 (file)
@@ -1,3 +1,25 @@
+2014-04-17  Rik Cabanier  <cabanier@adobe.com>
+
+        [CSS Blending] Remove the -webkit- prefix for mix-blend-mode and isolation CSS properties
+        https://bugs.webkit.org/show_bug.cgi?id=131355
+
+        Reviewed by Dean Jackson.
+
+        Removed webkit prefix from mix-blend-mode and isolation. These properties
+        never shipped and their spec is now in CR.
+
+        Covered by existing tests.
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::ComputedStyleExtractor::propertyValue):
+        * css/CSSParser.cpp:
+        (WebCore::isValidKeywordPropertyAndValue):
+        (WebCore::isKeywordPropertyID):
+        (WebCore::CSSParser::parseValue):
+        * css/CSSPropertyNames.in:
+        * css/DeprecatedStyleBuilder.cpp:
+        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
+
 2014-04-17  David Kilzer  <ddkilzer@apple.com>
 
         Tidy up isIsolatedInline() and highestContainingIsolateWithinRoot()
index 1535c60..bd260e2 100644 (file)
@@ -232,8 +232,8 @@ static const CSSPropertyID computedProperties[] = {
     CSSPropertyWebkitBackgroundOrigin,
     CSSPropertyWebkitBackgroundSize,
 #if ENABLE(CSS_COMPOSITING)
-    CSSPropertyWebkitMixBlendMode,
-    CSSPropertyWebkitIsolation,
+    CSSPropertyMixBlendMode,
+    CSSPropertyIsolation,
 #endif
     CSSPropertyWebkitBorderFit,
     CSSPropertyWebkitBorderHorizontalSpacing,
@@ -2815,9 +2815,9 @@ PassRefPtr<CSSValue> ComputedStyleExtractor::propertyValue(CSSPropertyID propert
             return valueForFilter(style.get(), style->filter());
 #endif
 #if ENABLE(CSS_COMPOSITING)
-        case CSSPropertyWebkitMixBlendMode:
+        case CSSPropertyMixBlendMode:
             return cssValuePool().createValue(style->blendMode());
-        case CSSPropertyWebkitIsolation:
+        case CSSPropertyIsolation:
             return cssValuePool().createValue(style->isolation());
 #endif
         case CSSPropertyBackgroundBlendMode: {
index 56bfdbe..6f56bfb 100644 (file)
@@ -812,7 +812,7 @@ static inline bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int
             return true;
         break;
 #if ENABLE(CSS_COMPOSITING)
-    case CSSPropertyWebkitMixBlendMode:
+    case CSSPropertyMixBlendMode:
         if (parserContext.isCSSCompositingEnabled && (valueID == CSSValueNormal || valueID == CSSValueMultiply || valueID == CSSValueScreen
             || valueID == CSSValueOverlay || valueID == CSSValueDarken || valueID == CSSValueLighten ||  valueID == CSSValueColorDodge
             || valueID == CSSValueColorBurn || valueID == CSSValueHardLight || valueID == CSSValueSoftLight || valueID == CSSValueDifference
@@ -820,7 +820,7 @@ static inline bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int
             || valueID == CSSValueLuminosity))
             return true;
         break;
-    case CSSPropertyWebkitIsolation:
+    case CSSPropertyIsolation:
         if (parserContext.isCSSCompositingEnabled && (valueID == CSSValueAuto || valueID == CSSValueIsolate))
             return true;
         break;
@@ -1080,8 +1080,8 @@ static inline bool isKeywordPropertyID(CSSPropertyID propertyId)
     case CSSPropertyVisibility:
     case CSSPropertyWebkitAppearance:
 #if ENABLE(CSS_COMPOSITING)
-    case CSSPropertyWebkitMixBlendMode:
-    case CSSPropertyWebkitIsolation:
+    case CSSPropertyMixBlendMode:
+    case CSSPropertyIsolation:
 #endif
     case CSSPropertyWebkitBackfaceVisibility:
     case CSSPropertyWebkitBorderAfterStyle:
@@ -2412,11 +2412,11 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
         break;
 #endif
 #if ENABLE(CSS_COMPOSITING)
-    case CSSPropertyWebkitMixBlendMode:
+    case CSSPropertyMixBlendMode:
         if (cssCompositingEnabled())
             validPrimitive = true;
         break;
-    case CSSPropertyWebkitIsolation:
+    case CSSPropertyIsolation:
         if (cssCompositingEnabled())
             validPrimitive = true;
         break;
index 5830241..5b75336 100644 (file)
@@ -286,8 +286,8 @@ z-index
 -webkit-box-decoration-break
 #endif
 #if defined(ENABLE_CSS_COMPOSITING) && ENABLE_CSS_COMPOSITING
--webkit-mix-blend-mode
--webkit-isolation
+mix-blend-mode
+isolation
 #endif
 #if defined(ENABLE_CSS_FILTERS) && ENABLE_CSS_FILTERS
 -webkit-filter
index 0ac39d1..9a88965 100644 (file)
@@ -2474,8 +2474,8 @@ DeprecatedStyleBuilder::DeprecatedStyleBuilder()
     setPropertyHandler(CSSPropertyWebkitBackgroundOrigin, CSSPropertyBackgroundOrigin);
     setPropertyHandler(CSSPropertyWebkitBackgroundSize, CSSPropertyBackgroundSize);
 #if ENABLE(CSS_COMPOSITING)
-    setPropertyHandler(CSSPropertyWebkitMixBlendMode, ApplyPropertyDefault<BlendMode, &RenderStyle::blendMode, BlendMode, &RenderStyle::setBlendMode, BlendMode, &RenderStyle::initialBlendMode>::createHandler());
-    setPropertyHandler(CSSPropertyWebkitIsolation, ApplyPropertyDefault<Isolation, &RenderStyle::isolation, Isolation, &RenderStyle::setIsolation, Isolation, &RenderStyle::initialIsolation>::createHandler());
+    setPropertyHandler(CSSPropertyMixBlendMode, ApplyPropertyDefault<BlendMode, &RenderStyle::blendMode, BlendMode, &RenderStyle::setBlendMode, BlendMode, &RenderStyle::initialBlendMode>::createHandler());
+    setPropertyHandler(CSSPropertyIsolation, ApplyPropertyDefault<Isolation, &RenderStyle::isolation, Isolation, &RenderStyle::setIsolation, Isolation, &RenderStyle::initialIsolation>::createHandler());
 #endif
     setPropertyHandler(CSSPropertyWebkitBorderFit, ApplyPropertyDefault<EBorderFit, &RenderStyle::borderFit, EBorderFit, &RenderStyle::setBorderFit, EBorderFit, &RenderStyle::initialBorderFit>::createHandler());
     setPropertyHandler(CSSPropertyWebkitBorderHorizontalSpacing, ApplyPropertyComputeLength<short, &RenderStyle::horizontalBorderSpacing, &RenderStyle::setHorizontalBorderSpacing, &RenderStyle::initialHorizontalBorderSpacing>::createHandler());