<!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>[208253] 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/208253">208253</a></dd>
<dt>Author</dt> <dd>dino@apple.com</dd>
<dt>Date</dt> <dd>2016-11-01 15:31:52 -0700 (Tue, 01 Nov 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove WebKitCSSFilterValue to make Hyatt happy
https://bugs.webkit.org/show_bug.cgi?id=164289
&lt;rdar://problems/29050973&gt;

Reviewed by Simon Fraser.

Source/WebCore:

The new CSS parser should not use WebKitCSSFilterValue. It's non-standard,
very likely only used in our tests, doesn't provide much benefit, and will be
covered by the new CSSOM function interface.

Covered by modifying existing tests.

* DerivedSources.make: Remove WebKitCSSFilterValue.idl.

* WebCore.xcodeproj/project.pbxproj: Make CSSFunctionValue.h private so API testing
can see it.

* bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJSNewlyCreated): No WebKitCSSFilterValue.

* css/CSSComputedStyleDeclaration.cpp: Use CSSFunctionValue or CSSPrimitiveValue to
build up the computed style.
(WebCore::ComputedStyleExtractor::valueForFilter):

* css/CSSValue.cpp: No WebKitCSSFilterValue.
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):
* css/CSSValue.h:
(WebCore::CSSValue::isFilterImageValue):
(WebCore::CSSValue::isWebKitCSSFilterValue): Deleted.

* css/StyleResolver.cpp: Resolve against CSSFunctionValues with
CSSValueIDs as name, rather than WebKitCSSFilterValue.
(WebCore::filterOperationForType):
(WebCore::StyleResolver::createFilterOperations):
* css/StyleResolver.h:

* css/WebKitCSSFilterValue.cpp: Removed.
* css/WebKitCSSFilterValue.h: Removed.
* css/WebKitCSSFilterValue.idl: Removed.

* css/parser/CSSParser.cpp: Parse into CSSPrimitiveValue and CSSFunctionValue.
(WebCore::isValidPrimitiveFilterFunction):
(WebCore::CSSParser::parseBuiltinFilterArguments):
(WebCore::cssValueKeywordIDForFunctionName):
(WebCore::CSSParser::parseFilter):
(WebCore::filterInfoForName): Deleted.
* css/parser/CSSParser.h:
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFilterFunction):

LayoutTests:

Update the filters tests now that WebKitCSSFilterValue no longer exists.
Unfortunately CSSFunctionValue isn't exposed to the Web, so we just
rely on the cssText of the resulting CSSStyleDeclaration.

I also moved all the script-tests into the HTML files, since there is
no point them being separate.

* css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt:
* css3/filters/backdrop/backdropfilter-property-computed-style.html:
* css3/filters/backdrop/backdropfilter-property-parsing-expected.txt:
* css3/filters/backdrop/backdropfilter-property-parsing-invalid.html:
* css3/filters/backdrop/backdropfilter-property-parsing.html:
* css3/filters/backdrop/backdropfilter-property.html:
* css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js: Removed.
* css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: Removed.
* css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js: Removed.
* css3/filters/backdrop/script-tests/backdropfilter-property.js: Removed.
* css3/filters/effect-reference-delete-crash.html:
* css3/filters/effect-reference-reset-style-delete-crash.html:
* css3/filters/filter-property-computed-style-expected.txt:
* css3/filters/filter-property-computed-style.html:
* css3/filters/filter-property-parsing-expected.txt:
* css3/filters/filter-property-parsing-invalid.html:
* css3/filters/filter-property-parsing.html:
* css3/filters/filter-property.html:
* css3/filters/script-tests/TEMPLATE.html: Removed.
* css3/filters/script-tests/effect-reference-delete-crash.js: Removed.
* css3/filters/script-tests/effect-reference-reset-style-delete-crash.js: Removed.
* css3/filters/script-tests/filter-property-computed-style.js: Removed.
* css3/filters/script-tests/filter-property-parsing-invalid.js: Removed.
* css3/filters/script-tests/filter-property-parsing.js: Removed.
* css3/filters/script-tests/filter-property.js: Removed.
* css3/filters/script-tests/unprefixed.js: Removed.
* css3/filters/unprefixed-expected.txt:
* css3/filters/unprefixed.html:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropaddremoveaddbackdropfilterhtml">trunk/LayoutTests/css3/filters/backdrop/add-remove-add-backdrop-filter.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropbackdropfilterpropertycomputedstyleexpectedtxt">trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropbackdropfilterpropertycomputedstylehtml">trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropbackdropfilterpropertyparsingexpectedtxt">trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropbackdropfilterpropertyparsinginvalidhtml">trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-invalid.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropbackdropfilterpropertyparsinghtml">trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropbackdropfilterpropertyhtml">trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property.html</a></li>
<li><a href="#trunkLayoutTestscss3filterseffectreferencedeletecrashhtml">trunk/LayoutTests/css3/filters/effect-reference-delete-crash.html</a></li>
<li><a href="#trunkLayoutTestscss3filterseffectreferenceresetstyledeletecrashhtml">trunk/LayoutTests/css3/filters/effect-reference-reset-style-delete-crash.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersfilterpropertycomputedstyleexpectedtxt">trunk/LayoutTests/css3/filters/filter-property-computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3filtersfilterpropertycomputedstylehtml">trunk/LayoutTests/css3/filters/filter-property-computed-style.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersfilterpropertyparsingexpectedtxt">trunk/LayoutTests/css3/filters/filter-property-parsing-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3filtersfilterpropertyparsinginvalidhtml">trunk/LayoutTests/css3/filters/filter-property-parsing-invalid.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersfilterpropertyparsinghtml">trunk/LayoutTests/css3/filters/filter-property-parsing.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersfilterpropertyhtml">trunk/LayoutTests/css3/filters/filter-property.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersunprefixedexpectedtxt">trunk/LayoutTests/css3/filters/unprefixed-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3filtersunprefixedhtml">trunk/LayoutTests/css3/filters/unprefixed.html</a></li>
<li><a href="#trunkLayoutTestsjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformefljsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1jsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacyosemitejsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcescpp">trunk/Source/WebCore/DerivedSources.cpp</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCSSValueCustomcpp">trunk/Source/WebCore/bindings/js/JSCSSValueCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSAllInOnecpp">trunk/Source/WebCore/css/CSSAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSValuecpp">trunk/Source/WebCore/css/CSSValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSValueh">trunk/Source/WebCore/css/CSSValue.h</a></li>
<li><a href="#trunkSourceWebCorecssStyleResolvercpp">trunk/Source/WebCore/css/StyleResolver.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleResolverh">trunk/Source/WebCore/css/StyleResolver.h</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSParsercpp">trunk/Source/WebCore/css/parser/CSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSParserh">trunk/Source/WebCore/css/parser/CSSParser.h</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSPropertyParsercpp">trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestscss3filtersbackdropscripttestsbackdropfilterpropertycomputedstylejs">trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropscripttestsbackdropfilterpropertyparsinginvalidjs">trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropscripttestsbackdropfilterpropertyparsingjs">trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersbackdropscripttestsbackdropfilterpropertyjs">trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersscripttestsTEMPLATEhtml">trunk/LayoutTests/css3/filters/script-tests/TEMPLATE.html</a></li>
<li><a href="#trunkLayoutTestscss3filtersscripttestseffectreferencedeletecrashjs">trunk/LayoutTests/css3/filters/script-tests/effect-reference-delete-crash.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersscripttestseffectreferenceresetstyledeletecrashjs">trunk/LayoutTests/css3/filters/script-tests/effect-reference-reset-style-delete-crash.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersscripttestsfilterpropertycomputedstylejs">trunk/LayoutTests/css3/filters/script-tests/filter-property-computed-style.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersscripttestsfilterpropertyparsinginvalidjs">trunk/LayoutTests/css3/filters/script-tests/filter-property-parsing-invalid.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersscripttestsfilterpropertyparsingjs">trunk/LayoutTests/css3/filters/script-tests/filter-property-parsing.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersscripttestsfilterpropertyjs">trunk/LayoutTests/css3/filters/script-tests/filter-property.js</a></li>
<li><a href="#trunkLayoutTestscss3filtersscripttestsunprefixedjs">trunk/LayoutTests/css3/filters/script-tests/unprefixed.js</a></li>
<li><a href="#trunkSourceWebCorecssWebKitCSSFilterValuecpp">trunk/Source/WebCore/css/WebKitCSSFilterValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssWebKitCSSFilterValueh">trunk/Source/WebCore/css/WebKitCSSFilterValue.h</a></li>
<li><a href="#trunkSourceWebCorecssWebKitCSSFilterValueidl">trunk/Source/WebCore/css/WebKitCSSFilterValue.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/ChangeLog        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,3 +1,47 @@
</span><ins>+2016-11-01  Dean Jackson  &lt;dino@apple.com&gt;
+
+        Remove WebKitCSSFilterValue to make Hyatt happy
+        https://bugs.webkit.org/show_bug.cgi?id=164289
+        &lt;rdar://problems/29050973&gt;
+
+        Reviewed by Simon Fraser.
+
+        Update the filters tests now that WebKitCSSFilterValue no longer exists.
+        Unfortunately CSSFunctionValue isn't exposed to the Web, so we just
+        rely on the cssText of the resulting CSSStyleDeclaration.
+
+        I also moved all the script-tests into the HTML files, since there is
+        no point them being separate.
+
+        * css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt:
+        * css3/filters/backdrop/backdropfilter-property-computed-style.html:
+        * css3/filters/backdrop/backdropfilter-property-parsing-expected.txt:
+        * css3/filters/backdrop/backdropfilter-property-parsing-invalid.html:
+        * css3/filters/backdrop/backdropfilter-property-parsing.html:
+        * css3/filters/backdrop/backdropfilter-property.html:
+        * css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js: Removed.
+        * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: Removed.
+        * css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js: Removed.
+        * css3/filters/backdrop/script-tests/backdropfilter-property.js: Removed.
+        * css3/filters/effect-reference-delete-crash.html:
+        * css3/filters/effect-reference-reset-style-delete-crash.html:
+        * css3/filters/filter-property-computed-style-expected.txt:
+        * css3/filters/filter-property-computed-style.html:
+        * css3/filters/filter-property-parsing-expected.txt:
+        * css3/filters/filter-property-parsing-invalid.html:
+        * css3/filters/filter-property-parsing.html:
+        * css3/filters/filter-property.html:
+        * css3/filters/script-tests/TEMPLATE.html: Removed.
+        * css3/filters/script-tests/effect-reference-delete-crash.js: Removed.
+        * css3/filters/script-tests/effect-reference-reset-style-delete-crash.js: Removed.
+        * css3/filters/script-tests/filter-property-computed-style.js: Removed.
+        * css3/filters/script-tests/filter-property-parsing-invalid.js: Removed.
+        * css3/filters/script-tests/filter-property-parsing.js: Removed.
+        * css3/filters/script-tests/filter-property.js: Removed.
+        * css3/filters/script-tests/unprefixed.js: Removed.
+        * css3/filters/unprefixed-expected.txt:
+        * css3/filters/unprefixed.html:
+
</ins><span class="cx"> 2016-11-01  Ryan Haddad  &lt;ryanhaddad@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Marking fast/preloader/image-srcset.html as flaky on macOS.
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropaddremoveaddbackdropfilterhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/add-remove-add-backdrop-filter.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/add-remove-add-backdrop-filter.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/add-remove-add-backdrop-filter.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">     &lt;script&gt;
</span><span class="cx">         if (window.testRunner)
</span><span class="cx">             testRunner.waitUntilDone();
</span><del>-            
</del><ins>+
</ins><span class="cx">         function doTest()
</span><span class="cx">         {
</span><span class="cx">             var backdrop = document.getElementById('blur');
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropbackdropfilterpropertycomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,384 +6,291 @@
</span><span class="cx"> 
</span><span class="cx"> Basic reference : url('#a')
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Bare unquoted reference converting to quoted form : url(#a)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple references : url('#a') url('#b')
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#b)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
+PASS subRule.cssText is &quot;url(#b)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Reference as 2nd value : grayscale(1) url('#a')
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : grayscale(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : grayscale(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : grayscale(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : grayscale()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : grayscale(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : sepia(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : sepia(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : sepia(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : sepia()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : sepia(0.5) sepia(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : sepia(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : saturate(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : saturate(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : saturate(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : saturate()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : saturate(0.5) saturate(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;saturate(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : saturate(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees value as integer : hue-rotate(10deg)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees float value converts to integer : hue-rotate(10.0deg)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Radians value : hue-rotate(10rad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(572.9577951308232deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(572.9577951308232deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Gradians value : hue-rotate(10grad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(9deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(9deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Turns value : hue-rotate(0.5turn)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(180deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(180deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : hue-rotate(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : hue-rotate()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : hue-rotate(10deg) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : invert(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : invert(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : invert(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0)'
</del><ins>+PASS subRule.cssText is &quot;invert(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : invert()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : invert(0.5) invert(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;invert(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : invert(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : opacity(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : opacity(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : opacity(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : opacity()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : opacity(0.5) opacity(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;opacity(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : opacity(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : brightness(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : brightness(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : brightness(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : brightness()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : brightness(0.5) brightness(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;brightness(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : brightness(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : contrast(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Value greater than 1 : contrast(2)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(2)'
</del><ins>+PASS subRule.cssText is &quot;contrast(2)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : contrast(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : contrast(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : contrast()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : contrast(0.5) contrast(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;contrast(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : contrast(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One zero to px : blur(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(0px)'
</del><ins>+PASS subRule.cssText is &quot;blur(0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One length : blur(2em)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(32px)'
</del><ins>+PASS subRule.cssText is &quot;blur(32px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One length : blur(5px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(5px)'
</del><ins>+PASS subRule.cssText is &quot;blur(5px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : blur()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(0px)'
</del><ins>+PASS subRule.cssText is &quot;blur(0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values : drop-shadow(red 1px 2px 3px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(255, 0, 0) 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values then color : drop-shadow(1px 2px 3px red)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(255, 0, 0) 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values with zero length : drop-shadow(#abc 0 0 0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(170, 187, 204) 0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values with zero length : drop-shadow(0 0 0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Two values no color : drop-shadow(1px 2px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple operations : grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)
</span><span class="cx"> PASS filterStyle.length is 7
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.75)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(35deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.2)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.9)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(5px)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
+PASS subRule.cssText is &quot;saturate(0.75)&quot;
+PASS subRule.cssText is &quot;hue-rotate(35deg)&quot;
+PASS subRule.cssText is &quot;invert(0.2)&quot;
+PASS subRule.cssText is &quot;opacity(0.9)&quot;
+PASS subRule.cssText is &quot;blur(5px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage values : grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)
</span><span class="cx"> PASS filterStyle.length is 7
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.75)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.2)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.9)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.6)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.3)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
+PASS subRule.cssText is &quot;saturate(0.75)&quot;
+PASS subRule.cssText is &quot;invert(0.2)&quot;
+PASS subRule.cssText is &quot;opacity(0.9)&quot;
+PASS subRule.cssText is &quot;brightness(0.6)&quot;
+PASS subRule.cssText is &quot;contrast(0.3)&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropbackdropfilterpropertycomputedstylehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-computed-style.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,309 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/backdropfilter-property-computed-style.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test the computed style of the -webkit-backdrop-filter property.&quot;);
+
+// These have to be global for the test helpers to see them.
+var stylesheet, filterStyle, subRule;
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+stylesheet = styleElement.sheet;
+
+function testComputedFilterRule(description, rule, expectedLength, expectedTexts)
+{
+    debug(&quot;&quot;);
+    debug(description + &quot; : &quot; + rule);
+
+    stylesheet.insertRule(&quot;body { -webkit-backdrop-filter: &quot; + rule + &quot;; }&quot;, 0);
+
+    filterStyle = window.getComputedStyle(document.body).getPropertyCSSValue('-webkit-backdrop-filter');
+    shouldBe(&quot;filterStyle.length&quot;, `${expectedLength}`);
+    for (var i = 0; i &lt; expectedLength; i++) {
+        subRule = filterStyle[i];
+        shouldBe(&quot;subRule.cssText&quot;, `&quot;${expectedTexts[i]}&quot;`);
+    }
+    stylesheet.deleteRule(0);
+}
+
+testComputedFilterRule(&quot;Basic reference&quot;,
+                       &quot;url('#a')&quot;, 1,
+                       [&quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
+                       &quot;url(#a)&quot;, 1,
+                       [&quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Multiple references&quot;,
+                       &quot;url('#a') url('#b')&quot;, 2,
+                       [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
+
+testComputedFilterRule(&quot;Reference as 2nd value&quot;,
+                       &quot;grayscale(1) url('#a')&quot;, 2,
+                       [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;grayscale(1)&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;grayscale(1.0)&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;grayscale(0)&quot;, 1,
+                       [&quot;grayscale(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;grayscale()&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;grayscale(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;sepia(1)&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;sepia(1.0)&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;sepia(0)&quot;, 1,
+                       [&quot;sepia(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;sepia()&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;sepia(0.5) sepia(0.25)&quot;, 2,
+                       [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;sepia(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;saturate(1)&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;saturate(1.0)&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;saturate(0)&quot;, 1,
+                       [&quot;saturate(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;saturate()&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;saturate(0.5) saturate(0.25)&quot;, 2,
+                       [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;saturate(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Degrees value as integer&quot;,
+                       &quot;hue-rotate(10deg)&quot;, 1,
+                       [&quot;hue-rotate(10deg)&quot;]);
+
+testComputedFilterRule(&quot;Degrees float value converts to integer&quot;,
+                       &quot;hue-rotate(10.0deg)&quot;, 1,
+                       [&quot;hue-rotate(10deg)&quot;]);
+
+testComputedFilterRule(&quot;Radians value&quot;,
+                       &quot;hue-rotate(10rad)&quot;, 1,
+                       [&quot;hue-rotate(572.9577951308232deg)&quot;]);
+
+testComputedFilterRule(&quot;Gradians value&quot;,
+                       &quot;hue-rotate(10grad)&quot;, 1,
+                       [&quot;hue-rotate(9deg)&quot;]);
+
+testComputedFilterRule(&quot;Turns value&quot;,
+                       &quot;hue-rotate(0.5turn)&quot;, 1,
+                       [&quot;hue-rotate(180deg)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;hue-rotate(0)&quot;, 1,
+                       [&quot;hue-rotate(0deg)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;hue-rotate()&quot;, 1,
+                       [&quot;hue-rotate(0deg)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2,
+                       [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;invert(1)&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;invert(1.0)&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;invert(0)&quot;, 1,
+                       [&quot;invert(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;invert()&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;invert(0.5) invert(0.25)&quot;, 2,
+                       [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;invert(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;opacity(1)&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;opacity(1.0)&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;opacity(0)&quot;, 1,
+                       [&quot;opacity(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;opacity()&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;opacity(0.5) opacity(0.25)&quot;, 2,
+                       [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;opacity(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                      &quot;brightness(1)&quot;, 1,
+                      [&quot;brightness(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                      &quot;brightness(1.0)&quot;, 1,
+                      [&quot;brightness(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                      &quot;brightness(0)&quot;, 1,
+                      [&quot;brightness(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                      &quot;brightness()&quot;, 1,
+                      [&quot;brightness(0)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                      &quot;brightness(0.5) brightness(0.25)&quot;, 2,
+                      [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                      &quot;brightness(0.5) grayscale(0.25)&quot;, 2,
+                      [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                      &quot;contrast(1)&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Value greater than 1&quot;,
+                      &quot;contrast(2)&quot;, 1,
+                      [&quot;contrast(2)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                      &quot;contrast(1.0)&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                      &quot;contrast(0)&quot;, 1,
+                      [&quot;contrast(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                      &quot;contrast()&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                      &quot;contrast(0.5) contrast(0.25)&quot;, 2,
+                      [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                      &quot;contrast(0.5) grayscale(0.25)&quot;, 2,
+                      [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;One zero to px&quot;,
+                       &quot;blur(0)&quot;, 1,
+                       [&quot;blur(0px)&quot;]);
+
+testComputedFilterRule(&quot;One length&quot;,
+                       &quot;blur(2em)&quot;, 1,
+                       [&quot;blur(32px)&quot;]);
+
+testComputedFilterRule(&quot;One length&quot;,
+                       &quot;blur(5px)&quot;, 1,
+                       [&quot;blur(5px)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;blur()&quot;, 1,
+                       [&quot;blur(0px)&quot;]);
+
+testComputedFilterRule(&quot;Color then three values&quot;,
+                       &quot;drop-shadow(red 1px 2px 3px)&quot;, 1,
+                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
+
+testComputedFilterRule(&quot;Three values then color&quot;,
+                       &quot;drop-shadow(1px 2px 3px red)&quot;, 1,
+                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
+
+testComputedFilterRule(&quot;Color then three values with zero length&quot;,
+                       &quot;drop-shadow(#abc 0 0 0)&quot;, 1,
+                       [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Three values with zero length&quot;,
+                       &quot;drop-shadow(0 0 0)&quot;, 1,
+                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Two values no color&quot;,
+                       &quot;drop-shadow(1px 2px)&quot;, 1,
+                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Multiple operations&quot;,
+                       &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)&quot;, 7,
+                       [
+                           &quot;grayscale(0.5)&quot;,
+                           &quot;sepia(0.25)&quot;,
+                           &quot;saturate(0.75)&quot;,
+                           &quot;hue-rotate(35deg)&quot;,
+                           &quot;invert(0.2)&quot;,
+                           &quot;opacity(0.9)&quot;,
+                           &quot;blur(5px)&quot;
+                      ]);
+
+testComputedFilterRule(&quot;Percentage values&quot;,
+                      &quot;grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)&quot;, 7,
+                      [
+                          &quot;grayscale(0.5)&quot;,
+                          &quot;sepia(0.25)&quot;,
+                          &quot;saturate(0.75)&quot;,
+                          &quot;invert(0.2)&quot;,
+                          &quot;opacity(0.9)&quot;,
+                          &quot;brightness(0.6)&quot;,
+                          &quot;contrast(0.3)&quot;
+                      ]);
+
+successfullyParsed = true;
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropbackdropfilterpropertyparsingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -7,899 +7,797 @@
</span><span class="cx"> Basic reference : url('#a')
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'url(#a)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;url(#a)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Bare unquoted reference converting to quoted form : url(#a)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'url(#a)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;url(#a)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple references : url('#a') url('#b')
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'url(#a) url(#b)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;url(#a) url(#b)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#b)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
+PASS subRule.cssText is &quot;url(#b)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Reference as 2nd value : grayscale(1) url('#a')
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(1) url(#a)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(1) url(#a)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : grayscale(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : grayscale(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(50%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(50%)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : grayscale(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : grayscale(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(0)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : grayscale()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale()'
</del><ins>+PASS subRule.cssText is &quot;grayscale()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : grayscale(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : sepia(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'sepia(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;sepia(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : sepia(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'sepia(50%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;sepia(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(50%)'
</del><ins>+PASS subRule.cssText is &quot;sepia(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : sepia(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'sepia(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;sepia(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : sepia(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'sepia(0)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;sepia(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : sepia()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'sepia()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;sepia()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia()'
</del><ins>+PASS subRule.cssText is &quot;sepia()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : sepia(0.5) sepia(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'sepia(0.5) sepia(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;sepia(0.5) sepia(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : sepia(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'sepia(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;sepia(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : saturate(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : saturate(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate(50%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(50%)'
</del><ins>+PASS subRule.cssText is &quot;saturate(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value &gt; 1 : saturate(250%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate(250%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate(250%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(250%)'
</del><ins>+PASS subRule.cssText is &quot;saturate(250%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : saturate(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Input value &gt; 1 : saturate(5.5)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate(5.5)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate(5.5)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(5.5)'
</del><ins>+PASS subRule.cssText is &quot;saturate(5.5)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : saturate(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate(0)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : saturate()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate()'
</del><ins>+PASS subRule.cssText is &quot;saturate()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : saturate(0.5) saturate(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate(0.5) saturate(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate(0.5) saturate(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;saturate(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : saturate(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'saturate(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;saturate(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees value as integer : hue-rotate(10deg)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'hue-rotate(10deg)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees float value converts to integer : hue-rotate(10.0deg)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'hue-rotate(10deg)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Radians value : hue-rotate(10rad)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'hue-rotate(10rad)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;hue-rotate(10rad)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10rad)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10rad)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Gradians value : hue-rotate(10grad)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'hue-rotate(10grad)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;hue-rotate(10grad)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10grad)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10grad)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Turns value : hue-rotate(0.5turn)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'hue-rotate(0.5turn)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;hue-rotate(0.5turn)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0.5turn)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0.5turn)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : hue-rotate(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'hue-rotate(0deg)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : hue-rotate()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'hue-rotate()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;hue-rotate()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate()'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : hue-rotate(10deg) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'hue-rotate(10deg) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;hue-rotate(10deg) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : invert(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'invert(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;invert(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : invert(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'invert(50%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;invert(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(50%)'
</del><ins>+PASS subRule.cssText is &quot;invert(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : invert(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'invert(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;invert(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : invert(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'invert(0)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;invert(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0)'
</del><ins>+PASS subRule.cssText is &quot;invert(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : invert()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'invert()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;invert()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert()'
</del><ins>+PASS subRule.cssText is &quot;invert()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : invert(0.5) invert(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'invert(0.5) invert(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;invert(0.5) invert(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;invert(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : invert(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'invert(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;invert(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : opacity(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'opacity(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;opacity(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : opacity(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'opacity(50%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;opacity(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(50%)'
</del><ins>+PASS subRule.cssText is &quot;opacity(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : opacity(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'opacity(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;opacity(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : opacity(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'opacity(0)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;opacity(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : opacity()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'opacity()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;opacity()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity()'
</del><ins>+PASS subRule.cssText is &quot;opacity()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : opacity(0.5) opacity(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'opacity(0.5) opacity(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;opacity(0.5) opacity(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;opacity(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : opacity(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'opacity(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;opacity(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : brightness(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : brightness(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness(50%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(50%)'
</del><ins>+PASS subRule.cssText is &quot;brightness(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : brightness(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : brightness(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness(0)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : brightness()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness()'
</del><ins>+PASS subRule.cssText is &quot;brightness()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : brightness(0.5) brightness(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness(0.5) brightness(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness(0.5) brightness(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;brightness(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : brightness(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Parameter less than -100% : brightness(-1.1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness(-1.1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness(-1.1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(-1.1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(-1.1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Parameter more than 100% : brightness(101%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'brightness(101%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;brightness(101%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(101%)'
</del><ins>+PASS subRule.cssText is &quot;brightness(101%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : grayscale(0.25) brightness(0.5)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(0.25) brightness(0.5)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(0.25) brightness(0.5)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
+PASS subRule.cssText is &quot;brightness(0.5)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : contrast(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : contrast(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast(50%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(50%)'
</del><ins>+PASS subRule.cssText is &quot;contrast(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value &gt; 1 : contrast(250%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast(250%)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast(250%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(250%)'
</del><ins>+PASS subRule.cssText is &quot;contrast(250%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : contrast(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast(1)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : contrast(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast(0)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : contrast()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast()'
</del><ins>+PASS subRule.cssText is &quot;contrast()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Value greater than one : contrast(2)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast(2)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast(2)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(2)'
</del><ins>+PASS subRule.cssText is &quot;contrast(2)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : contrast(0.5) contrast(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast(0.5) contrast(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast(0.5) contrast(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;contrast(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : contrast(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'contrast(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;contrast(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : grayscale(0.25) contrast(0.5)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(0.25) contrast(0.5)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(0.25) contrast(0.5)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
+PASS subRule.cssText is &quot;contrast(0.5)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One zero to px : blur(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'blur(0px)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;blur(0px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(0px)'
</del><ins>+PASS subRule.cssText is &quot;blur(0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One length : blur(10px)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'blur(10px)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;blur(10px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(10px)'
</del><ins>+PASS subRule.cssText is &quot;blur(10px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : blur()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'blur()'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;blur()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur()'
</del><ins>+PASS subRule.cssText is &quot;blur()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values : drop-shadow(red 1px 2px 3px)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'drop-shadow(red 1px 2px 3px)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;drop-shadow(red 1px 2px 3px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(red 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(red 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values then color : drop-shadow(1px 2px 3px red)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'drop-shadow(red 1px 2px 3px)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;drop-shadow(red 1px 2px 3px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(red 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(red 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values with zero length : drop-shadow(#abc 0 0 0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'drop-shadow(rgb(170, 187, 204) 0px 0px 0px)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(170, 187, 204) 0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values with zero length : drop-shadow(0 0 0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'drop-shadow(0px 0px 0px)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;drop-shadow(0px 0px 0px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Two values no color : drop-shadow(1px 2px)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'drop-shadow(1px 2px)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;drop-shadow(1px 2px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(1px 2px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(1px 2px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple operations : grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is 'grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)'
</del><ins>+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 8
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.75)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(35deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.2)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.9)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(5px)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(green 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
+PASS subRule.cssText is &quot;saturate(0.75)&quot;
+PASS subRule.cssText is &quot;hue-rotate(35deg)&quot;
+PASS subRule.cssText is &quot;invert(0.2)&quot;
+PASS subRule.cssText is &quot;opacity(0.9)&quot;
+PASS subRule.cssText is &quot;blur(5px)&quot;
+PASS subRule.cssText is &quot;drop-shadow(green 1px 2px 3px)&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropbackdropfilterpropertyparsinginvalidhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-invalid.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-invalid.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-invalid.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,107 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/backdropfilter-property-parsing-invalid.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test the parsing of the -webkit-backdrop-filter property.&quot;);
+
+// These have to be global for the test helpers to see them.
+var stylesheet, cssRule, declaration;
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+stylesheet = styleElement.sheet;
+
+function testInvalidFilterRule(description, rule)
+{
+    debug(&quot;&quot;);
+    debug(description + &quot; : &quot; + rule);
+
+    stylesheet.insertRule(&quot;body { -webkit-backdrop-filter: &quot; + rule + &quot;; }&quot;, 0);
+    cssRule = stylesheet.cssRules.item(0);
+
+    shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
+
+    declaration = cssRule.style;
+    shouldBe(&quot;declaration.length&quot;, &quot;0&quot;);
+    shouldBeEqualToString(&quot;declaration.getPropertyValue('-webkit-backdrop-filter')&quot;, &quot;&quot;);
+}
+
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;url(#a #b)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;grayscale(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;grayscale(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;grayscale(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;grayscale(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;grayscale(-0.5)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;grayscale(-10%)&quot;);
+testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;grayscale(1.5)&quot;);
+
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;sepia(0.5 0.5 3.0)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;sepia(0.1, 0.1)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;sepia(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;sepia(-0.01)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;sepia(-10%)&quot;);
+testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;sepia(10000)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;saturate(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;saturate(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;saturate(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;saturate(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;saturate(-0.5)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;saturate(-10%)&quot;);
+
+testInvalidFilterRule(&quot;Bare number&quot;, &quot;hue-rotate(10)&quot;);
+testInvalidFilterRule(&quot;Length&quot;, &quot;hue-rotate(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;hue-rotate(10deg 4)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;hue-rotate(10deg, 5deg)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;hue-rotate(10deg,)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;invert(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;invert(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;invert(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;invert(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;invert(-0.5)&quot;);
+testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;invert(1.5)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;opacity(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;opacity(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;opacity(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;opacity(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;opacity(-0.5)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;opacity(-10%)&quot;);
+testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;opacity(1.5)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;brightness(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;brightness(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;brightness(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;brightness(0.5,)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;contrast(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;contrast(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;contrast(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;contrast(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;contrast(-0.5)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;contrast(-10%)&quot;);
+
+testInvalidFilterRule(&quot;Bare number&quot;, &quot;blur(1)&quot;);
+testInvalidFilterRule(&quot;Negative number&quot;, &quot;blur(-1px)&quot;);
+testInvalidFilterRule(&quot;Percentage&quot;, &quot;blur(10%)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;blur(1px 1px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;blur(1em, 1em)&quot;);
+testInvalidFilterRule(&quot;Commas&quot;, &quot;blur(10px, 10px)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;blur(1em,)&quot;);
+
+testInvalidFilterRule(&quot;No values&quot;, &quot;drop-shadow()&quot;);
+testInvalidFilterRule(&quot;Missing lengths&quot;, &quot;drop-shadow(red)&quot;);
+testInvalidFilterRule(&quot;Not enough lengths&quot;, &quot;drop-shadow(red 1px)&quot;);
+testInvalidFilterRule(&quot;Missing units&quot;, &quot;drop-shadow(red 1 2 3)&quot;);
+testInvalidFilterRule(&quot;Inset&quot;, &quot;drop-shadow(red 1px 2px 3px inset)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;drop-shadow(red 1px 2px 3px 4px)&quot;);
+testInvalidFilterRule(&quot;Commas&quot;, &quot;drop-shadow(red, 1px, 2px, 3px)&quot;);
+testInvalidFilterRule(&quot;Negative radius&quot;, &quot;drop-shadow(10px 10px -1px red)&quot;);
+
+successfullyParsed = true;
+
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropbackdropfilterpropertyparsinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,382 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/backdropfilter-property-parsing.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test the parsing of the -webkit-backdrop-filter property.&quot;);
+
+function jsWrapperClass(node)
+{
+    if (!node)
+        return &quot;[null]&quot;;
+    var string = Object.prototype.toString.apply(node);
+    return string.substr(8, string.length - 9);
+}
+
+function shouldBeType(expression, className, prototypeName, constructorName)
+{
+    if (!prototypeName)
+        prototypeName = className + &quot;Prototype&quot;;
+    if (!constructorName)
+        constructorName = className + &quot;Constructor&quot;;
+    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;)&quot;, &quot;'&quot; + className + &quot;'&quot;);
+    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;.__proto__)&quot;, &quot;'&quot; + prototypeName + &quot;'&quot;);
+    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;.constructor)&quot;, &quot;'Function'&quot;);
+}
+
+// These have to be global for the test helpers to see them.
+var stylesheet, cssRule, declaration, filterRule, subRule;
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+stylesheet = styleElement.sheet;
+
+function testFilterRule(description, rule, expectedLength, expectedValue, expectedTexts)
+{
+    debug(&quot;&quot;);
+    debug(description + &quot; : &quot; + rule);
+
+    stylesheet.insertRule(&quot;body { -webkit-backdrop-filter: &quot; + rule + &quot;; }&quot;, 0);
+    cssRule = stylesheet.cssRules.item(0);
+
+    shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
+
+    declaration = cssRule.style;
+    shouldBe(&quot;declaration.length&quot;, &quot;1&quot;);
+    shouldBe(&quot;declaration.getPropertyValue('-webkit-backdrop-filter')&quot;, `&quot;${expectedValue}&quot;`);
+
+    filterRule = declaration.getPropertyCSSValue('-webkit-backdrop-filter');
+    shouldBeType(&quot;filterRule&quot;, &quot;CSSValueList&quot;);
+
+    shouldBe(&quot;filterRule.length&quot;, `${expectedLength}`);
+
+    if (filterRule) {
+        for (var i = 0; i &lt; expectedLength; i++) {
+            subRule = filterRule[i];
+            shouldBe(&quot;subRule.cssText&quot;, `&quot;${expectedTexts[i]}&quot;`);
+        }
+    }
+}
+
+testFilterRule(&quot;Basic reference&quot;,
+               &quot;url('#a')&quot;, 1, &quot;url(#a)&quot;,
+               [&quot;url(#a)&quot;]);
+
+testFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
+               &quot;url(#a)&quot;, 1, &quot;url(#a)&quot;,
+               [&quot;url(#a)&quot;]);
+
+testFilterRule(&quot;Multiple references&quot;,
+               &quot;url('#a') url('#b')&quot;, 2, &quot;url(#a) url(#b)&quot;,
+               [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
+
+testFilterRule(&quot;Reference as 2nd value&quot;,
+               &quot;grayscale(1) url('#a')&quot;, 2, &quot;grayscale(1) url(#a)&quot;,
+               [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;grayscale(1)&quot;, 1, &quot;grayscale(1)&quot;,
+               [&quot;grayscale(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;grayscale(50%)&quot;, 1, &quot;grayscale(50%)&quot;,
+               [&quot;grayscale(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;grayscale(1.0)&quot;, 1, &quot;grayscale(1)&quot;,
+               [&quot;grayscale(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;grayscale(0)&quot;, 1, &quot;grayscale(0)&quot;,
+               [&quot;grayscale(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;grayscale()&quot;, 1, &quot;grayscale()&quot;,
+               [&quot;grayscale()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;grayscale(0.5) grayscale(0.25)&quot;, 2, &quot;grayscale(0.5) grayscale(0.25)&quot;,
+               [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;sepia(1)&quot;, 1, &quot;sepia(1)&quot;,
+               [&quot;sepia(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;sepia(50%)&quot;, 1, &quot;sepia(50%)&quot;,
+               [&quot;sepia(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;sepia(1.0)&quot;, 1, &quot;sepia(1)&quot;,
+               [&quot;sepia(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;sepia(0)&quot;, 1, &quot;sepia(0)&quot;,
+               [&quot;sepia(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;sepia()&quot;, 1, &quot;sepia()&quot;,
+               [&quot;sepia()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;sepia(0.5) sepia(0.25)&quot;, 2, &quot;sepia(0.5) sepia(0.25)&quot;,
+               [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;sepia(0.5) grayscale(0.25)&quot;, 2, &quot;sepia(0.5) grayscale(0.25)&quot;,
+               [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;saturate(1)&quot;, 1, &quot;saturate(1)&quot;,
+               [&quot;saturate(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;saturate(50%)&quot;, 1, &quot;saturate(50%)&quot;,
+               [&quot;saturate(50%)&quot;]);
+
+testFilterRule(&quot;Percentage value &gt; 1&quot;,
+               &quot;saturate(250%)&quot;, 1, &quot;saturate(250%)&quot;,
+               [&quot;saturate(250%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;saturate(1.0)&quot;, 1, &quot;saturate(1)&quot;,
+               [&quot;saturate(1)&quot;]);
+
+testFilterRule(&quot;Input value &gt; 1&quot;,
+               &quot;saturate(5.5)&quot;, 1, &quot;saturate(5.5)&quot;,
+               [&quot;saturate(5.5)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;saturate(0)&quot;, 1, &quot;saturate(0)&quot;,
+               [&quot;saturate(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;saturate()&quot;, 1, &quot;saturate()&quot;,
+               [&quot;saturate()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;saturate(0.5) saturate(0.25)&quot;, 2, &quot;saturate(0.5) saturate(0.25)&quot;,
+               [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;saturate(0.5) grayscale(0.25)&quot;, 2, &quot;saturate(0.5) grayscale(0.25)&quot;,
+               [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Degrees value as integer&quot;,
+               &quot;hue-rotate(10deg)&quot;, 1, &quot;hue-rotate(10deg)&quot;,
+               [&quot;hue-rotate(10deg)&quot;]);
+
+testFilterRule(&quot;Degrees float value converts to integer&quot;,
+               &quot;hue-rotate(10.0deg)&quot;, 1, &quot;hue-rotate(10deg)&quot;,
+               [&quot;hue-rotate(10deg)&quot;]);
+
+testFilterRule(&quot;Radians value&quot;,
+               &quot;hue-rotate(10rad)&quot;, 1, &quot;hue-rotate(10rad)&quot;,
+               [&quot;hue-rotate(10rad)&quot;]);
+
+testFilterRule(&quot;Gradians value&quot;,
+               &quot;hue-rotate(10grad)&quot;, 1, &quot;hue-rotate(10grad)&quot;,
+               [&quot;hue-rotate(10grad)&quot;]);
+
+testFilterRule(&quot;Turns value&quot;,
+               &quot;hue-rotate(0.5turn)&quot;, 1, &quot;hue-rotate(0.5turn)&quot;,
+               [&quot;hue-rotate(0.5turn)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;hue-rotate(0)&quot;, 1, &quot;hue-rotate(0deg)&quot;,
+               [&quot;hue-rotate(0deg)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;hue-rotate()&quot;, 1, &quot;hue-rotate()&quot;,
+               [&quot;hue-rotate()&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2, &quot;hue-rotate(10deg) grayscale(0.25)&quot;,
+               [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;invert(1)&quot;, 1, &quot;invert(1)&quot;,
+               [&quot;invert(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;invert(50%)&quot;, 1, &quot;invert(50%)&quot;,
+               [&quot;invert(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;invert(1.0)&quot;, 1, &quot;invert(1)&quot;,
+               [&quot;invert(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;invert(0)&quot;, 1, &quot;invert(0)&quot;,
+               [&quot;invert(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;invert()&quot;, 1, &quot;invert()&quot;,
+               [&quot;invert()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;invert(0.5) invert(0.25)&quot;, 2, &quot;invert(0.5) invert(0.25)&quot;,
+               [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;invert(0.5) grayscale(0.25)&quot;, 2, &quot;invert(0.5) grayscale(0.25)&quot;,
+               [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;opacity(1)&quot;, 1, &quot;opacity(1)&quot;,
+               [&quot;opacity(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;opacity(50%)&quot;, 1, &quot;opacity(50%)&quot;,
+               [&quot;opacity(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;opacity(1.0)&quot;, 1, &quot;opacity(1)&quot;,
+               [&quot;opacity(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;opacity(0)&quot;, 1, &quot;opacity(0)&quot;,
+               [&quot;opacity(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;opacity()&quot;, 1, &quot;opacity()&quot;,
+               [&quot;opacity()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;opacity(0.5) opacity(0.25)&quot;, 2, &quot;opacity(0.5) opacity(0.25)&quot;,
+               [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;opacity(0.5) grayscale(0.25)&quot;, 2, &quot;opacity(0.5) grayscale(0.25)&quot;,
+               [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+              &quot;brightness(1)&quot;, 1, &quot;brightness(1)&quot;,
+              [&quot;brightness(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+              &quot;brightness(50%)&quot;, 1, &quot;brightness(50%)&quot;,
+              [&quot;brightness(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+              &quot;brightness(1.0)&quot;, 1, &quot;brightness(1)&quot;,
+              [&quot;brightness(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+              &quot;brightness(0)&quot;, 1, &quot;brightness(0)&quot;,
+              [&quot;brightness(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+              &quot;brightness()&quot;, 1, &quot;brightness()&quot;,
+              [&quot;brightness()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+              &quot;brightness(0.5) brightness(0.25)&quot;, 2, &quot;brightness(0.5) brightness(0.25)&quot;,
+              [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+              &quot;brightness(0.5) grayscale(0.25)&quot;, 2, &quot;brightness(0.5) grayscale(0.25)&quot;,
+              [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Parameter less than -100%&quot;,
+              &quot;brightness(-1.1)&quot;, 1, &quot;brightness(-1.1)&quot;,
+              [&quot;brightness(-1.1)&quot;]);
+
+testFilterRule(&quot;Parameter more than 100%&quot;,
+              &quot;brightness(101%)&quot;, 1, &quot;brightness(101%)&quot;,
+              [&quot;brightness(101%)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+              &quot;grayscale(0.25) brightness(0.5)&quot;, 2, &quot;grayscale(0.25) brightness(0.5)&quot;,
+              [&quot;grayscale(0.25)&quot;, &quot;brightness(0.5)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+              &quot;contrast(1)&quot;, 1, &quot;contrast(1)&quot;,
+              [&quot;contrast(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+              &quot;contrast(50%)&quot;, 1, &quot;contrast(50%)&quot;,
+              [&quot;contrast(50%)&quot;]);
+
+testFilterRule(&quot;Percentage value &gt; 1&quot;,
+              &quot;contrast(250%)&quot;, 1, &quot;contrast(250%)&quot;,
+              [&quot;contrast(250%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+              &quot;contrast(1.0)&quot;, 1, &quot;contrast(1)&quot;,
+              [&quot;contrast(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+              &quot;contrast(0)&quot;, 1, &quot;contrast(0)&quot;,
+              [&quot;contrast(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+              &quot;contrast()&quot;, 1, &quot;contrast()&quot;,
+              [&quot;contrast()&quot;]);
+
+testFilterRule(&quot;Value greater than one&quot;,
+              &quot;contrast(2)&quot;, 1, &quot;contrast(2)&quot;,
+              [&quot;contrast(2)&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+              &quot;contrast(0.5) contrast(0.25)&quot;, 2, &quot;contrast(0.5) contrast(0.25)&quot;,
+              [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+              &quot;contrast(0.5) grayscale(0.25)&quot;, 2, &quot;contrast(0.5) grayscale(0.25)&quot;,
+              [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+              &quot;grayscale(0.25) contrast(0.5)&quot;, 2, &quot;grayscale(0.25) contrast(0.5)&quot;,
+              [&quot;grayscale(0.25)&quot;, &quot;contrast(0.5)&quot;]);
+
+testFilterRule(&quot;One zero to px&quot;,
+               &quot;blur(0)&quot;, 1, &quot;blur(0px)&quot;,
+               [&quot;blur(0px)&quot;]);
+
+testFilterRule(&quot;One length&quot;,
+               &quot;blur(10px)&quot;, 1, &quot;blur(10px)&quot;,
+               [&quot;blur(10px)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;blur()&quot;, 1, &quot;blur()&quot;,
+               [&quot;blur()&quot;]);
+
+testFilterRule(&quot;Color then three values&quot;,
+              &quot;drop-shadow(red 1px 2px 3px)&quot;, 1, &quot;drop-shadow(red 1px 2px 3px)&quot;,
+              [&quot;drop-shadow(red 1px 2px 3px)&quot;]);
+
+testFilterRule(&quot;Three values then color&quot;,
+              &quot;drop-shadow(1px 2px 3px red)&quot;, 1, &quot;drop-shadow(red 1px 2px 3px)&quot;,
+              [&quot;drop-shadow(red 1px 2px 3px)&quot;]);
+
+testFilterRule(&quot;Color then three values with zero length&quot;,
+              &quot;drop-shadow(#abc 0 0 0)&quot;, 1, &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;,
+              [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
+
+testFilterRule(&quot;Three values with zero length&quot;,
+              &quot;drop-shadow(0 0 0)&quot;, 1, &quot;drop-shadow(0px 0px 0px)&quot;,
+              [&quot;drop-shadow(0px 0px 0px)&quot;]);
+
+testFilterRule(&quot;Two values no color&quot;,
+              &quot;drop-shadow(1px 2px)&quot;, 1, &quot;drop-shadow(1px 2px)&quot;,
+              [&quot;drop-shadow(1px 2px)&quot;]);
+
+testFilterRule(&quot;Multiple operations&quot;,
+               &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;, 8,
+               &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;,
+               [
+                   &quot;grayscale(0.5)&quot;,
+                   &quot;sepia(0.25)&quot;,
+                   &quot;saturate(0.75)&quot;,
+                   &quot;hue-rotate(35deg)&quot;,
+                   &quot;invert(0.2)&quot;,
+                   &quot;opacity(0.9)&quot;,
+                   &quot;blur(5px)&quot;,
+                   &quot;drop-shadow(green 1px 2px 3px)&quot;
+               ]);
+
+successfullyParsed = true;
+
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropbackdropfilterpropertyhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/backdropfilter-property.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,26 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/backdropfilter-property.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test the parsing of the -webkit-backdrop-filter property.&quot;);
+
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+var stylesheet = styleElement.sheet;
+
+// add a -webkit-filter property to the start of the stylesheet
+stylesheet.addRule(&quot;body&quot;, &quot;-webkit-backdrop-filter: hue-rotate(120deg)&quot;, 0);
+
+var cssRule = stylesheet.cssRules.item(0);
+
+shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
+
+var declaration = cssRule.style;
+shouldBe(&quot;declaration.length&quot;, &quot;1&quot;);
+shouldBe(&quot;declaration.getPropertyValue('-webkit-backdrop-filter')&quot;, &quot;'hue-rotate(120deg)'&quot;);
+
+successfullyParsed = true;
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropscripttestsbackdropfilterpropertycomputedstylejs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,383 +0,0 @@
</span><del>-description(&quot;Test the computed style of the -webkit-backdrop-filter property.&quot;);
-
-// These have to be global for the test helpers to see them.
-var stylesheet, filterStyle, subRule;
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-stylesheet = styleElement.sheet;
-
-function testComputedFilterRule(description, rule, expectedLength, expectedTypes, expectedTexts)
-{
-    debug(&quot;&quot;);
-    debug(description + &quot; : &quot; + rule);
-
-    stylesheet.insertRule(&quot;body { -webkit-backdrop-filter: &quot; + rule + &quot;; }&quot;, 0);
-
-    filterStyle = window.getComputedStyle(document.body).getPropertyCSSValue('-webkit-backdrop-filter');
-    shouldBe(&quot;filterStyle.length&quot;, &quot;&quot; + expectedLength);
-    for (var i = 0; i &lt; expectedLength; i++) {
-        subRule = filterStyle[i];
-        shouldBe(&quot;subRule.operationType&quot;, expectedTypes[i]);
-        shouldBe(&quot;subRule.cssText&quot;, &quot;'&quot; + expectedTexts[i] + &quot;'&quot;);
-    }
-    stylesheet.deleteRule(0);
-}
-
-testComputedFilterRule(&quot;Basic reference&quot;,
-                       &quot;url('#a')&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
-                       &quot;url(#a)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Multiple references&quot;,
-                       &quot;url('#a') url('#b')&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
-
-testComputedFilterRule(&quot;Reference as 2nd value&quot;,
-                       &quot;grayscale(1) url('#a')&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;grayscale(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;grayscale(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;grayscale(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;grayscale()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;grayscale(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;sepia(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;sepia(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;sepia(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;sepia()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;sepia(0.5) sepia(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;sepia(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;saturate(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;saturate(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;saturate(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;saturate()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;saturate(0.5) saturate(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;saturate(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Degrees value as integer&quot;,
-                       &quot;hue-rotate(10deg)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;]);
-
-testComputedFilterRule(&quot;Degrees float value converts to integer&quot;,
-                       &quot;hue-rotate(10.0deg)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;]);
-
-testComputedFilterRule(&quot;Radians value&quot;,
-                       &quot;hue-rotate(10rad)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(572.9577951308232deg)&quot;]);
-
-testComputedFilterRule(&quot;Gradians value&quot;,
-                       &quot;hue-rotate(10grad)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(9deg)&quot;]);
-
-testComputedFilterRule(&quot;Turns value&quot;,
-                       &quot;hue-rotate(0.5turn)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(180deg)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;hue-rotate(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(0deg)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;hue-rotate()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(0deg)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;invert(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;invert(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;invert(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;invert()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;invert(0.5) invert(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;invert(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;opacity(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;opacity(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;opacity(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;opacity()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;opacity(0.5) opacity(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;opacity(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                      &quot;brightness(1)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                      &quot;brightness(1.0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                      &quot;brightness(0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                      &quot;brightness()&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                      &quot;brightness(0.5) brightness(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                      &quot;brightness(0.5) grayscale(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                      [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                      &quot;contrast(1)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Value greater than 1&quot;,
-                      &quot;contrast(2)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(2)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                      &quot;contrast(1.0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                      &quot;contrast(0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                      &quot;contrast()&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                      &quot;contrast(0.5) contrast(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                      &quot;contrast(0.5) grayscale(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                      [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;One zero to px&quot;,
-                       &quot;blur(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(0px)&quot;]);
-
-testComputedFilterRule(&quot;One length&quot;,
-                       &quot;blur(2em)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(32px)&quot;]);
-
-testComputedFilterRule(&quot;One length&quot;,
-                       &quot;blur(5px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(5px)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;blur()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(0px)&quot;]);
-
-testComputedFilterRule(&quot;Color then three values&quot;,
-                       &quot;drop-shadow(red 1px 2px 3px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
-
-testComputedFilterRule(&quot;Three values then color&quot;,
-                       &quot;drop-shadow(1px 2px 3px red)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
-
-testComputedFilterRule(&quot;Color then three values with zero length&quot;,
-                       &quot;drop-shadow(#abc 0 0 0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Three values with zero length&quot;,
-                       &quot;drop-shadow(0 0 0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Two values no color&quot;,
-                       &quot;drop-shadow(1px 2px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Multiple operations&quot;,
-                       &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)&quot;, 7,
-                       [
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;,
-               ],
-                       [
-                           &quot;grayscale(0.5)&quot;,
-                           &quot;sepia(0.25)&quot;,
-                           &quot;saturate(0.75)&quot;,
-                           &quot;hue-rotate(35deg)&quot;,
-                           &quot;invert(0.2)&quot;,
-                           &quot;opacity(0.9)&quot;,
-                           &quot;blur(5px)&quot;
-               ]);
-
-testComputedFilterRule(&quot;Percentage values&quot;,
-                      &quot;grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)&quot;, 7,
-                      [
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;
-              ],
-                      [
-                          &quot;grayscale(0.5)&quot;,
-                          &quot;sepia(0.25)&quot;,
-                          &quot;saturate(0.75)&quot;,
-                          &quot;invert(0.2)&quot;,
-                          &quot;opacity(0.9)&quot;,
-                          &quot;brightness(0.6)&quot;,
-                          &quot;contrast(0.3)&quot;
-              ]);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropscripttestsbackdropfilterpropertyparsinginvalidjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,98 +0,0 @@
</span><del>-description(&quot;Test the parsing of the -webkit-backdrop-filter property.&quot;);
-
-// These have to be global for the test helpers to see them.
-var stylesheet, cssRule, declaration;
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-stylesheet = styleElement.sheet;
-
-function testInvalidFilterRule(description, rule)
-{
-    debug(&quot;&quot;);
-    debug(description + &quot; : &quot; + rule);
-
-    stylesheet.insertRule(&quot;body { -webkit-backdrop-filter: &quot; + rule + &quot;; }&quot;, 0);
-    cssRule = stylesheet.cssRules.item(0);
-  
-    shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
-
-    declaration = cssRule.style;
-    shouldBe(&quot;declaration.length&quot;, &quot;0&quot;);
-    shouldBeEqualToString(&quot;declaration.getPropertyValue('-webkit-backdrop-filter')&quot;, &quot;&quot;);
-}
-
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;url(#a #b)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;grayscale(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;grayscale(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;grayscale(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;grayscale(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;grayscale(-0.5)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;grayscale(-10%)&quot;);
-testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;grayscale(1.5)&quot;);
-
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;sepia(0.5 0.5 3.0)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;sepia(0.1, 0.1)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;sepia(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;sepia(-0.01)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;sepia(-10%)&quot;);
-testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;sepia(10000)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;saturate(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;saturate(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;saturate(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;saturate(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;saturate(-0.5)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;saturate(-10%)&quot;);
-
-testInvalidFilterRule(&quot;Bare number&quot;, &quot;hue-rotate(10)&quot;);
-testInvalidFilterRule(&quot;Length&quot;, &quot;hue-rotate(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;hue-rotate(10deg 4)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;hue-rotate(10deg, 5deg)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;hue-rotate(10deg,)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;invert(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;invert(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;invert(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;invert(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;invert(-0.5)&quot;);
-testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;invert(1.5)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;opacity(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;opacity(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;opacity(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;opacity(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;opacity(-0.5)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;opacity(-10%)&quot;);
-testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;opacity(1.5)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;brightness(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;brightness(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;brightness(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;brightness(0.5,)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;contrast(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;contrast(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;contrast(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;contrast(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;contrast(-0.5)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;contrast(-10%)&quot;);
-
-testInvalidFilterRule(&quot;Bare number&quot;, &quot;blur(1)&quot;);
-testInvalidFilterRule(&quot;Negative number&quot;, &quot;blur(-1px)&quot;);
-testInvalidFilterRule(&quot;Percentage&quot;, &quot;blur(10%)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;blur(1px 1px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;blur(1em, 1em)&quot;);
-testInvalidFilterRule(&quot;Commas&quot;, &quot;blur(10px, 10px)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;blur(1em,)&quot;);
-
-testInvalidFilterRule(&quot;No values&quot;, &quot;drop-shadow()&quot;);
-testInvalidFilterRule(&quot;Missing lengths&quot;, &quot;drop-shadow(red)&quot;);
-testInvalidFilterRule(&quot;Not enough lengths&quot;, &quot;drop-shadow(red 1px)&quot;);
-testInvalidFilterRule(&quot;Missing units&quot;, &quot;drop-shadow(red 1 2 3)&quot;);
-testInvalidFilterRule(&quot;Inset&quot;, &quot;drop-shadow(red 1px 2px 3px inset)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;drop-shadow(red 1px 2px 3px 4px)&quot;);
-testInvalidFilterRule(&quot;Commas&quot;, &quot;drop-shadow(red, 1px, 2px, 3px)&quot;);
-testInvalidFilterRule(&quot;Negative radius&quot;, &quot;drop-shadow(10px 10px -1px red)&quot;);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropscripttestsbackdropfilterpropertyparsingjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,460 +0,0 @@
</span><del>-description(&quot;Test the parsing of the -webkit-backdrop-filter property.&quot;);
-
-function jsWrapperClass(node)
-{
-    if (!node)
-        return &quot;[null]&quot;;
-    var string = Object.prototype.toString.apply(node);
-    return string.substr(8, string.length - 9);
-}
-
-function shouldBeType(expression, className, prototypeName, constructorName)
-{
-    if (!prototypeName)
-        prototypeName = className + &quot;Prototype&quot;;
-    if (!constructorName)
-        constructorName = className + &quot;Constructor&quot;;
-    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;)&quot;, &quot;'&quot; + className + &quot;'&quot;);
-    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;.__proto__)&quot;, &quot;'&quot; + prototypeName + &quot;'&quot;);
-    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;.constructor)&quot;, &quot;'Function'&quot;);
-}
-
-// These have to be global for the test helpers to see them.
-var stylesheet, cssRule, declaration, filterRule, subRule;
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-stylesheet = styleElement.sheet;
-
-function testFilterRule(description, rule, expectedLength, expectedValue, expectedTypes, expectedTexts)
-{
-    debug(&quot;&quot;);
-    debug(description + &quot; : &quot; + rule);
-
-    stylesheet.insertRule(&quot;body { -webkit-backdrop-filter: &quot; + rule + &quot;; }&quot;, 0);
-    cssRule = stylesheet.cssRules.item(0);
-
-    shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
-
-    declaration = cssRule.style;
-    shouldBe(&quot;declaration.length&quot;, &quot;1&quot;);
-    shouldBe(&quot;declaration.getPropertyValue('-webkit-backdrop-filter')&quot;, &quot;'&quot; + expectedValue + &quot;'&quot;);
-
-    filterRule = declaration.getPropertyCSSValue('-webkit-backdrop-filter');
-    shouldBeType(&quot;filterRule&quot;, &quot;CSSValueList&quot;);
-
-    shouldBe(&quot;filterRule.length&quot;, &quot;&quot; + expectedLength); // shouldBe expects string arguments
-
-    if (filterRule) {
-        for (var i = 0; i &lt; expectedLength; i++) {
-            subRule = filterRule[i];
-            shouldBe(&quot;subRule.operationType&quot;, expectedTypes[i]);
-            shouldBe(&quot;subRule.cssText&quot;, &quot;'&quot; + expectedTexts[i] + &quot;'&quot;);
-        }
-    }
-}
-
-testFilterRule(&quot;Basic reference&quot;,
-               &quot;url('#a')&quot;, 1, &quot;url(#a)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-               [&quot;url(#a)&quot;]);
-
-testFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
-               &quot;url(#a)&quot;, 1, &quot;url(#a)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-               [&quot;url(#a)&quot;]);
-
-testFilterRule(&quot;Multiple references&quot;,
-               &quot;url('#a') url('#b')&quot;, 2, &quot;url(#a) url(#b)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-               [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
-
-testFilterRule(&quot;Reference as 2nd value&quot;,
-               &quot;grayscale(1) url('#a')&quot;, 2, &quot;grayscale(1) url(#a)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-               [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;grayscale(1)&quot;, 1, &quot;grayscale(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;grayscale(50%)&quot;, 1, &quot;grayscale(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;grayscale(1.0)&quot;, 1, &quot;grayscale(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;grayscale(0)&quot;, 1, &quot;grayscale(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;grayscale()&quot;, 1, &quot;grayscale()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;grayscale(0.5) grayscale(0.25)&quot;, 2, &quot;grayscale(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;sepia(1)&quot;, 1, &quot;sepia(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;sepia(50%)&quot;, 1, &quot;sepia(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;sepia(1.0)&quot;, 1, &quot;sepia(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;sepia(0)&quot;, 1, &quot;sepia(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;sepia()&quot;, 1, &quot;sepia()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;sepia(0.5) sepia(0.25)&quot;, 2, &quot;sepia(0.5) sepia(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;sepia(0.5) grayscale(0.25)&quot;, 2, &quot;sepia(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;saturate(1)&quot;, 1, &quot;saturate(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;saturate(50%)&quot;, 1, &quot;saturate(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(50%)&quot;]);
-
-testFilterRule(&quot;Percentage value &gt; 1&quot;,
-               &quot;saturate(250%)&quot;, 1, &quot;saturate(250%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(250%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;saturate(1.0)&quot;, 1, &quot;saturate(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(1)&quot;]);
-
-testFilterRule(&quot;Input value &gt; 1&quot;,
-               &quot;saturate(5.5)&quot;, 1, &quot;saturate(5.5)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(5.5)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;saturate(0)&quot;, 1, &quot;saturate(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;saturate()&quot;, 1, &quot;saturate()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;saturate(0.5) saturate(0.25)&quot;, 2, &quot;saturate(0.5) saturate(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;saturate(0.5) grayscale(0.25)&quot;, 2, &quot;saturate(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Degrees value as integer&quot;,
-               &quot;hue-rotate(10deg)&quot;, 1, &quot;hue-rotate(10deg)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(10deg)&quot;]);
-
-testFilterRule(&quot;Degrees float value converts to integer&quot;,
-               &quot;hue-rotate(10.0deg)&quot;, 1, &quot;hue-rotate(10deg)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(10deg)&quot;]);
-
-testFilterRule(&quot;Radians value&quot;,
-               &quot;hue-rotate(10rad)&quot;, 1, &quot;hue-rotate(10rad)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(10rad)&quot;]);
-
-testFilterRule(&quot;Gradians value&quot;,
-               &quot;hue-rotate(10grad)&quot;, 1, &quot;hue-rotate(10grad)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(10grad)&quot;]);
-
-testFilterRule(&quot;Turns value&quot;,
-               &quot;hue-rotate(0.5turn)&quot;, 1, &quot;hue-rotate(0.5turn)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(0.5turn)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;hue-rotate(0)&quot;, 1, &quot;hue-rotate(0deg)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(0deg)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;hue-rotate()&quot;, 1, &quot;hue-rotate()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate()&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2, &quot;hue-rotate(10deg) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;invert(1)&quot;, 1, &quot;invert(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;invert(50%)&quot;, 1, &quot;invert(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;invert(1.0)&quot;, 1, &quot;invert(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;invert(0)&quot;, 1, &quot;invert(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;invert()&quot;, 1, &quot;invert()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;invert(0.5) invert(0.25)&quot;, 2, &quot;invert(0.5) invert(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;invert(0.5) grayscale(0.25)&quot;, 2, &quot;invert(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;opacity(1)&quot;, 1, &quot;opacity(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;opacity(50%)&quot;, 1, &quot;opacity(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;opacity(1.0)&quot;, 1, &quot;opacity(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;opacity(0)&quot;, 1, &quot;opacity(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;opacity()&quot;, 1, &quot;opacity()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;opacity(0.5) opacity(0.25)&quot;, 2, &quot;opacity(0.5) opacity(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;opacity(0.5) grayscale(0.25)&quot;, 2, &quot;opacity(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-              &quot;brightness(1)&quot;, 1, &quot;brightness(1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-              &quot;brightness(50%)&quot;, 1, &quot;brightness(50%)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-              &quot;brightness(1.0)&quot;, 1, &quot;brightness(1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-              &quot;brightness(0)&quot;, 1, &quot;brightness(0)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-              &quot;brightness()&quot;, 1, &quot;brightness()&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-              &quot;brightness(0.5) brightness(0.25)&quot;, 2, &quot;brightness(0.5) brightness(0.25)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-              &quot;brightness(0.5) grayscale(0.25)&quot;, 2, &quot;brightness(0.5) grayscale(0.25)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-              [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Parameter less than -100%&quot;,
-              &quot;brightness(-1.1)&quot;, 1, &quot;brightness(-1.1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(-1.1)&quot;]);
-
-testFilterRule(&quot;Parameter more than 100%&quot;,
-              &quot;brightness(101%)&quot;, 1, &quot;brightness(101%)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(101%)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-              &quot;grayscale(0.25) brightness(0.5)&quot;, 2, &quot;grayscale(0.25) brightness(0.5)&quot;,
-              [ &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;grayscale(0.25)&quot;, &quot;brightness(0.5)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-              &quot;contrast(1)&quot;, 1, &quot;contrast(1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-              &quot;contrast(50%)&quot;, 1, &quot;contrast(50%)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(50%)&quot;]);
-
-testFilterRule(&quot;Percentage value &gt; 1&quot;,
-              &quot;contrast(250%)&quot;, 1, &quot;contrast(250%)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(250%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-              &quot;contrast(1.0)&quot;, 1, &quot;contrast(1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-              &quot;contrast(0)&quot;, 1, &quot;contrast(0)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-              &quot;contrast()&quot;, 1, &quot;contrast()&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast()&quot;]);
-
-testFilterRule(&quot;Value greater than one&quot;,
-              &quot;contrast(2)&quot;, 1, &quot;contrast(2)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(2)&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-              &quot;contrast(0.5) contrast(0.25)&quot;, 2, &quot;contrast(0.5) contrast(0.25)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-              &quot;contrast(0.5) grayscale(0.25)&quot;, 2, &quot;contrast(0.5) grayscale(0.25)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-              [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-              &quot;grayscale(0.25) contrast(0.5)&quot;, 2, &quot;grayscale(0.25) contrast(0.5)&quot;,
-              [ &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;grayscale(0.25)&quot;, &quot;contrast(0.5)&quot;]);
-
-testFilterRule(&quot;One zero to px&quot;,
-               &quot;blur(0)&quot;, 1, &quot;blur(0px)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-               [&quot;blur(0px)&quot;]);
-
-testFilterRule(&quot;One length&quot;,
-               &quot;blur(10px)&quot;, 1, &quot;blur(10px)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-               [&quot;blur(10px)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;blur()&quot;, 1, &quot;blur()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-               [&quot;blur()&quot;]);
-
-testFilterRule(&quot;Color then three values&quot;,
-              &quot;drop-shadow(red 1px 2px 3px)&quot;, 1, &quot;drop-shadow(red 1px 2px 3px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(red 1px 2px 3px)&quot;]);
-
-testFilterRule(&quot;Three values then color&quot;,
-              &quot;drop-shadow(1px 2px 3px red)&quot;, 1, &quot;drop-shadow(red 1px 2px 3px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(red 1px 2px 3px)&quot;]);
-
-testFilterRule(&quot;Color then three values with zero length&quot;,
-              &quot;drop-shadow(#abc 0 0 0)&quot;, 1, &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
-
-testFilterRule(&quot;Three values with zero length&quot;,
-              &quot;drop-shadow(0 0 0)&quot;, 1, &quot;drop-shadow(0px 0px 0px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(0px 0px 0px)&quot;]);
-
-testFilterRule(&quot;Two values no color&quot;,
-              &quot;drop-shadow(1px 2px)&quot;, 1, &quot;drop-shadow(1px 2px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(1px 2px)&quot;]);
-
-testFilterRule(&quot;Multiple operations&quot;,
-               &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;, 8,
-               &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;,
-               [
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;
-               ],
-               [
-                   &quot;grayscale(0.5)&quot;,
-                   &quot;sepia(0.25)&quot;,
-                   &quot;saturate(0.75)&quot;,
-                   &quot;hue-rotate(35deg)&quot;,
-                   &quot;invert(0.2)&quot;,
-                   &quot;opacity(0.9)&quot;,
-                   &quot;blur(5px)&quot;,
-                   &quot;drop-shadow(green 1px 2px 3px)&quot;
-               ]);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersbackdropscripttestsbackdropfilterpropertyjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-description(&quot;Test the parsing of the -webkit-backdrop-filter property.&quot;);
-
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-var stylesheet = styleElement.sheet;
-
-// add a -webkit-filter property to the start of the stylesheet
-stylesheet.addRule(&quot;body&quot;, &quot;-webkit-backdrop-filter: hue-rotate(120deg)&quot;, 0);
-
-var cssRule = stylesheet.cssRules.item(0);
-
-shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
-
-var declaration = cssRule.style;
-shouldBe(&quot;declaration.length&quot;, &quot;1&quot;);
-shouldBe(&quot;declaration.getPropertyValue('-webkit-backdrop-filter')&quot;, &quot;'hue-rotate(120deg)'&quot;);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filterseffectreferencedeletecrashhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/effect-reference-delete-crash.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/effect-reference-delete-crash.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/effect-reference-delete-crash.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -12,7 +12,16 @@
</span><span class="cx">       &lt;/filter&gt;
</span><span class="cx">     &lt;/defs&gt;
</span><span class="cx">   &lt;/svg&gt;
</span><del>-  &lt;script src=&quot;script-tests/effect-reference-delete-crash.js&quot;&gt;&lt;/script&gt;
</del><ins>+  &lt;script&gt;
+  description(&quot;Test that no crash occurs when a SVG filter is deleted that was referenced by a deleted HTML element.&quot;);
+
+  html = document.getElementById('html');
+  html.parentNode.removeChild(html);
+  svg = document.getElementById('svg');
+  svg.parentNode.removeChild(svg);
+
+  successfullyParsed = true;
+  &lt;/script&gt;
</ins><span class="cx">   &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filterseffectreferenceresetstyledeletecrashhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/effect-reference-reset-style-delete-crash.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/effect-reference-reset-style-delete-crash.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/effect-reference-reset-style-delete-crash.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -12,7 +12,16 @@
</span><span class="cx">       &lt;/filter&gt;
</span><span class="cx">     &lt;/defs&gt;
</span><span class="cx">   &lt;/svg&gt;
</span><del>-  &lt;script src=&quot;script-tests/effect-reference-delete-crash.js&quot;&gt;&lt;/script&gt;
</del><ins>+  &lt;script&gt;
+  description(&quot;Test that no crash occurs when a SVG filter is deleted that was referenced by a deleted HTML element.&quot;);
+
+  html = document.getElementById('html');
+  html.style = &quot;&quot;;
+  svg = document.getElementById('svg');
+  svg.parentNode.removeChild(svg);
+
+  successfullyParsed = true;
+  &lt;/script&gt;
</ins><span class="cx">   &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersfilterpropertycomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/filter-property-computed-style-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/filter-property-computed-style-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/filter-property-computed-style-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,384 +6,291 @@
</span><span class="cx"> 
</span><span class="cx"> Basic reference : url('#a')
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Bare unquoted reference converting to quoted form : url(#a)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple references : url('#a') url('#b')
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#b)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
+PASS subRule.cssText is &quot;url(#b)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Reference as 2nd value : grayscale(1) url('#a')
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : grayscale(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : grayscale(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : grayscale(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : grayscale()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : grayscale(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : sepia(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : sepia(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : sepia(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : sepia()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : sepia(0.5) sepia(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : sepia(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : saturate(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : saturate(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : saturate(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : saturate()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : saturate(0.5) saturate(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;saturate(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : saturate(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees value as integer : hue-rotate(10deg)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees float value converts to integer : hue-rotate(10.0deg)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Radians value : hue-rotate(10rad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(572.9577951308232deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(572.9577951308232deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Gradians value : hue-rotate(10grad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(9deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(9deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Turns value : hue-rotate(0.5turn)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(180deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(180deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : hue-rotate(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : hue-rotate()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : hue-rotate(10deg) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : invert(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : invert(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : invert(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0)'
</del><ins>+PASS subRule.cssText is &quot;invert(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : invert()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : invert(0.5) invert(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;invert(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : invert(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : opacity(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : opacity(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : opacity(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : opacity()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : opacity(0.5) opacity(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;opacity(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : opacity(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : brightness(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : brightness(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : brightness(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : brightness()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : brightness(0.5) brightness(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;brightness(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : brightness(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : contrast(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Value greater than 1 : contrast(2)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(2)'
</del><ins>+PASS subRule.cssText is &quot;contrast(2)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : contrast(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : contrast(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : contrast()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : contrast(0.5) contrast(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;contrast(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : contrast(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One zero to px : blur(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(0px)'
</del><ins>+PASS subRule.cssText is &quot;blur(0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One length : blur(2em)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(32px)'
</del><ins>+PASS subRule.cssText is &quot;blur(32px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One length : blur(5px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(5px)'
</del><ins>+PASS subRule.cssText is &quot;blur(5px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : blur()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(0px)'
</del><ins>+PASS subRule.cssText is &quot;blur(0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values : drop-shadow(red 1px 2px 3px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(255, 0, 0) 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values then color : drop-shadow(1px 2px 3px red)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(255, 0, 0) 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values with zero length : drop-shadow(#abc 0 0 0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(170, 187, 204) 0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values with zero length : drop-shadow(0 0 0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Two values no color : drop-shadow(1px 2px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple operations : grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)
</span><span class="cx"> PASS filterStyle.length is 7
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.75)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(35deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.2)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.9)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(5px)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
+PASS subRule.cssText is &quot;saturate(0.75)&quot;
+PASS subRule.cssText is &quot;hue-rotate(35deg)&quot;
+PASS subRule.cssText is &quot;invert(0.2)&quot;
+PASS subRule.cssText is &quot;opacity(0.9)&quot;
+PASS subRule.cssText is &quot;blur(5px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage values : grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)
</span><span class="cx"> PASS filterStyle.length is 7
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.75)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.2)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.9)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.6)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.3)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
+PASS subRule.cssText is &quot;saturate(0.75)&quot;
+PASS subRule.cssText is &quot;invert(0.2)&quot;
+PASS subRule.cssText is &quot;opacity(0.9)&quot;
+PASS subRule.cssText is &quot;brightness(0.6)&quot;
+PASS subRule.cssText is &quot;contrast(0.3)&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersfilterpropertycomputedstylehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/filter-property-computed-style.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/filter-property-computed-style.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/filter-property-computed-style.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,308 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/filter-property-computed-style.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test the computed style of the filter property.&quot;);
+
+// These have to be global for the test helpers to see them.
+var stylesheet, filterStyle, subRule;
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+stylesheet = styleElement.sheet;
+
+function testComputedFilterRule(description, rule, expectedLength, expectedTexts)
+{
+    debug(&quot;&quot;);
+    debug(`${description} : ${rule}`);
+
+    stylesheet.insertRule(`body { filter: ${rule}; }`, 0);
+
+    filterStyle = window.getComputedStyle(document.body).getPropertyCSSValue(&quot;filter&quot;);
+    shouldBe(&quot;filterStyle.length&quot;, `${expectedLength}`);
+    for (var i = 0; i &lt; expectedLength; i++) {
+        subRule = filterStyle[i];
+        shouldBe(&quot;subRule.cssText&quot;, `&quot;${expectedTexts[i]}&quot;`);
+    }
+    stylesheet.deleteRule(0);
+}
+
+testComputedFilterRule(&quot;Basic reference&quot;,
+                       &quot;url('#a')&quot;, 1,
+                       [&quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
+                       &quot;url(#a)&quot;, 1,
+                       [&quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Multiple references&quot;,
+                       &quot;url('#a') url('#b')&quot;, 2,
+                       [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
+
+testComputedFilterRule(&quot;Reference as 2nd value&quot;,
+                       &quot;grayscale(1) url('#a')&quot;, 2,
+                       [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;grayscale(1)&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;grayscale(1.0)&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;grayscale(0)&quot;, 1,
+                       [&quot;grayscale(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;grayscale()&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;grayscale(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;sepia(1)&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;sepia(1.0)&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;sepia(0)&quot;, 1,
+                       [&quot;sepia(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;sepia()&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;sepia(0.5) sepia(0.25)&quot;, 2,
+                       [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;sepia(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;saturate(1)&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;saturate(1.0)&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;saturate(0)&quot;, 1,
+                       [&quot;saturate(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;saturate()&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;saturate(0.5) saturate(0.25)&quot;, 2,
+                       [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;saturate(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Degrees value as integer&quot;,
+                       &quot;hue-rotate(10deg)&quot;, 1,
+                       [&quot;hue-rotate(10deg)&quot;]);
+
+testComputedFilterRule(&quot;Degrees float value converts to integer&quot;,
+                       &quot;hue-rotate(10.0deg)&quot;, 1,
+                       [&quot;hue-rotate(10deg)&quot;]);
+
+testComputedFilterRule(&quot;Radians value&quot;,
+                       &quot;hue-rotate(10rad)&quot;, 1,
+                       [&quot;hue-rotate(572.9577951308232deg)&quot;]);
+
+testComputedFilterRule(&quot;Gradians value&quot;,
+                       &quot;hue-rotate(10grad)&quot;, 1,
+                       [&quot;hue-rotate(9deg)&quot;]);
+
+testComputedFilterRule(&quot;Turns value&quot;,
+                       &quot;hue-rotate(0.5turn)&quot;, 1,
+                       [&quot;hue-rotate(180deg)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;hue-rotate(0)&quot;, 1,
+                       [&quot;hue-rotate(0deg)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;hue-rotate()&quot;, 1,
+                       [&quot;hue-rotate(0deg)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2,
+                       [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;invert(1)&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;invert(1.0)&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;invert(0)&quot;, 1,
+                       [&quot;invert(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;invert()&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;invert(0.5) invert(0.25)&quot;, 2,
+                       [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;invert(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;opacity(1)&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;opacity(1.0)&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;opacity(0)&quot;, 1,
+                       [&quot;opacity(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;opacity()&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;opacity(0.5) opacity(0.25)&quot;, 2,
+                       [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;opacity(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                      &quot;brightness(1)&quot;, 1,
+                      [&quot;brightness(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                      &quot;brightness(1.0)&quot;, 1,
+                      [&quot;brightness(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                      &quot;brightness(0)&quot;, 1,
+                      [&quot;brightness(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                      &quot;brightness()&quot;, 1,
+                      [&quot;brightness(0)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                      &quot;brightness(0.5) brightness(0.25)&quot;, 2,
+                      [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                      &quot;brightness(0.5) grayscale(0.25)&quot;, 2,
+                      [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                      &quot;contrast(1)&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Value greater than 1&quot;,
+                      &quot;contrast(2)&quot;, 1,
+                      [&quot;contrast(2)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                      &quot;contrast(1.0)&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                      &quot;contrast(0)&quot;, 1,
+                      [&quot;contrast(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                      &quot;contrast()&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                      &quot;contrast(0.5) contrast(0.25)&quot;, 2,
+                      [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                      &quot;contrast(0.5) grayscale(0.25)&quot;, 2,
+                      [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;One zero to px&quot;,
+                       &quot;blur(0)&quot;, 1,
+                       [&quot;blur(0px)&quot;]);
+
+testComputedFilterRule(&quot;One length&quot;,
+                       &quot;blur(2em)&quot;, 1,
+                       [&quot;blur(32px)&quot;]);
+
+testComputedFilterRule(&quot;One length&quot;,
+                       &quot;blur(5px)&quot;, 1,
+                       [&quot;blur(5px)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;blur()&quot;, 1,
+                       [&quot;blur(0px)&quot;]);
+
+testComputedFilterRule(&quot;Color then three values&quot;,
+                       &quot;drop-shadow(red 1px 2px 3px)&quot;, 1,
+                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
+
+testComputedFilterRule(&quot;Three values then color&quot;,
+                       &quot;drop-shadow(1px 2px 3px red)&quot;, 1,
+                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
+
+testComputedFilterRule(&quot;Color then three values with zero length&quot;,
+                       &quot;drop-shadow(#abc 0 0 0)&quot;, 1,
+                       [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Three values with zero length&quot;,
+                       &quot;drop-shadow(0 0 0)&quot;, 1,
+                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Two values no color&quot;,
+                       &quot;drop-shadow(1px 2px)&quot;, 1,
+                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Multiple operations&quot;,
+                       &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)&quot;, 7,
+                       [
+                           &quot;grayscale(0.5)&quot;,
+                           &quot;sepia(0.25)&quot;,
+                           &quot;saturate(0.75)&quot;,
+                           &quot;hue-rotate(35deg)&quot;,
+                           &quot;invert(0.2)&quot;,
+                           &quot;opacity(0.9)&quot;,
+                           &quot;blur(5px)&quot;]);
+
+testComputedFilterRule(&quot;Percentage values&quot;,
+                      &quot;grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)&quot;, 7,
+                      [
+                          &quot;grayscale(0.5)&quot;,
+                          &quot;sepia(0.25)&quot;,
+                          &quot;saturate(0.75)&quot;,
+                          &quot;invert(0.2)&quot;,
+                          &quot;opacity(0.9)&quot;,
+                          &quot;brightness(0.6)&quot;,
+                          &quot;contrast(0.3)&quot;]);
+
+successfullyParsed = true;
+
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersfilterpropertyparsingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/filter-property-parsing-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/filter-property-parsing-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/filter-property-parsing-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -7,899 +7,797 @@
</span><span class="cx"> Basic reference : url('#a')
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'url(#a)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;url(#a)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Bare unquoted reference converting to quoted form : url(#a)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'url(#a)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;url(#a)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple references : url('#a') url('#b')
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'url(#a) url(#b)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;url(#a) url(#b)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#b)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
+PASS subRule.cssText is &quot;url(#b)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Reference as 2nd value : grayscale(1) url('#a')
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(1) url(#a)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(1) url(#a)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : grayscale(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : grayscale(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(50%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(50%)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : grayscale(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : grayscale(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(0)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : grayscale()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale()'
</del><ins>+PASS subRule.cssText is &quot;grayscale()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : grayscale(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : sepia(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'sepia(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;sepia(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : sepia(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'sepia(50%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;sepia(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(50%)'
</del><ins>+PASS subRule.cssText is &quot;sepia(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : sepia(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'sepia(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;sepia(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : sepia(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'sepia(0)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;sepia(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : sepia()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'sepia()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;sepia()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia()'
</del><ins>+PASS subRule.cssText is &quot;sepia()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : sepia(0.5) sepia(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'sepia(0.5) sepia(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;sepia(0.5) sepia(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : sepia(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'sepia(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;sepia(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : saturate(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : saturate(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate(50%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(50%)'
</del><ins>+PASS subRule.cssText is &quot;saturate(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value &gt; 1 : saturate(250%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate(250%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate(250%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(250%)'
</del><ins>+PASS subRule.cssText is &quot;saturate(250%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : saturate(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Input value &gt; 1 : saturate(5.5)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate(5.5)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate(5.5)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(5.5)'
</del><ins>+PASS subRule.cssText is &quot;saturate(5.5)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : saturate(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate(0)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : saturate()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate()'
</del><ins>+PASS subRule.cssText is &quot;saturate()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : saturate(0.5) saturate(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate(0.5) saturate(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate(0.5) saturate(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;saturate(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : saturate(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'saturate(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;saturate(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees value as integer : hue-rotate(10deg)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'hue-rotate(10deg)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees float value converts to integer : hue-rotate(10.0deg)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'hue-rotate(10deg)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Radians value : hue-rotate(10rad)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'hue-rotate(10rad)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;hue-rotate(10rad)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10rad)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10rad)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Gradians value : hue-rotate(10grad)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'hue-rotate(10grad)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;hue-rotate(10grad)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10grad)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10grad)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Turns value : hue-rotate(0.5turn)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'hue-rotate(0.5turn)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;hue-rotate(0.5turn)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0.5turn)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0.5turn)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : hue-rotate(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'hue-rotate(0deg)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : hue-rotate()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'hue-rotate()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;hue-rotate()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate()'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : hue-rotate(10deg) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'hue-rotate(10deg) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;hue-rotate(10deg) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : invert(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'invert(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;invert(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : invert(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'invert(50%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;invert(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(50%)'
</del><ins>+PASS subRule.cssText is &quot;invert(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : invert(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'invert(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;invert(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : invert(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'invert(0)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;invert(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0)'
</del><ins>+PASS subRule.cssText is &quot;invert(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : invert()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'invert()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;invert()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert()'
</del><ins>+PASS subRule.cssText is &quot;invert()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : invert(0.5) invert(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'invert(0.5) invert(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;invert(0.5) invert(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;invert(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : invert(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'invert(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;invert(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : opacity(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'opacity(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;opacity(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : opacity(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'opacity(50%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;opacity(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(50%)'
</del><ins>+PASS subRule.cssText is &quot;opacity(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : opacity(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'opacity(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;opacity(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : opacity(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'opacity(0)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;opacity(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : opacity()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'opacity()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;opacity()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity()'
</del><ins>+PASS subRule.cssText is &quot;opacity()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : opacity(0.5) opacity(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'opacity(0.5) opacity(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;opacity(0.5) opacity(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;opacity(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : opacity(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'opacity(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;opacity(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : brightness(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : brightness(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness(50%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(50%)'
</del><ins>+PASS subRule.cssText is &quot;brightness(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : brightness(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : brightness(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness(0)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : brightness()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness()'
</del><ins>+PASS subRule.cssText is &quot;brightness()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : brightness(0.5) brightness(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness(0.5) brightness(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness(0.5) brightness(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;brightness(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : brightness(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Parameter less than -100% : brightness(-1.1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness(-1.1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness(-1.1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(-1.1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(-1.1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Parameter more than 100% : brightness(101%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'brightness(101%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;brightness(101%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(101%)'
</del><ins>+PASS subRule.cssText is &quot;brightness(101%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : grayscale(0.25) brightness(0.5)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(0.25) brightness(0.5)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(0.25) brightness(0.5)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
+PASS subRule.cssText is &quot;brightness(0.5)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : contrast(1)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value : contrast(50%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast(50%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast(50%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(50%)'
</del><ins>+PASS subRule.cssText is &quot;contrast(50%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage value &gt; 1 : contrast(250%)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast(250%)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast(250%)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(250%)'
</del><ins>+PASS subRule.cssText is &quot;contrast(250%)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : contrast(1.0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast(1)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast(1)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : contrast(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast(0)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast(0)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : contrast()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast()'
</del><ins>+PASS subRule.cssText is &quot;contrast()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Value greater than one : contrast(2)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast(2)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast(2)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(2)'
</del><ins>+PASS subRule.cssText is &quot;contrast(2)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : contrast(0.5) contrast(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast(0.5) contrast(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast(0.5) contrast(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;contrast(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : contrast(0.5) grayscale(0.25)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'contrast(0.5) grayscale(0.25)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;contrast(0.5) grayscale(0.25)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : grayscale(0.25) contrast(0.5)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(0.25) contrast(0.5)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(0.25) contrast(0.5)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
+PASS subRule.cssText is &quot;contrast(0.5)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One zero to px : blur(0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'blur(0px)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;blur(0px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(0px)'
</del><ins>+PASS subRule.cssText is &quot;blur(0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One length : blur(10px)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'blur(10px)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;blur(10px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(10px)'
</del><ins>+PASS subRule.cssText is &quot;blur(10px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : blur()
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'blur()'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;blur()&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur()'
</del><ins>+PASS subRule.cssText is &quot;blur()&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values : drop-shadow(red 1px 2px 3px)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'drop-shadow(red 1px 2px 3px)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;drop-shadow(red 1px 2px 3px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(red 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(red 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values then color : drop-shadow(1px 2px 3px red)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'drop-shadow(red 1px 2px 3px)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;drop-shadow(red 1px 2px 3px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(red 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(red 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values with zero length : drop-shadow(#abc 0 0 0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'drop-shadow(rgb(170, 187, 204) 0px 0px 0px)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(170, 187, 204) 0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values with zero length : drop-shadow(0 0 0)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'drop-shadow(0px 0px 0px)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;drop-shadow(0px 0px 0px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Two values no color : drop-shadow(1px 2px)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'drop-shadow(1px 2px)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;drop-shadow(1px 2px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(1px 2px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(1px 2px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple operations : grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)
</span><span class="cx"> PASS cssRule.type is 1
</span><span class="cx"> PASS declaration.length is 1
</span><del>-PASS declaration.getPropertyValue('filter') is 'grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)'
</del><ins>+PASS declaration.getPropertyValue('filter') is &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;
</ins><span class="cx"> PASS jsWrapperClass(filterRule) is 'CSSValueList'
</span><span class="cx"> PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
</span><span class="cx"> PASS jsWrapperClass(filterRule.constructor) is 'Function'
</span><span class="cx"> PASS filterRule.length is 8
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.75)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(35deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.2)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.9)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(5px)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(green 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
+PASS subRule.cssText is &quot;saturate(0.75)&quot;
+PASS subRule.cssText is &quot;hue-rotate(35deg)&quot;
+PASS subRule.cssText is &quot;invert(0.2)&quot;
+PASS subRule.cssText is &quot;opacity(0.9)&quot;
+PASS subRule.cssText is &quot;blur(5px)&quot;
+PASS subRule.cssText is &quot;drop-shadow(green 1px 2px 3px)&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersfilterpropertyparsinginvalidhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/filter-property-parsing-invalid.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/filter-property-parsing-invalid.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/filter-property-parsing-invalid.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,107 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/filter-property-parsing-invalid.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test the parsing of the -webkit-filter property.&quot;);
+
+// These have to be global for the test helpers to see them.
+var stylesheet, cssRule, declaration;
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+stylesheet = styleElement.sheet;
+
+function testInvalidFilterRule(description, rule)
+{
+    debug(&quot;&quot;);
+    debug(description + &quot; : &quot; + rule);
+
+    stylesheet.insertRule(&quot;body { -webkit-filter: &quot; + rule + &quot;; }&quot;, 0);
+    cssRule = stylesheet.cssRules.item(0);
+
+    shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
+
+    declaration = cssRule.style;
+    shouldBe(&quot;declaration.length&quot;, &quot;0&quot;);
+    shouldBeEqualToString(&quot;declaration.getPropertyValue('-webkit-filter')&quot;, &quot;&quot;);
+}
+
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;url(#a #b)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;grayscale(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;grayscale(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;grayscale(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;grayscale(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;grayscale(-0.5)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;grayscale(-10%)&quot;);
+testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;grayscale(1.5)&quot;);
+
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;sepia(0.5 0.5 3.0)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;sepia(0.1, 0.1)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;sepia(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;sepia(-0.01)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;sepia(-10%)&quot;);
+testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;sepia(10000)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;saturate(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;saturate(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;saturate(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;saturate(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;saturate(-0.5)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;saturate(-10%)&quot;);
+
+testInvalidFilterRule(&quot;Bare number&quot;, &quot;hue-rotate(10)&quot;);
+testInvalidFilterRule(&quot;Length&quot;, &quot;hue-rotate(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;hue-rotate(10deg 4)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;hue-rotate(10deg, 5deg)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;hue-rotate(10deg,)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;invert(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;invert(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;invert(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;invert(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;invert(-0.5)&quot;);
+testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;invert(1.5)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;opacity(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;opacity(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;opacity(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;opacity(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;opacity(-0.5)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;opacity(-10%)&quot;);
+testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;opacity(1.5)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;brightness(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;brightness(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;brightness(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;brightness(0.5,)&quot;);
+
+testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;contrast(10px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;contrast(0.5 0.5)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;contrast(0.5, 0.5)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;contrast(0.5,)&quot;);
+testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;contrast(-0.5)&quot;);
+testInvalidFilterRule(&quot;Negative percent&quot;, &quot;contrast(-10%)&quot;);
+
+testInvalidFilterRule(&quot;Bare number&quot;, &quot;blur(1)&quot;);
+testInvalidFilterRule(&quot;Negative number&quot;, &quot;blur(-1px)&quot;);
+testInvalidFilterRule(&quot;Percentage&quot;, &quot;blur(10%)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;blur(1px 1px)&quot;);
+testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;blur(1em, 1em)&quot;);
+testInvalidFilterRule(&quot;Commas&quot;, &quot;blur(10px, 10px)&quot;);
+testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;blur(1em,)&quot;);
+
+testInvalidFilterRule(&quot;No values&quot;, &quot;drop-shadow()&quot;);
+testInvalidFilterRule(&quot;Missing lengths&quot;, &quot;drop-shadow(red)&quot;);
+testInvalidFilterRule(&quot;Not enough lengths&quot;, &quot;drop-shadow(red 1px)&quot;);
+testInvalidFilterRule(&quot;Missing units&quot;, &quot;drop-shadow(red 1 2 3)&quot;);
+testInvalidFilterRule(&quot;Inset&quot;, &quot;drop-shadow(red 1px 2px 3px inset)&quot;);
+testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;drop-shadow(red 1px 2px 3px 4px)&quot;);
+testInvalidFilterRule(&quot;Commas&quot;, &quot;drop-shadow(red, 1px, 2px, 3px)&quot;);
+testInvalidFilterRule(&quot;Negative radius&quot;, &quot;drop-shadow(10px 10px -1px red)&quot;);
+
+successfullyParsed = true;
+
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersfilterpropertyparsinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/filter-property-parsing.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/filter-property-parsing.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/filter-property-parsing.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,383 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/filter-property-parsing.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test the parsing of the filter property.&quot;);
+
+function jsWrapperClass(node)
+{
+    if (!node)
+        return &quot;[null]&quot;;
+    var string = Object.prototype.toString.apply(node);
+    return string.substr(8, string.length - 9);
+}
+
+function shouldBeType(expression, className, prototypeName, constructorName)
+{
+    if (!prototypeName)
+        prototypeName = className + &quot;Prototype&quot;;
+    if (!constructorName)
+        constructorName = className + &quot;Constructor&quot;;
+    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;)&quot;, &quot;'&quot; + className + &quot;'&quot;);
+    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;.__proto__)&quot;, &quot;'&quot; + prototypeName + &quot;'&quot;);
+    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;.constructor)&quot;, &quot;'Function'&quot;);
+}
+
+// These have to be global for the test helpers to see them.
+var stylesheet, cssRule, declaration, filterRule, subRule;
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+stylesheet = styleElement.sheet;
+
+function testFilterRule(description, rule, expectedLength, expectedValue, expectedTexts)
+{
+    debug(&quot;&quot;);
+    debug(`${description} : ${rule}`);
+
+    stylesheet.insertRule(`body { filter: ${rule}; }`, 0);
+    cssRule = stylesheet.cssRules.item(0);
+
+    shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
+
+    declaration = cssRule.style;
+    shouldBe(&quot;declaration.length&quot;, &quot;1&quot;);
+    shouldBe(&quot;declaration.getPropertyValue('filter')&quot;, `&quot;${expectedValue}&quot;`);
+
+    filterRule = declaration.getPropertyCSSValue(&quot;filter&quot;);
+    shouldBeType(&quot;filterRule&quot;, &quot;CSSValueList&quot;);
+
+    shouldBe(&quot;filterRule.length&quot;, `${expectedLength}`);
+
+    if (filterRule) {
+        for (var i = 0; i &lt; expectedLength; i++) {
+            subRule = filterRule[i];
+            shouldBe(&quot;subRule.cssText&quot;, `&quot;${expectedTexts[i]}&quot;`);
+        }
+    }
+    stylesheet.deleteRule(0);
+}
+
+testFilterRule(&quot;Basic reference&quot;,
+               &quot;url('#a')&quot;, 1, &quot;url(#a)&quot;,
+               [&quot;url(#a)&quot;]);
+
+testFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
+               &quot;url(#a)&quot;, 1, &quot;url(#a)&quot;,
+               [&quot;url(#a)&quot;]);
+
+testFilterRule(&quot;Multiple references&quot;,
+               &quot;url('#a') url('#b')&quot;, 2, &quot;url(#a) url(#b)&quot;,
+               [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
+
+testFilterRule(&quot;Reference as 2nd value&quot;,
+               &quot;grayscale(1) url('#a')&quot;, 2, &quot;grayscale(1) url(#a)&quot;,
+               [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;grayscale(1)&quot;, 1, &quot;grayscale(1)&quot;,
+               [&quot;grayscale(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;grayscale(50%)&quot;, 1, &quot;grayscale(50%)&quot;,
+               [&quot;grayscale(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;grayscale(1.0)&quot;, 1, &quot;grayscale(1)&quot;,
+               [&quot;grayscale(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;grayscale(0)&quot;, 1, &quot;grayscale(0)&quot;,
+               [&quot;grayscale(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;grayscale()&quot;, 1, &quot;grayscale()&quot;,
+               [&quot;grayscale()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;grayscale(0.5) grayscale(0.25)&quot;, 2, &quot;grayscale(0.5) grayscale(0.25)&quot;,
+               [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;sepia(1)&quot;, 1, &quot;sepia(1)&quot;,
+               [&quot;sepia(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;sepia(50%)&quot;, 1, &quot;sepia(50%)&quot;,
+               [&quot;sepia(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;sepia(1.0)&quot;, 1, &quot;sepia(1)&quot;,
+               [&quot;sepia(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;sepia(0)&quot;, 1, &quot;sepia(0)&quot;,
+               [&quot;sepia(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;sepia()&quot;, 1, &quot;sepia()&quot;,
+               [&quot;sepia()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;sepia(0.5) sepia(0.25)&quot;, 2, &quot;sepia(0.5) sepia(0.25)&quot;,
+               [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;sepia(0.5) grayscale(0.25)&quot;, 2, &quot;sepia(0.5) grayscale(0.25)&quot;,
+               [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;saturate(1)&quot;, 1, &quot;saturate(1)&quot;,
+               [&quot;saturate(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;saturate(50%)&quot;, 1, &quot;saturate(50%)&quot;,
+               [&quot;saturate(50%)&quot;]);
+
+testFilterRule(&quot;Percentage value &gt; 1&quot;,
+               &quot;saturate(250%)&quot;, 1, &quot;saturate(250%)&quot;,
+               [&quot;saturate(250%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;saturate(1.0)&quot;, 1, &quot;saturate(1)&quot;,
+               [&quot;saturate(1)&quot;]);
+
+testFilterRule(&quot;Input value &gt; 1&quot;,
+               &quot;saturate(5.5)&quot;, 1, &quot;saturate(5.5)&quot;,
+               [&quot;saturate(5.5)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;saturate(0)&quot;, 1, &quot;saturate(0)&quot;,
+               [&quot;saturate(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;saturate()&quot;, 1, &quot;saturate()&quot;,
+               [&quot;saturate()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;saturate(0.5) saturate(0.25)&quot;, 2, &quot;saturate(0.5) saturate(0.25)&quot;,
+               [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;saturate(0.5) grayscale(0.25)&quot;, 2, &quot;saturate(0.5) grayscale(0.25)&quot;,
+               [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Degrees value as integer&quot;,
+               &quot;hue-rotate(10deg)&quot;, 1, &quot;hue-rotate(10deg)&quot;,
+               [&quot;hue-rotate(10deg)&quot;]);
+
+testFilterRule(&quot;Degrees float value converts to integer&quot;,
+               &quot;hue-rotate(10.0deg)&quot;, 1, &quot;hue-rotate(10deg)&quot;,
+               [&quot;hue-rotate(10deg)&quot;]);
+
+testFilterRule(&quot;Radians value&quot;,
+               &quot;hue-rotate(10rad)&quot;, 1, &quot;hue-rotate(10rad)&quot;,
+               [&quot;hue-rotate(10rad)&quot;]);
+
+testFilterRule(&quot;Gradians value&quot;,
+               &quot;hue-rotate(10grad)&quot;, 1, &quot;hue-rotate(10grad)&quot;,
+               [&quot;hue-rotate(10grad)&quot;]);
+
+testFilterRule(&quot;Turns value&quot;,
+               &quot;hue-rotate(0.5turn)&quot;, 1, &quot;hue-rotate(0.5turn)&quot;,
+               [&quot;hue-rotate(0.5turn)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;hue-rotate(0)&quot;, 1, &quot;hue-rotate(0deg)&quot;,
+              [&quot;hue-rotate(0deg)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;hue-rotate()&quot;, 1, &quot;hue-rotate()&quot;,
+               [&quot;hue-rotate()&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2, &quot;hue-rotate(10deg) grayscale(0.25)&quot;,
+               [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;invert(1)&quot;, 1, &quot;invert(1)&quot;,
+               [&quot;invert(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;invert(50%)&quot;, 1, &quot;invert(50%)&quot;,
+               [&quot;invert(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;invert(1.0)&quot;, 1, &quot;invert(1)&quot;,
+               [&quot;invert(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;invert(0)&quot;, 1, &quot;invert(0)&quot;,
+               [&quot;invert(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;invert()&quot;, 1, &quot;invert()&quot;,
+               [&quot;invert()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;invert(0.5) invert(0.25)&quot;, 2, &quot;invert(0.5) invert(0.25)&quot;,
+               [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;invert(0.5) grayscale(0.25)&quot;, 2, &quot;invert(0.5) grayscale(0.25)&quot;,
+               [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+               &quot;opacity(1)&quot;, 1, &quot;opacity(1)&quot;,
+               [&quot;opacity(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+               &quot;opacity(50%)&quot;, 1, &quot;opacity(50%)&quot;,
+               [&quot;opacity(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+               &quot;opacity(1.0)&quot;, 1, &quot;opacity(1)&quot;,
+               [&quot;opacity(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+               &quot;opacity(0)&quot;, 1, &quot;opacity(0)&quot;,
+               [&quot;opacity(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;opacity()&quot;, 1, &quot;opacity()&quot;,
+               [&quot;opacity()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+               &quot;opacity(0.5) opacity(0.25)&quot;, 2, &quot;opacity(0.5) opacity(0.25)&quot;,
+               [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+               &quot;opacity(0.5) grayscale(0.25)&quot;, 2, &quot;opacity(0.5) grayscale(0.25)&quot;,
+               [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+              &quot;brightness(1)&quot;, 1, &quot;brightness(1)&quot;,
+              [&quot;brightness(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+              &quot;brightness(50%)&quot;, 1, &quot;brightness(50%)&quot;,
+              [&quot;brightness(50%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+              &quot;brightness(1.0)&quot;, 1, &quot;brightness(1)&quot;,
+              [&quot;brightness(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+              &quot;brightness(0)&quot;, 1, &quot;brightness(0)&quot;,
+              [&quot;brightness(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+              &quot;brightness()&quot;, 1, &quot;brightness()&quot;,
+              [&quot;brightness()&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+              &quot;brightness(0.5) brightness(0.25)&quot;, 2, &quot;brightness(0.5) brightness(0.25)&quot;,
+              [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+              &quot;brightness(0.5) grayscale(0.25)&quot;, 2, &quot;brightness(0.5) grayscale(0.25)&quot;,
+              [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Parameter less than -100%&quot;,
+              &quot;brightness(-1.1)&quot;, 1, &quot;brightness(-1.1)&quot;,
+              [&quot;brightness(-1.1)&quot;]);
+
+testFilterRule(&quot;Parameter more than 100%&quot;,
+              &quot;brightness(101%)&quot;, 1, &quot;brightness(101%)&quot;,
+              [&quot;brightness(101%)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+              &quot;grayscale(0.25) brightness(0.5)&quot;, 2, &quot;grayscale(0.25) brightness(0.5)&quot;,
+              [&quot;grayscale(0.25)&quot;, &quot;brightness(0.5)&quot;]);
+
+testFilterRule(&quot;Integer value&quot;,
+              &quot;contrast(1)&quot;, 1, &quot;contrast(1)&quot;,
+              [&quot;contrast(1)&quot;]);
+
+testFilterRule(&quot;Percentage value&quot;,
+              &quot;contrast(50%)&quot;, 1, &quot;contrast(50%)&quot;,
+              [&quot;contrast(50%)&quot;]);
+
+testFilterRule(&quot;Percentage value &gt; 1&quot;,
+              &quot;contrast(250%)&quot;, 1, &quot;contrast(250%)&quot;,
+              [&quot;contrast(250%)&quot;]);
+
+testFilterRule(&quot;Float value converts to integer&quot;,
+              &quot;contrast(1.0)&quot;, 1, &quot;contrast(1)&quot;,
+              [&quot;contrast(1)&quot;]);
+
+testFilterRule(&quot;Zero value&quot;,
+              &quot;contrast(0)&quot;, 1, &quot;contrast(0)&quot;,
+              [&quot;contrast(0)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+              &quot;contrast()&quot;, 1, &quot;contrast()&quot;,
+              [&quot;contrast()&quot;]);
+
+testFilterRule(&quot;Value greater than one&quot;,
+              &quot;contrast(2)&quot;, 1, &quot;contrast(2)&quot;,
+              [&quot;contrast(2)&quot;]);
+
+testFilterRule(&quot;Multiple values&quot;,
+              &quot;contrast(0.5) contrast(0.25)&quot;, 2, &quot;contrast(0.5) contrast(0.25)&quot;,
+              [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+              &quot;contrast(0.5) grayscale(0.25)&quot;, 2, &quot;contrast(0.5) grayscale(0.25)&quot;,
+              [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testFilterRule(&quot;Rule combinations&quot;,
+              &quot;grayscale(0.25) contrast(0.5)&quot;, 2, &quot;grayscale(0.25) contrast(0.5)&quot;,
+              [&quot;grayscale(0.25)&quot;, &quot;contrast(0.5)&quot;]);
+
+testFilterRule(&quot;One zero to px&quot;,
+               &quot;blur(0)&quot;, 1, &quot;blur(0px)&quot;,
+               [&quot;blur(0px)&quot;]);
+
+testFilterRule(&quot;One length&quot;,
+               &quot;blur(10px)&quot;, 1, &quot;blur(10px)&quot;,
+               [&quot;blur(10px)&quot;]);
+
+testFilterRule(&quot;No values&quot;,
+               &quot;blur()&quot;, 1, &quot;blur()&quot;,
+               [&quot;blur()&quot;]);
+
+testFilterRule(&quot;Color then three values&quot;,
+              &quot;drop-shadow(red 1px 2px 3px)&quot;, 1, &quot;drop-shadow(red 1px 2px 3px)&quot;,
+              [&quot;drop-shadow(red 1px 2px 3px)&quot;]);
+
+testFilterRule(&quot;Three values then color&quot;,
+              &quot;drop-shadow(1px 2px 3px red)&quot;, 1, &quot;drop-shadow(red 1px 2px 3px)&quot;,
+              [&quot;drop-shadow(red 1px 2px 3px)&quot;]);
+
+testFilterRule(&quot;Color then three values with zero length&quot;,
+              &quot;drop-shadow(#abc 0 0 0)&quot;, 1, &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;,
+              [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
+
+testFilterRule(&quot;Three values with zero length&quot;,
+              &quot;drop-shadow(0 0 0)&quot;, 1, &quot;drop-shadow(0px 0px 0px)&quot;,
+              [&quot;drop-shadow(0px 0px 0px)&quot;]);
+
+testFilterRule(&quot;Two values no color&quot;,
+              &quot;drop-shadow(1px 2px)&quot;, 1, &quot;drop-shadow(1px 2px)&quot;,
+              [&quot;drop-shadow(1px 2px)&quot;]);
+
+testFilterRule(&quot;Multiple operations&quot;,
+               &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;, 8,
+               &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;,
+               [
+                   &quot;grayscale(0.5)&quot;,
+                   &quot;sepia(0.25)&quot;,
+                   &quot;saturate(0.75)&quot;,
+                   &quot;hue-rotate(35deg)&quot;,
+                   &quot;invert(0.2)&quot;,
+                   &quot;opacity(0.9)&quot;,
+                   &quot;blur(5px)&quot;,
+                   &quot;drop-shadow(green 1px 2px 3px)&quot;
+               ]);
+
+successfullyParsed = true;
+
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersfilterpropertyhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/filter-property.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/filter-property.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/filter-property.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,26 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/filter-property.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test the parsing of the -webkit-filter property.&quot;);
+
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+var stylesheet = styleElement.sheet;
+
+// add a -webkit-filter property to the start of the stylesheet
+stylesheet.addRule(&quot;body&quot;, &quot;-webkit-filter: url(#a) url(#b)&quot;, 0);
+
+var cssRule = stylesheet.cssRules.item(0);
+
+shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
+
+var declaration = cssRule.style;
+shouldBe(&quot;declaration.length&quot;, &quot;1&quot;);
+shouldBe(&quot;declaration.getPropertyValue('-webkit-filter')&quot;, &quot;'url(#a) url(#b)'&quot;);
+
+successfullyParsed = true;
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersscripttestsTEMPLATEhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/script-tests/TEMPLATE.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/script-tests/TEMPLATE.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/script-tests/TEMPLATE.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
-&lt;html&gt;
-&lt;head&gt;
-&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
-&lt;/head&gt;
-&lt;body&gt;
-&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
-&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
-&lt;script src=&quot;YOUR_JS_FILE_HERE&quot;&gt;&lt;/script&gt;
-&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersscripttestseffectreferencedeletecrashjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/script-tests/effect-reference-delete-crash.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/script-tests/effect-reference-delete-crash.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/script-tests/effect-reference-delete-crash.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,8 +0,0 @@
</span><del>-description(&quot;Test that no crash occurs when a SVG filter is deleted that was referenced by a deleted HTML element.&quot;);
-
-html = document.getElementById('html');
-html.parentNode.removeChild(html);
-svg = document.getElementById('svg');
-svg.parentNode.removeChild(svg);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersscripttestseffectreferenceresetstyledeletecrashjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/script-tests/effect-reference-reset-style-delete-crash.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/script-tests/effect-reference-reset-style-delete-crash.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/script-tests/effect-reference-reset-style-delete-crash.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,8 +0,0 @@
</span><del>-description(&quot;Test that no crash occurs when a SVG filter is deleted that used to be referenced by an HTML element but is no longer.&quot;);
-
-html = document.getElementById('html');
-html.style = &quot;&quot;;
-svg = document.getElementById('svg');
-svg.parentNode.removeChild(svg);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersscripttestsfilterpropertycomputedstylejs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/script-tests/filter-property-computed-style.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/script-tests/filter-property-computed-style.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/script-tests/filter-property-computed-style.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,383 +0,0 @@
</span><del>-description(&quot;Test the computed style of the filter property.&quot;);
-
-// These have to be global for the test helpers to see them.
-var stylesheet, filterStyle, subRule;
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-stylesheet = styleElement.sheet;
-
-function testComputedFilterRule(description, rule, expectedLength, expectedTypes, expectedTexts)
-{
-    debug(&quot;&quot;);
-    debug(description + &quot; : &quot; + rule);
-
-    stylesheet.insertRule(&quot;body { filter: &quot; + rule + &quot;; }&quot;, 0);
-
-    filterStyle = window.getComputedStyle(document.body).getPropertyCSSValue(&quot;filter&quot;);
-    shouldBe(&quot;filterStyle.length&quot;, &quot;&quot; + expectedLength);
-    for (var i = 0; i &lt; expectedLength; i++) {
-        subRule = filterStyle[i];
-        shouldBe(&quot;subRule.operationType&quot;, expectedTypes[i]);
-        shouldBe(&quot;subRule.cssText&quot;, &quot;'&quot; + expectedTexts[i] + &quot;'&quot;);
-    }
-    stylesheet.deleteRule(0);
-}
-
-testComputedFilterRule(&quot;Basic reference&quot;,
-                       &quot;url('#a')&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
-                       &quot;url(#a)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Multiple references&quot;,
-                       &quot;url('#a') url('#b')&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
-
-testComputedFilterRule(&quot;Reference as 2nd value&quot;,
-                       &quot;grayscale(1) url('#a')&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;grayscale(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;grayscale(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;grayscale(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;grayscale()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;grayscale(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;sepia(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;sepia(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;sepia(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;sepia()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;sepia(0.5) sepia(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;sepia(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;saturate(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;saturate(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;saturate(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;saturate()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;saturate(0.5) saturate(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;saturate(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Degrees value as integer&quot;,
-                       &quot;hue-rotate(10deg)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;]);
-
-testComputedFilterRule(&quot;Degrees float value converts to integer&quot;,
-                       &quot;hue-rotate(10.0deg)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;]);
-
-testComputedFilterRule(&quot;Radians value&quot;,
-                       &quot;hue-rotate(10rad)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(572.9577951308232deg)&quot;]);
-
-testComputedFilterRule(&quot;Gradians value&quot;,
-                       &quot;hue-rotate(10grad)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(9deg)&quot;]);
-
-testComputedFilterRule(&quot;Turns value&quot;,
-                       &quot;hue-rotate(0.5turn)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(180deg)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;hue-rotate(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(0deg)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;hue-rotate()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(0deg)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;invert(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;invert(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;invert(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;invert()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;invert(0.5) invert(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;invert(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;opacity(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;opacity(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;opacity(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;opacity()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;opacity(0.5) opacity(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;opacity(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                      &quot;brightness(1)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                      &quot;brightness(1.0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                      &quot;brightness(0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                      &quot;brightness()&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                      &quot;brightness(0.5) brightness(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                      &quot;brightness(0.5) grayscale(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                      [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                      &quot;contrast(1)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Value greater than 1&quot;,
-                      &quot;contrast(2)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(2)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                      &quot;contrast(1.0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                      &quot;contrast(0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                      &quot;contrast()&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                      &quot;contrast(0.5) contrast(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                      &quot;contrast(0.5) grayscale(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                      [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;One zero to px&quot;,
-                       &quot;blur(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(0px)&quot;]);
-
-testComputedFilterRule(&quot;One length&quot;,
-                       &quot;blur(2em)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(32px)&quot;]);
-
-testComputedFilterRule(&quot;One length&quot;,
-                       &quot;blur(5px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(5px)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;blur()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(0px)&quot;]);
-
-testComputedFilterRule(&quot;Color then three values&quot;,
-                       &quot;drop-shadow(red 1px 2px 3px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
-
-testComputedFilterRule(&quot;Three values then color&quot;,
-                       &quot;drop-shadow(1px 2px 3px red)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
-
-testComputedFilterRule(&quot;Color then three values with zero length&quot;,
-                       &quot;drop-shadow(#abc 0 0 0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Three values with zero length&quot;,
-                       &quot;drop-shadow(0 0 0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Two values no color&quot;,
-                       &quot;drop-shadow(1px 2px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Multiple operations&quot;,
-                       &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)&quot;, 7,
-                       [
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;,
-               ],
-                       [
-                           &quot;grayscale(0.5)&quot;,
-                           &quot;sepia(0.25)&quot;,
-                           &quot;saturate(0.75)&quot;,
-                           &quot;hue-rotate(35deg)&quot;,
-                           &quot;invert(0.2)&quot;,
-                           &quot;opacity(0.9)&quot;,
-                           &quot;blur(5px)&quot;
-               ]);
-
-testComputedFilterRule(&quot;Percentage values&quot;,
-                      &quot;grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)&quot;, 7,
-                      [
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;
-              ],
-                      [
-                          &quot;grayscale(0.5)&quot;,
-                          &quot;sepia(0.25)&quot;,
-                          &quot;saturate(0.75)&quot;,
-                          &quot;invert(0.2)&quot;,
-                          &quot;opacity(0.9)&quot;,
-                          &quot;brightness(0.6)&quot;,
-                          &quot;contrast(0.3)&quot;
-              ]);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersscripttestsfilterpropertyparsinginvalidjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/script-tests/filter-property-parsing-invalid.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/script-tests/filter-property-parsing-invalid.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/script-tests/filter-property-parsing-invalid.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,98 +0,0 @@
</span><del>-description(&quot;Test the parsing of the -webkit-filter property.&quot;);
-
-// These have to be global for the test helpers to see them.
-var stylesheet, cssRule, declaration;
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-stylesheet = styleElement.sheet;
-
-function testInvalidFilterRule(description, rule)
-{
-    debug(&quot;&quot;);
-    debug(description + &quot; : &quot; + rule);
-
-    stylesheet.insertRule(&quot;body { -webkit-filter: &quot; + rule + &quot;; }&quot;, 0);
-    cssRule = stylesheet.cssRules.item(0);
-  
-    shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
-
-    declaration = cssRule.style;
-    shouldBe(&quot;declaration.length&quot;, &quot;0&quot;);
-    shouldBeEqualToString(&quot;declaration.getPropertyValue('-webkit-filter')&quot;, &quot;&quot;);
-}
-
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;url(#a #b)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;grayscale(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;grayscale(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;grayscale(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;grayscale(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;grayscale(-0.5)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;grayscale(-10%)&quot;);
-testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;grayscale(1.5)&quot;);
-
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;sepia(0.5 0.5 3.0)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;sepia(0.1, 0.1)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;sepia(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;sepia(-0.01)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;sepia(-10%)&quot;);
-testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;sepia(10000)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;saturate(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;saturate(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;saturate(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;saturate(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;saturate(-0.5)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;saturate(-10%)&quot;);
-
-testInvalidFilterRule(&quot;Bare number&quot;, &quot;hue-rotate(10)&quot;);
-testInvalidFilterRule(&quot;Length&quot;, &quot;hue-rotate(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;hue-rotate(10deg 4)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;hue-rotate(10deg, 5deg)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;hue-rotate(10deg,)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;invert(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;invert(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;invert(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;invert(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;invert(-0.5)&quot;);
-testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;invert(1.5)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;opacity(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;opacity(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;opacity(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;opacity(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;opacity(-0.5)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;opacity(-10%)&quot;);
-testInvalidFilterRule(&quot;Parameter out of bounds&quot;, &quot;opacity(1.5)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;brightness(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;brightness(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;brightness(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;brightness(0.5,)&quot;);
-
-testInvalidFilterRule(&quot;Length instead of number&quot;, &quot;contrast(10px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;contrast(0.5 0.5)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;contrast(0.5, 0.5)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;contrast(0.5,)&quot;);
-testInvalidFilterRule(&quot;Negative parameter&quot;, &quot;contrast(-0.5)&quot;);
-testInvalidFilterRule(&quot;Negative percent&quot;, &quot;contrast(-10%)&quot;);
-
-testInvalidFilterRule(&quot;Bare number&quot;, &quot;blur(1)&quot;);
-testInvalidFilterRule(&quot;Negative number&quot;, &quot;blur(-1px)&quot;);
-testInvalidFilterRule(&quot;Percentage&quot;, &quot;blur(10%)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;blur(1px 1px)&quot;);
-testInvalidFilterRule(&quot;Too many parameters and commas&quot;, &quot;blur(1em, 1em)&quot;);
-testInvalidFilterRule(&quot;Commas&quot;, &quot;blur(10px, 10px)&quot;);
-testInvalidFilterRule(&quot;Trailing comma&quot;, &quot;blur(1em,)&quot;);
-
-testInvalidFilterRule(&quot;No values&quot;, &quot;drop-shadow()&quot;);
-testInvalidFilterRule(&quot;Missing lengths&quot;, &quot;drop-shadow(red)&quot;);
-testInvalidFilterRule(&quot;Not enough lengths&quot;, &quot;drop-shadow(red 1px)&quot;);
-testInvalidFilterRule(&quot;Missing units&quot;, &quot;drop-shadow(red 1 2 3)&quot;);
-testInvalidFilterRule(&quot;Inset&quot;, &quot;drop-shadow(red 1px 2px 3px inset)&quot;);
-testInvalidFilterRule(&quot;Too many parameters&quot;, &quot;drop-shadow(red 1px 2px 3px 4px)&quot;);
-testInvalidFilterRule(&quot;Commas&quot;, &quot;drop-shadow(red, 1px, 2px, 3px)&quot;);
-testInvalidFilterRule(&quot;Negative radius&quot;, &quot;drop-shadow(10px 10px -1px red)&quot;);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersscripttestsfilterpropertyparsingjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/script-tests/filter-property-parsing.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/script-tests/filter-property-parsing.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/script-tests/filter-property-parsing.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,460 +0,0 @@
</span><del>-description(&quot;Test the parsing of the filter property.&quot;);
-
-function jsWrapperClass(node)
-{
-    if (!node)
-        return &quot;[null]&quot;;
-    var string = Object.prototype.toString.apply(node);
-    return string.substr(8, string.length - 9);
-}
-
-function shouldBeType(expression, className, prototypeName, constructorName)
-{
-    if (!prototypeName)
-        prototypeName = className + &quot;Prototype&quot;;
-    if (!constructorName)
-        constructorName = className + &quot;Constructor&quot;;
-    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;)&quot;, &quot;'&quot; + className + &quot;'&quot;);
-    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;.__proto__)&quot;, &quot;'&quot; + prototypeName + &quot;'&quot;);
-    shouldBe(&quot;jsWrapperClass(&quot; + expression + &quot;.constructor)&quot;, &quot;'Function'&quot;);
-}
-
-// These have to be global for the test helpers to see them.
-var stylesheet, cssRule, declaration, filterRule, subRule;
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-stylesheet = styleElement.sheet;
-
-function testFilterRule(description, rule, expectedLength, expectedValue, expectedTypes, expectedTexts)
-{
-    debug(&quot;&quot;);
-    debug(description + &quot; : &quot; + rule);
-
-    stylesheet.insertRule(&quot;body { filter: &quot; + rule + &quot;; }&quot;, 0);
-    cssRule = stylesheet.cssRules.item(0);
-  
-    shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
-
-    declaration = cssRule.style;
-    shouldBe(&quot;declaration.length&quot;, &quot;1&quot;);
-    shouldBe(&quot;declaration.getPropertyValue('filter')&quot;, &quot;'&quot; + expectedValue + &quot;'&quot;);
-
-    filterRule = declaration.getPropertyCSSValue(&quot;filter&quot;);
-    shouldBeType(&quot;filterRule&quot;, &quot;CSSValueList&quot;);
-  
-    shouldBe(&quot;filterRule.length&quot;, &quot;&quot; + expectedLength); // shouldBe expects string arguments
-  
-    if (filterRule) {
-        for (var i = 0; i &lt; expectedLength; i++) {
-            subRule = filterRule[i];
-            shouldBe(&quot;subRule.operationType&quot;, expectedTypes[i]);
-            shouldBe(&quot;subRule.cssText&quot;, &quot;'&quot; + expectedTexts[i] + &quot;'&quot;);
-        }
-    }
-}
-
-testFilterRule(&quot;Basic reference&quot;,
-               &quot;url('#a')&quot;, 1, &quot;url(#a)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-               [&quot;url(#a)&quot;]);
-
-testFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
-               &quot;url(#a)&quot;, 1, &quot;url(#a)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-               [&quot;url(#a)&quot;]);
-
-testFilterRule(&quot;Multiple references&quot;,
-               &quot;url('#a') url('#b')&quot;, 2, &quot;url(#a) url(#b)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-               [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
-
-testFilterRule(&quot;Reference as 2nd value&quot;,
-               &quot;grayscale(1) url('#a')&quot;, 2, &quot;grayscale(1) url(#a)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-               [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;grayscale(1)&quot;, 1, &quot;grayscale(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;grayscale(50%)&quot;, 1, &quot;grayscale(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;grayscale(1.0)&quot;, 1, &quot;grayscale(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;grayscale(0)&quot;, 1, &quot;grayscale(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;grayscale()&quot;, 1, &quot;grayscale()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;grayscale(0.5) grayscale(0.25)&quot;, 2, &quot;grayscale(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;sepia(1)&quot;, 1, &quot;sepia(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;sepia(50%)&quot;, 1, &quot;sepia(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;sepia(1.0)&quot;, 1, &quot;sepia(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;sepia(0)&quot;, 1, &quot;sepia(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;sepia()&quot;, 1, &quot;sepia()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;sepia(0.5) sepia(0.25)&quot;, 2, &quot;sepia(0.5) sepia(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-               [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;sepia(0.5) grayscale(0.25)&quot;, 2, &quot;sepia(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;saturate(1)&quot;, 1, &quot;saturate(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;saturate(50%)&quot;, 1, &quot;saturate(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(50%)&quot;]);
-
-testFilterRule(&quot;Percentage value &gt; 1&quot;,
-               &quot;saturate(250%)&quot;, 1, &quot;saturate(250%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(250%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;saturate(1.0)&quot;, 1, &quot;saturate(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(1)&quot;]);
-
-testFilterRule(&quot;Input value &gt; 1&quot;,
-               &quot;saturate(5.5)&quot;, 1, &quot;saturate(5.5)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(5.5)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;saturate(0)&quot;, 1, &quot;saturate(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;saturate()&quot;, 1, &quot;saturate()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;saturate(0.5) saturate(0.25)&quot;, 2, &quot;saturate(0.5) saturate(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-               [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;saturate(0.5) grayscale(0.25)&quot;, 2, &quot;saturate(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Degrees value as integer&quot;,
-               &quot;hue-rotate(10deg)&quot;, 1, &quot;hue-rotate(10deg)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(10deg)&quot;]);
-
-testFilterRule(&quot;Degrees float value converts to integer&quot;,
-               &quot;hue-rotate(10.0deg)&quot;, 1, &quot;hue-rotate(10deg)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(10deg)&quot;]);
-
-testFilterRule(&quot;Radians value&quot;,
-               &quot;hue-rotate(10rad)&quot;, 1, &quot;hue-rotate(10rad)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(10rad)&quot;]);
-
-testFilterRule(&quot;Gradians value&quot;,
-               &quot;hue-rotate(10grad)&quot;, 1, &quot;hue-rotate(10grad)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(10grad)&quot;]);
-
-testFilterRule(&quot;Turns value&quot;,
-               &quot;hue-rotate(0.5turn)&quot;, 1, &quot;hue-rotate(0.5turn)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(0.5turn)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;hue-rotate(0)&quot;, 1, &quot;hue-rotate(0deg)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate(0deg)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;hue-rotate()&quot;, 1, &quot;hue-rotate()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-               [&quot;hue-rotate()&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2, &quot;hue-rotate(10deg) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;invert(1)&quot;, 1, &quot;invert(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;invert(50%)&quot;, 1, &quot;invert(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;invert(1.0)&quot;, 1, &quot;invert(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;invert(0)&quot;, 1, &quot;invert(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;invert()&quot;, 1, &quot;invert()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;invert(0.5) invert(0.25)&quot;, 2, &quot;invert(0.5) invert(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-               [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;invert(0.5) grayscale(0.25)&quot;, 2, &quot;invert(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-               &quot;opacity(1)&quot;, 1, &quot;opacity(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-               &quot;opacity(50%)&quot;, 1, &quot;opacity(50%)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-               &quot;opacity(1.0)&quot;, 1, &quot;opacity(1)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-               &quot;opacity(0)&quot;, 1, &quot;opacity(0)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;opacity()&quot;, 1, &quot;opacity()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-               &quot;opacity(0.5) opacity(0.25)&quot;, 2, &quot;opacity(0.5) opacity(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-               [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-               &quot;opacity(0.5) grayscale(0.25)&quot;, 2, &quot;opacity(0.5) grayscale(0.25)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-               [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-              &quot;brightness(1)&quot;, 1, &quot;brightness(1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-              &quot;brightness(50%)&quot;, 1, &quot;brightness(50%)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(50%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-              &quot;brightness(1.0)&quot;, 1, &quot;brightness(1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-              &quot;brightness(0)&quot;, 1, &quot;brightness(0)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-              &quot;brightness()&quot;, 1, &quot;brightness()&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness()&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-              &quot;brightness(0.5) brightness(0.25)&quot;, 2, &quot;brightness(0.5) brightness(0.25)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-              &quot;brightness(0.5) grayscale(0.25)&quot;, 2, &quot;brightness(0.5) grayscale(0.25)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-              [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Parameter less than -100%&quot;,
-              &quot;brightness(-1.1)&quot;, 1, &quot;brightness(-1.1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(-1.1)&quot;]);
-
-testFilterRule(&quot;Parameter more than 100%&quot;,
-              &quot;brightness(101%)&quot;, 1, &quot;brightness(101%)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;brightness(101%)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-              &quot;grayscale(0.25) brightness(0.5)&quot;, 2, &quot;grayscale(0.25) brightness(0.5)&quot;,
-              [ &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-              [&quot;grayscale(0.25)&quot;, &quot;brightness(0.5)&quot;]);
-
-testFilterRule(&quot;Integer value&quot;,
-              &quot;contrast(1)&quot;, 1, &quot;contrast(1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(1)&quot;]);
-
-testFilterRule(&quot;Percentage value&quot;,
-              &quot;contrast(50%)&quot;, 1, &quot;contrast(50%)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(50%)&quot;]);
-
-testFilterRule(&quot;Percentage value &gt; 1&quot;,
-              &quot;contrast(250%)&quot;, 1, &quot;contrast(250%)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(250%)&quot;]);
-
-testFilterRule(&quot;Float value converts to integer&quot;,
-              &quot;contrast(1.0)&quot;, 1, &quot;contrast(1)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(1)&quot;]);
-
-testFilterRule(&quot;Zero value&quot;,
-              &quot;contrast(0)&quot;, 1, &quot;contrast(0)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(0)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-              &quot;contrast()&quot;, 1, &quot;contrast()&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast()&quot;]);
-
-testFilterRule(&quot;Value greater than one&quot;,
-              &quot;contrast(2)&quot;, 1, &quot;contrast(2)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(2)&quot;]);
-
-testFilterRule(&quot;Multiple values&quot;,
-              &quot;contrast(0.5) contrast(0.25)&quot;, 2, &quot;contrast(0.5) contrast(0.25)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-              &quot;contrast(0.5) grayscale(0.25)&quot;, 2, &quot;contrast(0.5) grayscale(0.25)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-              [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testFilterRule(&quot;Rule combinations&quot;,
-              &quot;grayscale(0.25) contrast(0.5)&quot;, 2, &quot;grayscale(0.25) contrast(0.5)&quot;,
-              [ &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-              [&quot;grayscale(0.25)&quot;, &quot;contrast(0.5)&quot;]);
-
-testFilterRule(&quot;One zero to px&quot;,
-               &quot;blur(0)&quot;, 1, &quot;blur(0px)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-               [&quot;blur(0px)&quot;]);
-
-testFilterRule(&quot;One length&quot;,
-               &quot;blur(10px)&quot;, 1, &quot;blur(10px)&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-               [&quot;blur(10px)&quot;]);
-
-testFilterRule(&quot;No values&quot;,
-               &quot;blur()&quot;, 1, &quot;blur()&quot;,
-               [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-               [&quot;blur()&quot;]);
-
-testFilterRule(&quot;Color then three values&quot;,
-              &quot;drop-shadow(red 1px 2px 3px)&quot;, 1, &quot;drop-shadow(red 1px 2px 3px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(red 1px 2px 3px)&quot;]);
-
-testFilterRule(&quot;Three values then color&quot;,
-              &quot;drop-shadow(1px 2px 3px red)&quot;, 1, &quot;drop-shadow(red 1px 2px 3px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(red 1px 2px 3px)&quot;]);
-
-testFilterRule(&quot;Color then three values with zero length&quot;,
-              &quot;drop-shadow(#abc 0 0 0)&quot;, 1, &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
-
-testFilterRule(&quot;Three values with zero length&quot;,
-              &quot;drop-shadow(0 0 0)&quot;, 1, &quot;drop-shadow(0px 0px 0px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(0px 0px 0px)&quot;]);
-
-testFilterRule(&quot;Two values no color&quot;,
-              &quot;drop-shadow(1px 2px)&quot;, 1, &quot;drop-shadow(1px 2px)&quot;,
-              [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-              [&quot;drop-shadow(1px 2px)&quot;]);
-
-testFilterRule(&quot;Multiple operations&quot;,
-               &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;, 8,
-               &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)&quot;,
-               [
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;,
-                   &quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;
-               ],
-               [
-                   &quot;grayscale(0.5)&quot;,
-                   &quot;sepia(0.25)&quot;,
-                   &quot;saturate(0.75)&quot;,
-                   &quot;hue-rotate(35deg)&quot;,
-                   &quot;invert(0.2)&quot;,
-                   &quot;opacity(0.9)&quot;,
-                   &quot;blur(5px)&quot;,
-                   &quot;drop-shadow(green 1px 2px 3px)&quot;
-               ]);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersscripttestsfilterpropertyjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/script-tests/filter-property.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/script-tests/filter-property.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/script-tests/filter-property.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-description(&quot;Test the parsing of the -webkit-filter property.&quot;);
-
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-var stylesheet = styleElement.sheet;
-
-// add a -webkit-filter property to the start of the stylesheet
-stylesheet.addRule(&quot;body&quot;, &quot;-webkit-filter: url(#a) url(#b)&quot;, 0);
-
-var cssRule = stylesheet.cssRules.item(0);
-
-shouldBe(&quot;cssRule.type&quot;, &quot;1&quot;);
-
-var declaration = cssRule.style;
-shouldBe(&quot;declaration.length&quot;, &quot;1&quot;);
-shouldBe(&quot;declaration.getPropertyValue('-webkit-filter')&quot;, &quot;'url(#a) url(#b)'&quot;);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersscripttestsunprefixedjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/css3/filters/script-tests/unprefixed.js (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/script-tests/unprefixed.js        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/script-tests/unprefixed.js        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,383 +0,0 @@
</span><del>-description(&quot;Test that -webkit-filter matches filter.&quot;);
-
-// These have to be global for the test helpers to see them.
-var stylesheet, filterStyle, subRule;
-var styleElement = document.createElement(&quot;style&quot;);
-document.head.appendChild(styleElement);
-stylesheet = styleElement.sheet;
-
-function testComputedFilterRule(description, rule, expectedLength, expectedTypes, expectedTexts)
-{
-    debug(&quot;&quot;);
-    debug(description + &quot; : &quot; + rule);
-
-    stylesheet.insertRule(&quot;body { -webkit-filter: &quot; + rule + &quot;; }&quot;, 0);
-
-    filterStyle = window.getComputedStyle(document.body).getPropertyCSSValue(&quot;filter&quot;);
-    shouldBe(&quot;filterStyle.length&quot;, &quot;&quot; + expectedLength);
-    for (var i = 0; i &lt; expectedLength; i++) {
-        subRule = filterStyle[i];
-        shouldBe(&quot;subRule.operationType&quot;, expectedTypes[i]);
-        shouldBe(&quot;subRule.cssText&quot;, &quot;'&quot; + expectedTexts[i] + &quot;'&quot;);
-    }
-    stylesheet.deleteRule(0);
-}
-
-testComputedFilterRule(&quot;Basic reference&quot;,
-                       &quot;url('#a')&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
-                       &quot;url(#a)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Multiple references&quot;,
-                       &quot;url('#a') url('#b')&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
-
-testComputedFilterRule(&quot;Reference as 2nd value&quot;,
-                       &quot;grayscale(1) url('#a')&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_REFERENCE&quot;],
-                       [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;grayscale(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;grayscale(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;grayscale(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;grayscale()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;grayscale(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;sepia(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;sepia(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;sepia(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;sepia()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;sepia(0.5) sepia(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;],
-                       [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;sepia(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;saturate(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;saturate(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;saturate(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;saturate()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;saturate(0.5) saturate(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;],
-                       [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;saturate(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Degrees value as integer&quot;,
-                       &quot;hue-rotate(10deg)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;]);
-
-testComputedFilterRule(&quot;Degrees float value converts to integer&quot;,
-                       &quot;hue-rotate(10.0deg)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;]);
-
-testComputedFilterRule(&quot;Radians value&quot;,
-                       &quot;hue-rotate(10rad)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(572.9577951308232deg)&quot;]);
-
-testComputedFilterRule(&quot;Gradians value&quot;,
-                       &quot;hue-rotate(10grad)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(9deg)&quot;]);
-
-testComputedFilterRule(&quot;Turns value&quot;,
-                       &quot;hue-rotate(0.5turn)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(180deg)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;hue-rotate(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(0deg)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;hue-rotate()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;],
-                       [&quot;hue-rotate(0deg)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;invert(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;invert(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;invert(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;invert()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;invert(0.5) invert(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;],
-                       [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;invert(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                       &quot;opacity(1)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                       &quot;opacity(1.0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                       &quot;opacity(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;opacity()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                       &quot;opacity(0.5) opacity(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;],
-                       [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                       &quot;opacity(0.5) grayscale(0.25)&quot;, 2,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                       [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                      &quot;brightness(1)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(1)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                      &quot;brightness(1.0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                      &quot;brightness(0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                      &quot;brightness()&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                      &quot;brightness(0.5) brightness(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;],
-                      [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                      &quot;brightness(0.5) grayscale(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                      [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Integer value&quot;,
-                      &quot;contrast(1)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Value greater than 1&quot;,
-                      &quot;contrast(2)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(2)&quot;]);
-
-testComputedFilterRule(&quot;Float value converts to integer&quot;,
-                      &quot;contrast(1.0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Zero value&quot;,
-                      &quot;contrast(0)&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(0)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                      &quot;contrast()&quot;, 1,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(1)&quot;]);
-
-testComputedFilterRule(&quot;Multiple values&quot;,
-                      &quot;contrast(0.5) contrast(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;],
-                      [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
-
-testComputedFilterRule(&quot;Rule combinations&quot;,
-                      &quot;contrast(0.5) grayscale(0.25)&quot;, 2,
-                      [&quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;, &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;],
-                      [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
-
-testComputedFilterRule(&quot;One zero to px&quot;,
-                       &quot;blur(0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(0px)&quot;]);
-
-testComputedFilterRule(&quot;One length&quot;,
-                       &quot;blur(2em)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(32px)&quot;]);
-
-testComputedFilterRule(&quot;One length&quot;,
-                       &quot;blur(5px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(5px)&quot;]);
-
-testComputedFilterRule(&quot;No values&quot;,
-                       &quot;blur()&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;],
-                       [&quot;blur(0px)&quot;]);
-
-testComputedFilterRule(&quot;Color then three values&quot;,
-                       &quot;drop-shadow(red 1px 2px 3px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
-
-testComputedFilterRule(&quot;Three values then color&quot;,
-                       &quot;drop-shadow(1px 2px 3px red)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
-
-testComputedFilterRule(&quot;Color then three values with zero length&quot;,
-                       &quot;drop-shadow(#abc 0 0 0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Three values with zero length&quot;,
-                       &quot;drop-shadow(0 0 0)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Two values no color&quot;,
-                       &quot;drop-shadow(1px 2px)&quot;, 1,
-                       [&quot;WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW&quot;],
-                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;]);
-
-testComputedFilterRule(&quot;Multiple operations&quot;,
-                       &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)&quot;, 7,
-                       [
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;,
-                           &quot;WebKitCSSFilterValue.CSS_FILTER_BLUR&quot;,
-               ],
-                       [
-                           &quot;grayscale(0.5)&quot;,
-                           &quot;sepia(0.25)&quot;,
-                           &quot;saturate(0.75)&quot;,
-                           &quot;hue-rotate(35deg)&quot;,
-                           &quot;invert(0.2)&quot;,
-                           &quot;opacity(0.9)&quot;,
-                           &quot;blur(5px)&quot;
-               ]);
-
-testComputedFilterRule(&quot;Percentage values&quot;,
-                      &quot;grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)&quot;, 7,
-                      [
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_SEPIA&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_SATURATE&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_INVERT&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_OPACITY&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS&quot;,
-                          &quot;WebKitCSSFilterValue.CSS_FILTER_CONTRAST&quot;
-              ],
-                      [
-                          &quot;grayscale(0.5)&quot;,
-                          &quot;sepia(0.25)&quot;,
-                          &quot;saturate(0.75)&quot;,
-                          &quot;invert(0.2)&quot;,
-                          &quot;opacity(0.9)&quot;,
-                          &quot;brightness(0.6)&quot;,
-                          &quot;contrast(0.3)&quot;
-              ]);
-
-successfullyParsed = true;
</del></span></pre></div>
<a id="trunkLayoutTestscss3filtersunprefixedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/unprefixed-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/unprefixed-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/unprefixed-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,384 +6,291 @@
</span><span class="cx"> 
</span><span class="cx"> Basic reference : url('#a')
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Bare unquoted reference converting to quoted form : url(#a)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple references : url('#a') url('#b')
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#b)'
</del><ins>+PASS subRule.cssText is &quot;url(#a)&quot;
+PASS subRule.cssText is &quot;url(#b)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Reference as 2nd value : grayscale(1) url('#a')
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_REFERENCE
-PASS subRule.cssText is 'url(#a)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
+PASS subRule.cssText is &quot;url(#a)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : grayscale(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : grayscale(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : grayscale(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : grayscale()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(1)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : grayscale(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : sepia(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : sepia(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : sepia(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : sepia()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(1)'
</del><ins>+PASS subRule.cssText is &quot;sepia(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : sepia(0.5) sepia(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : sepia(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;sepia(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : saturate(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : saturate(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : saturate(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : saturate()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(1)'
</del><ins>+PASS subRule.cssText is &quot;saturate(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : saturate(0.5) saturate(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;saturate(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : saturate(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;saturate(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees value as integer : hue-rotate(10deg)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Degrees float value converts to integer : hue-rotate(10.0deg)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Radians value : hue-rotate(10rad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(572.9577951308232deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(572.9577951308232deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Gradians value : hue-rotate(10grad)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(9deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(9deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Turns value : hue-rotate(0.5turn)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(180deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(180deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : hue-rotate(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : hue-rotate()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(0deg)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(0deg)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : hue-rotate(10deg) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(10deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;hue-rotate(10deg)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : invert(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : invert(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : invert(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0)'
</del><ins>+PASS subRule.cssText is &quot;invert(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : invert()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(1)'
</del><ins>+PASS subRule.cssText is &quot;invert(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : invert(0.5) invert(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;invert(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : invert(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;invert(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : opacity(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : opacity(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : opacity(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : opacity()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(1)'
</del><ins>+PASS subRule.cssText is &quot;opacity(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : opacity(0.5) opacity(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;opacity(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : opacity(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;opacity(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : brightness(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : brightness(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(1)'
</del><ins>+PASS subRule.cssText is &quot;brightness(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : brightness(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : brightness()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : brightness(0.5) brightness(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;brightness(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : brightness(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;brightness(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Integer value : contrast(1)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Value greater than 1 : contrast(2)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(2)'
</del><ins>+PASS subRule.cssText is &quot;contrast(2)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Float value converts to integer : contrast(1.0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Zero value : contrast(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : contrast()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(1)'
</del><ins>+PASS subRule.cssText is &quot;contrast(1)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple values : contrast(0.5) contrast(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;contrast(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Rule combinations : contrast(0.5) grayscale(0.25)
</span><span class="cx"> PASS filterStyle.length is 2
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.25)'
</del><ins>+PASS subRule.cssText is &quot;contrast(0.5)&quot;
+PASS subRule.cssText is &quot;grayscale(0.25)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One zero to px : blur(0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(0px)'
</del><ins>+PASS subRule.cssText is &quot;blur(0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One length : blur(2em)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(32px)'
</del><ins>+PASS subRule.cssText is &quot;blur(32px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> One length : blur(5px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(5px)'
</del><ins>+PASS subRule.cssText is &quot;blur(5px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> No values : blur()
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(0px)'
</del><ins>+PASS subRule.cssText is &quot;blur(0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values : drop-shadow(red 1px 2px 3px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(255, 0, 0) 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values then color : drop-shadow(1px 2px 3px red)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(255, 0, 0) 1px 2px 3px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Color then three values with zero length : drop-shadow(#abc 0 0 0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgb(170, 187, 204) 0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Three values with zero length : drop-shadow(0 0 0)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Two values no color : drop-shadow(1px 2px)
</span><span class="cx"> PASS filterStyle.length is 1
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_DROP_SHADOW
-PASS subRule.cssText is 'drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)'
</del><ins>+PASS subRule.cssText is &quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Multiple operations : grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)
</span><span class="cx"> PASS filterStyle.length is 7
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.75)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_HUE_ROTATE
-PASS subRule.cssText is 'hue-rotate(35deg)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.2)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.9)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BLUR
-PASS subRule.cssText is 'blur(5px)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
+PASS subRule.cssText is &quot;saturate(0.75)&quot;
+PASS subRule.cssText is &quot;hue-rotate(35deg)&quot;
+PASS subRule.cssText is &quot;invert(0.2)&quot;
+PASS subRule.cssText is &quot;opacity(0.9)&quot;
+PASS subRule.cssText is &quot;blur(5px)&quot;
</ins><span class="cx"> 
</span><span class="cx"> Percentage values : grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)
</span><span class="cx"> PASS filterStyle.length is 7
</span><del>-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_GRAYSCALE
-PASS subRule.cssText is 'grayscale(0.5)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SEPIA
-PASS subRule.cssText is 'sepia(0.25)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_SATURATE
-PASS subRule.cssText is 'saturate(0.75)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_INVERT
-PASS subRule.cssText is 'invert(0.2)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_OPACITY
-PASS subRule.cssText is 'opacity(0.9)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_BRIGHTNESS
-PASS subRule.cssText is 'brightness(0.6)'
-PASS subRule.operationType is WebKitCSSFilterValue.CSS_FILTER_CONTRAST
-PASS subRule.cssText is 'contrast(0.3)'
</del><ins>+PASS subRule.cssText is &quot;grayscale(0.5)&quot;
+PASS subRule.cssText is &quot;sepia(0.25)&quot;
+PASS subRule.cssText is &quot;saturate(0.75)&quot;
+PASS subRule.cssText is &quot;invert(0.2)&quot;
+PASS subRule.cssText is &quot;opacity(0.9)&quot;
+PASS subRule.cssText is &quot;brightness(0.6)&quot;
+PASS subRule.cssText is &quot;contrast(0.3)&quot;
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestscss3filtersunprefixedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/filters/unprefixed.html (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/filters/unprefixed.html        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/css3/filters/unprefixed.html        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -6,7 +6,309 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
</span><span class="cx"> &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
</span><del>-&lt;script src=&quot;script-tests/unprefixed.js&quot;&gt;&lt;/script&gt;
</del><ins>+&lt;script&gt;
+description(&quot;Test that -webkit-filter matches filter.&quot;);
+
+// These have to be global for the test helpers to see them.
+var stylesheet, filterStyle, subRule;
+var styleElement = document.createElement(&quot;style&quot;);
+document.head.appendChild(styleElement);
+stylesheet = styleElement.sheet;
+
+function testComputedFilterRule(description, rule, expectedLength, expectedTexts)
+{
+    debug(&quot;&quot;);
+    debug(`${description} : ${rule}`);
+
+    stylesheet.insertRule(`body { -webkit-filter: ${rule}; }`, 0);
+
+    filterStyle = window.getComputedStyle(document.body).getPropertyCSSValue(&quot;filter&quot;);
+    shouldBe(&quot;filterStyle.length&quot;, &quot;&quot; + expectedLength);
+    for (var i = 0; i &lt; expectedLength; i++) {
+        subRule = filterStyle[i];
+        shouldBe(&quot;subRule.cssText&quot;, `&quot;${expectedTexts[i]}&quot;`);
+    }
+    stylesheet.deleteRule(0);
+}
+
+testComputedFilterRule(&quot;Basic reference&quot;,
+                       &quot;url('#a')&quot;, 1,
+                       [&quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Bare unquoted reference converting to quoted form&quot;,
+                       &quot;url(#a)&quot;, 1,
+                       [&quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Multiple references&quot;,
+                       &quot;url('#a') url('#b')&quot;, 2,
+                       [&quot;url(#a)&quot;, &quot;url(#b)&quot;]);
+
+testComputedFilterRule(&quot;Reference as 2nd value&quot;,
+                       &quot;grayscale(1) url('#a')&quot;, 2,
+                       [&quot;grayscale(1)&quot;, &quot;url(#a)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;grayscale(1)&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;grayscale(1.0)&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;grayscale(0)&quot;, 1,
+                       [&quot;grayscale(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;grayscale()&quot;, 1,
+                       [&quot;grayscale(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;grayscale(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;grayscale(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;sepia(1)&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;sepia(1.0)&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;sepia(0)&quot;, 1,
+                       [&quot;sepia(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;sepia()&quot;, 1,
+                       [&quot;sepia(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;sepia(0.5) sepia(0.25)&quot;, 2,
+                       [&quot;sepia(0.5)&quot;, &quot;sepia(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;sepia(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;sepia(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;saturate(1)&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;saturate(1.0)&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;saturate(0)&quot;, 1,
+                       [&quot;saturate(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;saturate()&quot;, 1,
+                       [&quot;saturate(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;saturate(0.5) saturate(0.25)&quot;, 2,
+                       [&quot;saturate(0.5)&quot;, &quot;saturate(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;saturate(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;saturate(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Degrees value as integer&quot;,
+                       &quot;hue-rotate(10deg)&quot;, 1,
+                       [&quot;hue-rotate(10deg)&quot;]);
+
+testComputedFilterRule(&quot;Degrees float value converts to integer&quot;,
+                       &quot;hue-rotate(10.0deg)&quot;, 1,
+                       [&quot;hue-rotate(10deg)&quot;]);
+
+testComputedFilterRule(&quot;Radians value&quot;,
+                       &quot;hue-rotate(10rad)&quot;, 1,
+                       [&quot;hue-rotate(572.9577951308232deg)&quot;]);
+
+testComputedFilterRule(&quot;Gradians value&quot;,
+                       &quot;hue-rotate(10grad)&quot;, 1,
+                       [&quot;hue-rotate(9deg)&quot;]);
+
+testComputedFilterRule(&quot;Turns value&quot;,
+                       &quot;hue-rotate(0.5turn)&quot;, 1,
+                       [&quot;hue-rotate(180deg)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;hue-rotate(0)&quot;, 1,
+                       [&quot;hue-rotate(0deg)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;hue-rotate()&quot;, 1,
+                       [&quot;hue-rotate(0deg)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;hue-rotate(10deg) grayscale(0.25)&quot;, 2,
+                       [&quot;hue-rotate(10deg)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;invert(1)&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;invert(1.0)&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;invert(0)&quot;, 1,
+                       [&quot;invert(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;invert()&quot;, 1,
+                       [&quot;invert(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;invert(0.5) invert(0.25)&quot;, 2,
+                       [&quot;invert(0.5)&quot;, &quot;invert(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;invert(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;invert(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                       &quot;opacity(1)&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                       &quot;opacity(1.0)&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                       &quot;opacity(0)&quot;, 1,
+                       [&quot;opacity(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;opacity()&quot;, 1,
+                       [&quot;opacity(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                       &quot;opacity(0.5) opacity(0.25)&quot;, 2,
+                       [&quot;opacity(0.5)&quot;, &quot;opacity(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                       &quot;opacity(0.5) grayscale(0.25)&quot;, 2,
+                       [&quot;opacity(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                      &quot;brightness(1)&quot;, 1,
+                      [&quot;brightness(1)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                      &quot;brightness(1.0)&quot;, 1,
+                      [&quot;brightness(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                      &quot;brightness(0)&quot;, 1,
+                      [&quot;brightness(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                      &quot;brightness()&quot;, 1,
+                      [&quot;brightness(0)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                      &quot;brightness(0.5) brightness(0.25)&quot;, 2,
+                      [&quot;brightness(0.5)&quot;, &quot;brightness(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                      &quot;brightness(0.5) grayscale(0.25)&quot;, 2,
+                      [&quot;brightness(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Integer value&quot;,
+                      &quot;contrast(1)&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Value greater than 1&quot;,
+                      &quot;contrast(2)&quot;, 1,
+                      [&quot;contrast(2)&quot;]);
+
+testComputedFilterRule(&quot;Float value converts to integer&quot;,
+                      &quot;contrast(1.0)&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Zero value&quot;,
+                      &quot;contrast(0)&quot;, 1,
+                      [&quot;contrast(0)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                      &quot;contrast()&quot;, 1,
+                      [&quot;contrast(1)&quot;]);
+
+testComputedFilterRule(&quot;Multiple values&quot;,
+                      &quot;contrast(0.5) contrast(0.25)&quot;, 2,
+                      [&quot;contrast(0.5)&quot;, &quot;contrast(0.25)&quot;]);
+
+testComputedFilterRule(&quot;Rule combinations&quot;,
+                      &quot;contrast(0.5) grayscale(0.25)&quot;, 2,
+                      [&quot;contrast(0.5)&quot;, &quot;grayscale(0.25)&quot;]);
+
+testComputedFilterRule(&quot;One zero to px&quot;,
+                       &quot;blur(0)&quot;, 1,
+                       [&quot;blur(0px)&quot;]);
+
+testComputedFilterRule(&quot;One length&quot;,
+                       &quot;blur(2em)&quot;, 1,
+                       [&quot;blur(32px)&quot;]);
+
+testComputedFilterRule(&quot;One length&quot;,
+                       &quot;blur(5px)&quot;, 1,
+                       [&quot;blur(5px)&quot;]);
+
+testComputedFilterRule(&quot;No values&quot;,
+                       &quot;blur()&quot;, 1,
+                       [&quot;blur(0px)&quot;]);
+
+testComputedFilterRule(&quot;Color then three values&quot;,
+                       &quot;drop-shadow(red 1px 2px 3px)&quot;, 1,
+                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
+
+testComputedFilterRule(&quot;Three values then color&quot;,
+                       &quot;drop-shadow(1px 2px 3px red)&quot;, 1,
+                       [&quot;drop-shadow(rgb(255, 0, 0) 1px 2px 3px)&quot;]);
+
+testComputedFilterRule(&quot;Color then three values with zero length&quot;,
+                       &quot;drop-shadow(#abc 0 0 0)&quot;, 1,
+                       [&quot;drop-shadow(rgb(170, 187, 204) 0px 0px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Three values with zero length&quot;,
+                       &quot;drop-shadow(0 0 0)&quot;, 1,
+                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 0px 0px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Two values no color&quot;,
+                       &quot;drop-shadow(1px 2px)&quot;, 1,
+                       [&quot;drop-shadow(rgba(0, 0, 0, 0) 1px 2px 0px)&quot;]);
+
+testComputedFilterRule(&quot;Multiple operations&quot;,
+                       &quot;grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)&quot;, 7,
+                       [
+                           &quot;grayscale(0.5)&quot;,
+                           &quot;sepia(0.25)&quot;,
+                           &quot;saturate(0.75)&quot;,
+                           &quot;hue-rotate(35deg)&quot;,
+                           &quot;invert(0.2)&quot;,
+                           &quot;opacity(0.9)&quot;,
+                           &quot;blur(5px)&quot;
+                       ]);
+
+testComputedFilterRule(&quot;Percentage values&quot;,
+                      &quot;grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)&quot;, 7,
+                      [
+                          &quot;grayscale(0.5)&quot;,
+                          &quot;sepia(0.25)&quot;,
+                          &quot;saturate(0.75)&quot;,
+                          &quot;invert(0.2)&quot;,
+                          &quot;opacity(0.9)&quot;,
+                          &quot;brightness(0.6)&quot;,
+                          &quot;contrast(0.3)&quot;
+                      ]);
+
+successfullyParsed = true;
+&lt;/script&gt;
</ins><span class="cx"> &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1973,11 +1973,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').value is WebKitCSSFilterValue
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').value is WebKitCSSMatrix
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformefljsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -2048,11 +2048,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').value is WebKitCSSFilterValue
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').value is WebKitCSSMatrix
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -2303,11 +2303,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').value is WebKitCSSFilterValue
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').value is WebKitCSSMatrix
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -2368,11 +2368,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').value is WebKitCSSFilterValue
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').value is WebKitCSSMatrix
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk1jsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -2343,11 +2343,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').value is WebKitCSSFilterValue
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').value is WebKitCSSMatrix
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacyosemitejsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -2368,11 +2368,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').value is WebKitCSSFilterValue
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').value is WebKitCSSMatrix
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1768,11 +1768,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitAnimationEvent').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').value is WebKitCSSFilterValue
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSFilterValue').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').value is WebKitCSSMatrix
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'WebKitCSSMatrix').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -368,7 +368,6 @@
</span><span class="cx">     css/StyleMedia.idl
</span><span class="cx">     css/StyleSheet.idl
</span><span class="cx">     css/StyleSheetList.idl
</span><del>-    css/WebKitCSSFilterValue.idl
</del><span class="cx">     css/WebKitCSSMatrix.idl
</span><span class="cx">     css/WebKitCSSRegionRule.idl
</span><span class="cx">     css/WebKitCSSTransformValue.idl
</span><span class="lines">@@ -1370,7 +1369,6 @@
</span><span class="cx">     css/StyleSheetList.cpp
</span><span class="cx">     css/TransformFunctions.cpp
</span><span class="cx">     css/ViewportStyleResolver.cpp
</span><del>-    css/WebKitCSSFilterValue.cpp
</del><span class="cx">     css/WebKitCSSMatrix.cpp
</span><span class="cx">     css/WebKitCSSRegionRule.cpp
</span><span class="cx">     css/WebKitCSSTransformValue.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/ChangeLog        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2016-11-01  Dean Jackson  &lt;dino@apple.com&gt;
+
+        Remove WebKitCSSFilterValue to make Hyatt happy
+        https://bugs.webkit.org/show_bug.cgi?id=164289
+        &lt;rdar://problems/29050973&gt;
+
+        Reviewed by Simon Fraser.
+
+        The new CSS parser should not use WebKitCSSFilterValue. It's non-standard,
+        very likely only used in our tests, doesn't provide much benefit, and will be
+        covered by the new CSSOM function interface.
+
+        Covered by modifying existing tests.
+
+        * DerivedSources.make: Remove WebKitCSSFilterValue.idl.
+
+        * WebCore.xcodeproj/project.pbxproj: Make CSSFunctionValue.h private so API testing
+        can see it.
+
+        * bindings/js/JSCSSValueCustom.cpp:
+        (WebCore::toJSNewlyCreated): No WebKitCSSFilterValue.
+
+        * css/CSSComputedStyleDeclaration.cpp: Use CSSFunctionValue or CSSPrimitiveValue to
+        build up the computed style.
+        (WebCore::ComputedStyleExtractor::valueForFilter):
+
+        * css/CSSValue.cpp: No WebKitCSSFilterValue.
+        (WebCore::CSSValue::equals):
+        (WebCore::CSSValue::cssText):
+        (WebCore::CSSValue::destroy):
+        (WebCore::CSSValue::cloneForCSSOM):
+        * css/CSSValue.h:
+        (WebCore::CSSValue::isFilterImageValue):
+        (WebCore::CSSValue::isWebKitCSSFilterValue): Deleted.
+
+        * css/StyleResolver.cpp: Resolve against CSSFunctionValues with
+        CSSValueIDs as name, rather than WebKitCSSFilterValue.
+        (WebCore::filterOperationForType):
+        (WebCore::StyleResolver::createFilterOperations):
+        * css/StyleResolver.h:
+
+        * css/WebKitCSSFilterValue.cpp: Removed.
+        * css/WebKitCSSFilterValue.h: Removed.
+        * css/WebKitCSSFilterValue.idl: Removed.
+
+        * css/parser/CSSParser.cpp: Parse into CSSPrimitiveValue and CSSFunctionValue.
+        (WebCore::isValidPrimitiveFilterFunction):
+        (WebCore::CSSParser::parseBuiltinFilterArguments):
+        (WebCore::cssValueKeywordIDForFunctionName):
+        (WebCore::CSSParser::parseFilter):
+        (WebCore::filterInfoForName): Deleted.
+        * css/parser/CSSParser.h:
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::consumeFilterFunction):
+
</ins><span class="cx"> 2016-11-01  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add ViewportAPI to features.json
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/DerivedSources.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -639,7 +639,6 @@
</span><span class="cx"> #include &quot;JSVoidCallback.cpp&quot;
</span><span class="cx"> #include &quot;JSWaveShaperNode.cpp&quot;
</span><span class="cx"> #include &quot;JSWebKitAnimationEvent.cpp&quot;
</span><del>-#include &quot;JSWebKitCSSFilterValue.cpp&quot;
</del><span class="cx"> #include &quot;JSWebKitCSSTransformValue.cpp&quot;
</span><span class="cx"> #include &quot;JSWebKitCSSMatrix.cpp&quot;
</span><span class="cx"> #include &quot;JSWebKitCSSRegionRule.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/DerivedSources.make        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -277,7 +277,6 @@
</span><span class="cx">     $(WebCore)/css/StyleMedia.idl \
</span><span class="cx">     $(WebCore)/css/StyleSheet.idl \
</span><span class="cx">     $(WebCore)/css/StyleSheetList.idl \
</span><del>-    $(WebCore)/css/WebKitCSSFilterValue.idl \
</del><span class="cx">     $(WebCore)/css/WebKitCSSMatrix.idl \
</span><span class="cx">     $(WebCore)/css/WebKitCSSRegionRule.idl \
</span><span class="cx">     $(WebCore)/css/WebKitCSSTransformValue.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1326,10 +1326,6 @@
</span><span class="cx">                 2EF1BFEB121C9F4200C27627 /* FileStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EF1BFE9121C9F4200C27627 /* FileStream.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 2EF1BFF9121CB0CE00C27627 /* FileStreamClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EF1BFF8121CB0CE00C27627 /* FileStreamClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 3103B7DF1DB01567008BB890 /* ColorHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 3103B7DE1DB01556008BB890 /* ColorHash.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                3106036F14327D2E00ABF4BA /* WebKitCSSFilterValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3106036C14327D2E00ABF4BA /* WebKitCSSFilterValue.cpp */; };
-                3106037014327D2E00ABF4BA /* WebKitCSSFilterValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 3106036D14327D2E00ABF4BA /* WebKitCSSFilterValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                310603741432819C00ABF4BA /* JSWebKitCSSFilterValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 310603721432819C00ABF4BA /* JSWebKitCSSFilterValue.cpp */; };
-                310603751432819C00ABF4BA /* JSWebKitCSSFilterValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 310603731432819C00ABF4BA /* JSWebKitCSSFilterValue.h */; };
</del><span class="cx">                 31078CC71880AAB5008099DC /* OESTextureHalfFloatLinear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31078CC21880A6A6008099DC /* OESTextureHalfFloatLinear.cpp */; };
</span><span class="cx">                 31078CC81880AABB008099DC /* OESTextureHalfFloatLinear.h in Headers */ = {isa = PBXBuildFile; fileRef = 31078CC31880A6A6008099DC /* OESTextureHalfFloatLinear.h */; };
</span><span class="cx">                 31078CC91880AAC9008099DC /* JSOESTextureHalfFloatLinear.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31078CC51880AAAA008099DC /* JSOESTextureHalfFloatLinear.cpp */; };
</span><span class="lines">@@ -5095,7 +5091,7 @@
</span><span class="cx">                 BC00F0150E0A189500FD04E3 /* JSFile.h in Headers */ = {isa = PBXBuildFile; fileRef = BC00F0110E0A189500FD04E3 /* JSFile.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BC00F0160E0A189500FD04E3 /* JSFileList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC00F0120E0A189500FD04E3 /* JSFileList.cpp */; };
</span><span class="cx">                 BC00F0170E0A189500FD04E3 /* JSFileList.h in Headers */ = {isa = PBXBuildFile; fileRef = BC00F0130E0A189500FD04E3 /* JSFileList.h */; };
</span><del>-                BC02A63C0E09A9CF004B6D2B /* CSSFunctionValue.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02A63B0E09A9CF004B6D2B /* CSSFunctionValue.h */; };
</del><ins>+                BC02A63C0E09A9CF004B6D2B /* CSSFunctionValue.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02A63B0E09A9CF004B6D2B /* CSSFunctionValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 BC02A6460E09AAE9004B6D2B /* CSSFunctionValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02A6450E09AAE9004B6D2B /* CSSFunctionValue.cpp */; };
</span><span class="cx">                 BC06ED060BFD5BAE00856E9D /* JSHTMLTableSectionElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC06ED040BFD5BAE00856E9D /* JSHTMLTableSectionElement.cpp */; };
</span><span class="cx">                 BC06ED070BFD5BAE00856E9D /* JSHTMLTableSectionElement.h in Headers */ = {isa = PBXBuildFile; fileRef = BC06ED050BFD5BAE00856E9D /* JSHTMLTableSectionElement.h */; };
</span><span class="lines">@@ -8382,11 +8378,6 @@
</span><span class="cx">                 2EF1BFE9121C9F4200C27627 /* FileStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileStream.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2EF1BFF8121CB0CE00C27627 /* FileStreamClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileStreamClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 3103B7DE1DB01556008BB890 /* ColorHash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ColorHash.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                3106036C14327D2E00ABF4BA /* WebKitCSSFilterValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitCSSFilterValue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                3106036D14327D2E00ABF4BA /* WebKitCSSFilterValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitCSSFilterValue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                3106036E14327D2E00ABF4BA /* WebKitCSSFilterValue.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitCSSFilterValue.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
-                310603721432819C00ABF4BA /* JSWebKitCSSFilterValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitCSSFilterValue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                310603731432819C00ABF4BA /* JSWebKitCSSFilterValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebKitCSSFilterValue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 31078CC21880A6A6008099DC /* OESTextureHalfFloatLinear.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OESTextureHalfFloatLinear.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 31078CC31880A6A6008099DC /* OESTextureHalfFloatLinear.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OESTextureHalfFloatLinear.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 31078CC41880A6A6008099DC /* OESTextureHalfFloatLinear.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = OESTextureHalfFloatLinear.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -20123,8 +20114,6 @@
</span><span class="cx">                                 BCE013990C0BEF180043860A /* JSStyleSheet.h */,
</span><span class="cx">                                 A84EBD820CB8C97700079609 /* JSStyleSheetList.cpp */,
</span><span class="cx">                                 A84EBD810CB8C97700079609 /* JSStyleSheetList.h */,
</span><del>-                                310603721432819C00ABF4BA /* JSWebKitCSSFilterValue.cpp */,
-                                310603731432819C00ABF4BA /* JSWebKitCSSFilterValue.h */,
</del><span class="cx">                                 4983913D0F1E767500C23782 /* JSWebKitCSSMatrix.cpp */,
</span><span class="cx">                                 4983913E0F1E767500C23782 /* JSWebKitCSSMatrix.h */,
</span><span class="cx">                                 8ACC24CD148E24B200EFCC0D /* JSWebKitCSSRegionRule.cpp */,
</span><span class="lines">@@ -23242,9 +23231,6 @@
</span><span class="cx">                                 FB484F4B171F821E00040755 /* TransformFunctions.h */,
</span><span class="cx">                                 3FFFF9AB159D9B060020BBD5 /* ViewportStyleResolver.cpp */,
</span><span class="cx">                                 3FFFF9AC159D9B060020BBD5 /* ViewportStyleResolver.h */,
</span><del>-                                3106036C14327D2E00ABF4BA /* WebKitCSSFilterValue.cpp */,
-                                3106036D14327D2E00ABF4BA /* WebKitCSSFilterValue.h */,
-                                3106036E14327D2E00ABF4BA /* WebKitCSSFilterValue.idl */,
</del><span class="cx">                                 498391550F1E776900C23782 /* WebKitCSSMatrix.cpp */,
</span><span class="cx">                                 498391560F1E776900C23782 /* WebKitCSSMatrix.h */,
</span><span class="cx">                                 498391570F1E776900C23782 /* WebKitCSSMatrix.idl */,
</span><span class="lines">@@ -26223,7 +26209,6 @@
</span><span class="cx">                                 6F995A3A1A70833700A735F4 /* JSWebGLVertexArrayObject.h in Headers */,
</span><span class="cx">                                 77EF62F412F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.h in Headers */,
</span><span class="cx">                                 31C0FF3E0E4CEFAC007D6FE5 /* JSWebKitAnimationEvent.h in Headers */,
</span><del>-                                310603751432819C00ABF4BA /* JSWebKitCSSFilterValue.h in Headers */,
</del><span class="cx">                                 498391400F1E767500C23782 /* JSWebKitCSSMatrix.h in Headers */,
</span><span class="cx">                                 8AD0A59514C88336000D83C5 /* JSWebKitCSSRegionRule.h in Headers */,
</span><span class="cx">                                 31611E5B0E1C4DE000F6A579 /* JSWebKitCSSTransformValue.h in Headers */,
</span><span class="lines">@@ -27818,7 +27803,6 @@
</span><span class="cx">                                 31C0FF220E4CEB6E007D6FE5 /* WebKitAnimationEvent.h in Headers */,
</span><span class="cx">                                 5DFEBAB718592B6D00C75BEB /* WebKitAvailability.h in Headers */,
</span><span class="cx">                                 976D6C7C122B8A3D001FD1F7 /* WebKitBlobBuilder.h in Headers */,
</span><del>-                                3106037014327D2E00ABF4BA /* WebKitCSSFilterValue.h in Headers */,
</del><span class="cx">                                 498391590F1E776900C23782 /* WebKitCSSMatrix.h in Headers */,
</span><span class="cx">                                 8AA61D00144D595B00F37350 /* WebKitCSSRegionRule.h in Headers */,
</span><span class="cx">                                 BC9ADD230CC4032600098C4C /* WebKitCSSTransformValue.h in Headers */,
</span><span class="lines">@@ -30014,7 +29998,6 @@
</span><span class="cx">                                 6F995A391A70833700A735F4 /* JSWebGLVertexArrayObject.cpp in Sources */,
</span><span class="cx">                                 77EF62F312F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.cpp in Sources */,
</span><span class="cx">                                 31C0FF3D0E4CEFAC007D6FE5 /* JSWebKitAnimationEvent.cpp in Sources */,
</span><del>-                                310603741432819C00ABF4BA /* JSWebKitCSSFilterValue.cpp in Sources */,
</del><span class="cx">                                 4983913F0F1E767500C23782 /* JSWebKitCSSMatrix.cpp in Sources */,
</span><span class="cx">                                 8AD0A59414C88336000D83C5 /* JSWebKitCSSRegionRule.cpp in Sources */,
</span><span class="cx">                                 31611E5A0E1C4DE000F6A579 /* JSWebKitCSSTransformValue.cpp in Sources */,
</span><span class="lines">@@ -31294,7 +31277,6 @@
</span><span class="cx">                                 1A7E19461C5863BE00CCDDF3 /* WebKitAdditions.mm in Sources */,
</span><span class="cx">                                 31C0FF210E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp in Sources */,
</span><span class="cx">                                 976D6C7B122B8A3D001FD1F7 /* WebKitBlobBuilder.cpp in Sources */,
</span><del>-                                3106036F14327D2E00ABF4BA /* WebKitCSSFilterValue.cpp in Sources */,
</del><span class="cx">                                 498391580F1E776900C23782 /* WebKitCSSMatrix.cpp in Sources */,
</span><span class="cx">                                 8AA61CFF144D595B00F37350 /* WebKitCSSRegionRule.cpp in Sources */,
</span><span class="cx">                                 BC9ADD800CC4092200098C4C /* WebKitCSSTransformValue.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCSSValueCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCSSValueCustom.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCSSValueCustom.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/bindings/js/JSCSSValueCustom.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -33,11 +33,9 @@
</span><span class="cx"> #include &quot;JSNode.h&quot;
</span><span class="cx"> #include &quot;JSSVGColor.h&quot;
</span><span class="cx"> #include &quot;JSSVGPaint.h&quot;
</span><del>-#include &quot;JSWebKitCSSFilterValue.h&quot;
</del><span class="cx"> #include &quot;JSWebKitCSSTransformValue.h&quot;
</span><span class="cx"> #include &quot;SVGColor.h&quot;
</span><span class="cx"> #include &quot;SVGPaint.h&quot;
</span><del>-#include &quot;WebKitCSSFilterValue.h&quot;
</del><span class="cx"> #include &quot;WebKitCSSTransformValue.h&quot;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="lines">@@ -68,8 +66,6 @@
</span><span class="cx"> {
</span><span class="cx">     if (value-&gt;isWebKitCSSTransformValue())
</span><span class="cx">         return createWrapper&lt;WebKitCSSTransformValue&gt;(globalObject, WTFMove(value));
</span><del>-    if (value-&gt;isWebKitCSSFilterValue())
-        return createWrapper&lt;WebKitCSSFilterValue&gt;(globalObject, WTFMove(value));
</del><span class="cx">     if (value-&gt;isValueList())
</span><span class="cx">         return createWrapper&lt;CSSValueList&gt;(globalObject, WTFMove(value));
</span><span class="cx">     if (value-&gt;isSVGPaint())
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSAllInOne.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSAllInOne.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/CSSAllInOne.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -125,7 +125,6 @@
</span><span class="cx"> #include &quot;StyleSheetList.cpp&quot;
</span><span class="cx"> #include &quot;TransformFunctions.cpp&quot;
</span><span class="cx"> #include &quot;ViewportStyleResolver.cpp&quot;
</span><del>-#include &quot;WebKitCSSFilterValue.cpp&quot;
</del><span class="cx"> #include &quot;WebKitCSSMatrix.cpp&quot;
</span><span class="cx"> #include &quot;WebKitCSSRegionRule.cpp&quot;
</span><span class="cx"> #include &quot;WebKitCSSTransformValue.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -75,7 +75,6 @@
</span><span class="cx"> #include &quot;StyleResolver.h&quot;
</span><span class="cx"> #include &quot;StyleScope.h&quot;
</span><span class="cx"> #include &quot;Text.h&quot;
</span><del>-#include &quot;WebKitCSSFilterValue.h&quot;
</del><span class="cx"> #include &quot;WebKitCSSTransformValue.h&quot;
</span><span class="cx"> #include &quot;WebKitFontFamilyNames.h&quot;
</span><span class="cx"> #include &quot;WillChangeData.h&quot;
</span><span class="lines">@@ -915,87 +914,77 @@
</span><span class="cx"> 
</span><span class="cx">     auto list = CSSValueList::createSpaceSeparated();
</span><span class="cx"> 
</span><del>-    RefPtr&lt;WebKitCSSFilterValue&gt; filterValue;
-
</del><span class="cx">     Vector&lt;RefPtr&lt;FilterOperation&gt;&gt;::const_iterator end = filterOperations.operations().end();
</span><span class="cx">     for (Vector&lt;RefPtr&lt;FilterOperation&gt;&gt;::const_iterator it = filterOperations.operations().begin(); it != end; ++it) {
</span><span class="cx">         FilterOperation&amp; filterOperation = **it;
</span><del>-        switch (filterOperation.type()) {
-        case FilterOperation::REFERENCE: {
</del><ins>+
+        if (filterOperation.type() == FilterOperation::REFERENCE) {
</ins><span class="cx">             ReferenceFilterOperation&amp; referenceOperation = downcast&lt;ReferenceFilterOperation&gt;(filterOperation);
</span><del>-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::ReferenceFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(referenceOperation.url(), CSSPrimitiveValue::CSS_URI));
-            break;
</del><ins>+            list.get().append(cssValuePool.createValue(referenceOperation.url(), CSSPrimitiveValue::CSS_URI));
+        } else {
+            RefPtr&lt;CSSFunctionValue&gt; filterValue;
+            switch (filterOperation.type()) {
+            case FilterOperation::GRAYSCALE: {
+                filterValue = CSSFunctionValue::create(CSSValueGrayscale);
+                filterValue-&gt;append(cssValuePool.createValue(downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation).amount(), CSSPrimitiveValue::CSS_NUMBER));
+                break;
+            }
+            case FilterOperation::SEPIA: {
+                filterValue = CSSFunctionValue::create(CSSValueSepia);
+                filterValue-&gt;append(cssValuePool.createValue(downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation).amount(), CSSPrimitiveValue::CSS_NUMBER));
+                break;
+            }
+            case FilterOperation::SATURATE: {
+                filterValue = CSSFunctionValue::create(CSSValueSaturate);
+                filterValue-&gt;append(cssValuePool.createValue(downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation).amount(), CSSPrimitiveValue::CSS_NUMBER));
+                break;
+            }
+            case FilterOperation::HUE_ROTATE: {
+                filterValue = CSSFunctionValue::create(CSSValueHueRotate);
+                filterValue-&gt;append(cssValuePool.createValue(downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation).amount(), CSSPrimitiveValue::CSS_DEG));
+                break;
+            }
+            case FilterOperation::INVERT: {
+                filterValue = CSSFunctionValue::create(CSSValueInvert);
+                filterValue-&gt;append(cssValuePool.createValue(downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation).amount(), CSSPrimitiveValue::CSS_NUMBER));
+                break;
+            }
+            case FilterOperation::OPACITY: {
+                filterValue = CSSFunctionValue::create(CSSValueOpacity);
+                filterValue-&gt;append(cssValuePool.createValue(downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation).amount(), CSSPrimitiveValue::CSS_NUMBER));
+                break;
+            }
+            case FilterOperation::BRIGHTNESS: {
+                filterValue = CSSFunctionValue::create(CSSValueBrightness);
+                filterValue-&gt;append(cssValuePool.createValue(downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation).amount(), CSSPrimitiveValue::CSS_NUMBER));
+                break;
+            }
+            case FilterOperation::CONTRAST: {
+                filterValue = CSSFunctionValue::create(CSSValueContrast);
+                filterValue-&gt;append(cssValuePool.createValue(downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation).amount(), CSSPrimitiveValue::CSS_NUMBER));
+                break;
+            }
+            case FilterOperation::BLUR: {
+                filterValue = CSSFunctionValue::create(CSSValueBlur);
+                filterValue-&gt;append(adjustLengthForZoom(downcast&lt;BlurFilterOperation&gt;(filterOperation).stdDeviation(), style, adjust));
+                break;
+            }
+            case FilterOperation::DROP_SHADOW: {
+                DropShadowFilterOperation&amp; dropShadowOperation = downcast&lt;DropShadowFilterOperation&gt;(filterOperation);
+                filterValue = CSSFunctionValue::create(CSSValueDropShadow);
+                // We want our computed style to look like that of a text shadow (has neither spread nor inset style).
+                ShadowData shadowData = ShadowData(dropShadowOperation.location(), dropShadowOperation.stdDeviation(), 0, Normal, false, dropShadowOperation.color());
+                filterValue-&gt;append(valueForShadow(&amp;shadowData, CSSPropertyTextShadow, style, adjust));
+                break;
+            }
+            default:
+                ASSERT_NOT_REACHED();
+                filterValue = CSSFunctionValue::create(CSSValueInvalid);
+                break;
+            }
+            list.get().append(filterValue.releaseNonNull());
</ins><span class="cx">         }
</span><del>-        case FilterOperation::GRAYSCALE: {
-            BasicColorMatrixFilterOperation&amp; colorMatrixOperation = downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::GrayscaleFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
-            break;
-        }
-        case FilterOperation::SEPIA: {
-            BasicColorMatrixFilterOperation&amp; colorMatrixOperation = downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::SepiaFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
-            break;
-        }
-        case FilterOperation::SATURATE: {
-            BasicColorMatrixFilterOperation&amp; colorMatrixOperation = downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::SaturateFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
-            break;
-        }
-        case FilterOperation::HUE_ROTATE: {
-            BasicColorMatrixFilterOperation&amp; colorMatrixOperation = downcast&lt;BasicColorMatrixFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::HueRotateFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(colorMatrixOperation.amount(), CSSPrimitiveValue::CSS_DEG));
-            break;
-        }
-        case FilterOperation::INVERT: {
-            BasicComponentTransferFilterOperation&amp; componentTransferOperation = downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::InvertFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(componentTransferOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
-            break;
-        }
-        case FilterOperation::OPACITY: {
-            BasicComponentTransferFilterOperation&amp; componentTransferOperation = downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::OpacityFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(componentTransferOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
-            break;
-        }
-        case FilterOperation::BRIGHTNESS: {
-            BasicComponentTransferFilterOperation&amp; brightnessOperation = downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::BrightnessFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(brightnessOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
-            break;
-        }
-        case FilterOperation::CONTRAST: {
-            BasicComponentTransferFilterOperation&amp; contrastOperation = downcast&lt;BasicComponentTransferFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::ContrastFilterOperation);
-            filterValue-&gt;append(cssValuePool.createValue(contrastOperation.amount(), CSSPrimitiveValue::CSS_NUMBER));
-            break;
-        }
-        case FilterOperation::BLUR: {
-            BlurFilterOperation&amp; blurOperation = downcast&lt;BlurFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::BlurFilterOperation);
-            filterValue-&gt;append(adjustLengthForZoom(blurOperation.stdDeviation(), style, adjust));
-            break;
-        }
-        case FilterOperation::DROP_SHADOW: {
-            DropShadowFilterOperation&amp; dropShadowOperation = downcast&lt;DropShadowFilterOperation&gt;(filterOperation);
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::DropShadowFilterOperation);
-            // We want our computed style to look like that of a text shadow (has neither spread nor inset style).
-            ShadowData shadowData = ShadowData(dropShadowOperation.location(), dropShadowOperation.stdDeviation(), 0, Normal, false, dropShadowOperation.color());
-            filterValue-&gt;append(valueForShadow(&amp;shadowData, CSSPropertyTextShadow, style, adjust));
-            break;
-        }
-        default:
-            filterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::UnknownFilterOperation);
-            break;
-        }
-        list.get().append(filterValue.releaseNonNull());
</del><span class="cx">     }
</span><del>-
</del><span class="cx">     return WTFMove(list);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSValue.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSValue.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/CSSValue.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -65,7 +65,6 @@
</span><span class="cx"> #include &quot;CSSVariableValue.h&quot;
</span><span class="cx"> #include &quot;SVGColor.h&quot;
</span><span class="cx"> #include &quot;SVGPaint.h&quot;
</span><del>-#include &quot;WebKitCSSFilterValue.h&quot;
</del><span class="cx"> #include &quot;WebKitCSSTransformValue.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><span class="lines">@@ -231,8 +230,6 @@
</span><span class="cx">             return compareCSSValues&lt;CSSCalcValue&gt;(*this, other);
</span><span class="cx">         case ImageSetClass:
</span><span class="cx">             return compareCSSValues&lt;CSSImageSetValue&gt;(*this, other);
</span><del>-        case WebKitCSSFilterClass:
-            return compareCSSValues&lt;WebKitCSSFilterValue&gt;(*this, other);
</del><span class="cx">         case SVGColorClass:
</span><span class="cx">             return compareCSSValues&lt;SVGColor&gt;(*this, other);
</span><span class="cx">         case SVGPaintClass:
</span><span class="lines">@@ -345,8 +342,6 @@
</span><span class="cx">         return downcast&lt;CSSCalcValue&gt;(*this).customCSSText();
</span><span class="cx">     case ImageSetClass:
</span><span class="cx">         return downcast&lt;CSSImageSetValue&gt;(*this).customCSSText();
</span><del>-    case WebKitCSSFilterClass:
-        return downcast&lt;WebKitCSSFilterValue&gt;(*this).customCSSText();
</del><span class="cx">     case SVGColorClass:
</span><span class="cx">         return downcast&lt;SVGColor&gt;(*this).customCSSText();
</span><span class="cx">     case SVGPaintClass:
</span><span class="lines">@@ -491,9 +486,6 @@
</span><span class="cx">     case FilterImageClass:
</span><span class="cx">         delete downcast&lt;CSSFilterImageValue&gt;(this);
</span><span class="cx">         return;
</span><del>-    case WebKitCSSFilterClass:
-        delete downcast&lt;WebKitCSSFilterValue&gt;(this);
-        return;
</del><span class="cx">     case SVGColorClass:
</span><span class="cx">         delete downcast&lt;SVGColor&gt;(this);
</span><span class="cx">         return;
</span><span class="lines">@@ -540,8 +532,6 @@
</span><span class="cx">     case ImageClass:
</span><span class="cx">     case CursorImageClass:
</span><span class="cx">         return downcast&lt;CSSImageValue&gt;(*this).cloneForCSSOM();
</span><del>-    case WebKitCSSFilterClass:
-        return downcast&lt;WebKitCSSFilterValue&gt;(*this).cloneForCSSOM();
</del><span class="cx">     case WebKitCSSTransformClass:
</span><span class="cx">         return downcast&lt;WebKitCSSTransformValue&gt;(*this).cloneForCSSOM();
</span><span class="cx">     case ImageSetClass:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSValue.h (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSValue.h        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/CSSValue.h        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -111,7 +111,6 @@
</span><span class="cx">     bool isLineBoxContainValue() const { return m_classType == LineBoxContainClass; }
</span><span class="cx">     bool isCalcValue() const {return m_classType == CalculationClass; }
</span><span class="cx">     bool isFilterImageValue() const { return m_classType == FilterImageClass; }
</span><del>-    bool isWebKitCSSFilterValue() const { return m_classType == WebKitCSSFilterClass; }
</del><span class="cx">     bool isContentDistributionValue() const { return m_classType == CSSContentDistributionClass; }
</span><span class="cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><span class="cx">     bool isGridAutoRepeatValue() const { return m_classType == GridAutoRepeatClass; }
</span><span class="lines">@@ -217,7 +216,6 @@
</span><span class="cx">         // List class types must appear after ValueListClass.
</span><span class="cx">         ValueListClass,
</span><span class="cx">         ImageSetClass,
</span><del>-        WebKitCSSFilterClass,
</del><span class="cx">         WebKitCSSTransformClass,
</span><span class="cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><span class="cx">         GridLineNamesClass,
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleResolvercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolver.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleResolver.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/StyleResolver.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -133,7 +133,6 @@
</span><span class="cx"> #include &quot;UserAgentStyleSheets.h&quot;
</span><span class="cx"> #include &quot;ViewportStyleResolver.h&quot;
</span><span class="cx"> #include &quot;VisitedLinkState.h&quot;
</span><del>-#include &quot;WebKitCSSFilterValue.h&quot;
</del><span class="cx"> #include &quot;WebKitCSSRegionRule.h&quot;
</span><span class="cx"> #include &quot;WebKitCSSTransformValue.h&quot;
</span><span class="cx"> #include &quot;WebKitFontFamilyNames.h&quot;
</span><span class="lines">@@ -1842,34 +1841,35 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static FilterOperation::OperationType filterOperationForType(WebKitCSSFilterValue::FilterOperationType type)
</del><ins>+static FilterOperation::OperationType filterOperationForType(CSSValueID type)
</ins><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><del>-    case WebKitCSSFilterValue::ReferenceFilterOperation:
</del><ins>+    case CSSValueUrl:
</ins><span class="cx">         return FilterOperation::REFERENCE;
</span><del>-    case WebKitCSSFilterValue::GrayscaleFilterOperation:
</del><ins>+    case CSSValueGrayscale:
</ins><span class="cx">         return FilterOperation::GRAYSCALE;
</span><del>-    case WebKitCSSFilterValue::SepiaFilterOperation:
</del><ins>+    case CSSValueSepia:
</ins><span class="cx">         return FilterOperation::SEPIA;
</span><del>-    case WebKitCSSFilterValue::SaturateFilterOperation:
</del><ins>+    case CSSValueSaturate:
</ins><span class="cx">         return FilterOperation::SATURATE;
</span><del>-    case WebKitCSSFilterValue::HueRotateFilterOperation:
</del><ins>+    case CSSValueHueRotate:
</ins><span class="cx">         return FilterOperation::HUE_ROTATE;
</span><del>-    case WebKitCSSFilterValue::InvertFilterOperation:
</del><ins>+    case CSSValueInvert:
</ins><span class="cx">         return FilterOperation::INVERT;
</span><del>-    case WebKitCSSFilterValue::OpacityFilterOperation:
</del><ins>+    case CSSValueOpacity:
</ins><span class="cx">         return FilterOperation::OPACITY;
</span><del>-    case WebKitCSSFilterValue::BrightnessFilterOperation:
</del><ins>+    case CSSValueBrightness:
</ins><span class="cx">         return FilterOperation::BRIGHTNESS;
</span><del>-    case WebKitCSSFilterValue::ContrastFilterOperation:
</del><ins>+    case CSSValueContrast:
</ins><span class="cx">         return FilterOperation::CONTRAST;
</span><del>-    case WebKitCSSFilterValue::BlurFilterOperation:
</del><ins>+    case CSSValueBlur:
</ins><span class="cx">         return FilterOperation::BLUR;
</span><del>-    case WebKitCSSFilterValue::DropShadowFilterOperation:
</del><ins>+    case CSSValueDropShadow:
</ins><span class="cx">         return FilterOperation::DROP_SHADOW;
</span><del>-    case WebKitCSSFilterValue::UnknownFilterOperation:
-        return FilterOperation::NONE;
</del><ins>+    default:
+        break;
</ins><span class="cx">     }
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return FilterOperation::NONE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1889,21 +1889,12 @@
</span><span class="cx"> 
</span><span class="cx">     FilterOperations operations;
</span><span class="cx">     for (auto&amp; currentValue : downcast&lt;CSSValueList&gt;(inValue)) {
</span><del>-        if (!is&lt;WebKitCSSFilterValue&gt;(currentValue.get()))
-            continue;
</del><span class="cx"> 
</span><del>-        auto&amp; filterValue = downcast&lt;WebKitCSSFilterValue&gt;(currentValue.get());
-        FilterOperation::OperationType operationType = filterOperationForType(filterValue.operationType());
-
-        if (operationType == FilterOperation::REFERENCE) {
-            if (filterValue.length() != 1)
</del><ins>+        if (is&lt;CSSPrimitiveValue&gt;(currentValue.get())) {
+            auto&amp; primitiveValue = downcast&lt;CSSPrimitiveValue&gt;(currentValue.get());
+            if (!primitiveValue.isURI())
</ins><span class="cx">                 continue;
</span><del>-            auto&amp; argument = *filterValue.itemWithoutBoundsCheck(0);
</del><span class="cx"> 
</span><del>-            if (!is&lt;CSSPrimitiveValue&gt;(argument))
-                continue;
-
-            auto&amp; primitiveValue = downcast&lt;CSSPrimitiveValue&gt;(argument);
</del><span class="cx">             String cssUrl = primitiveValue.stringValue();
</span><span class="cx">             URL url = m_state.document().completeURL(cssUrl);
</span><span class="cx"> 
</span><span class="lines">@@ -1912,13 +1903,20 @@
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><span class="cx"> 
</span><ins>+        if (!is&lt;CSSFunctionValue&gt;(currentValue.get()))
+            continue;
+
+        auto&amp; filterValue = downcast&lt;CSSFunctionValue&gt;(currentValue.get());
+        FilterOperation::OperationType operationType = filterOperationForType(filterValue.name());
+        auto args = filterValue.arguments();
+
</ins><span class="cx">         // Check that all parameters are primitive values, with the
</span><span class="cx">         // exception of drop shadow which has a CSSShadowValue parameter.
</span><span class="cx">         const CSSPrimitiveValue* firstValue = nullptr;
</span><del>-        if (operationType != FilterOperation::DROP_SHADOW) {
</del><ins>+        if (args &amp;&amp; operationType != FilterOperation::DROP_SHADOW) {
</ins><span class="cx">             bool haveNonPrimitiveValue = false;
</span><del>-            for (unsigned j = 0; j &lt; filterValue.length(); ++j) {
-                if (!is&lt;CSSPrimitiveValue&gt;(*filterValue.itemWithoutBoundsCheck(j))) {
</del><ins>+            for (unsigned j = 0; j &lt; args-&gt;length(); ++j) {
+                if (!is&lt;CSSPrimitiveValue&gt;(*args-&gt;itemWithoutBoundsCheck(j))) {
</ins><span class="cx">                     haveNonPrimitiveValue = true;
</span><span class="cx">                     break;
</span><span class="cx">                 }
</span><span class="lines">@@ -1925,16 +1923,16 @@
</span><span class="cx">             }
</span><span class="cx">             if (haveNonPrimitiveValue)
</span><span class="cx">                 continue;
</span><del>-            if (filterValue.length())
-                firstValue = downcast&lt;CSSPrimitiveValue&gt;(filterValue.itemWithoutBoundsCheck(0));
</del><ins>+            if (args-&gt;length())
+                firstValue = downcast&lt;CSSPrimitiveValue&gt;(args-&gt;itemWithoutBoundsCheck(0));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        switch (filterValue.operationType()) {
-        case WebKitCSSFilterValue::GrayscaleFilterOperation:
-        case WebKitCSSFilterValue::SepiaFilterOperation:
-        case WebKitCSSFilterValue::SaturateFilterOperation: {
</del><ins>+        switch (operationType) {
+        case FilterOperation::GRAYSCALE:
+        case FilterOperation::SEPIA:
+        case FilterOperation::SATURATE: {
</ins><span class="cx">             double amount = 1;
</span><del>-            if (filterValue.length() == 1) {
</del><ins>+            if (args &amp;&amp; args-&gt;length() == 1) {
</ins><span class="cx">                 amount = firstValue-&gt;doubleValue();
</span><span class="cx">                 if (firstValue-&gt;isPercentage())
</span><span class="cx">                     amount /= 100;
</span><span class="lines">@@ -1943,20 +1941,20 @@
</span><span class="cx">             operations.operations().append(BasicColorMatrixFilterOperation::create(amount, operationType));
</span><span class="cx">             break;
</span><span class="cx">         }
</span><del>-        case WebKitCSSFilterValue::HueRotateFilterOperation: {
</del><ins>+        case FilterOperation::HUE_ROTATE: {
</ins><span class="cx">             double angle = 0;
</span><del>-            if (filterValue.length() == 1)
</del><ins>+            if (args &amp;&amp; args-&gt;length() == 1)
</ins><span class="cx">                 angle = firstValue-&gt;computeDegrees();
</span><span class="cx"> 
</span><span class="cx">             operations.operations().append(BasicColorMatrixFilterOperation::create(angle, operationType));
</span><span class="cx">             break;
</span><span class="cx">         }
</span><del>-        case WebKitCSSFilterValue::InvertFilterOperation:
-        case WebKitCSSFilterValue::BrightnessFilterOperation:
-        case WebKitCSSFilterValue::ContrastFilterOperation:
-        case WebKitCSSFilterValue::OpacityFilterOperation: {
-            double amount = (filterValue.operationType() == WebKitCSSFilterValue::BrightnessFilterOperation) ? 0 : 1;
-            if (filterValue.length() == 1) {
</del><ins>+        case FilterOperation::INVERT:
+        case FilterOperation::BRIGHTNESS:
+        case FilterOperation::CONTRAST:
+        case FilterOperation::OPACITY: {
+            double amount = (operationType == FilterOperation::BRIGHTNESS) ? 0 : 1;
+            if (args &amp;&amp; args-&gt;length() == 1) {
</ins><span class="cx">                 amount = firstValue-&gt;doubleValue();
</span><span class="cx">                 if (firstValue-&gt;isPercentage())
</span><span class="cx">                     amount /= 100;
</span><span class="lines">@@ -1965,9 +1963,9 @@
</span><span class="cx">             operations.operations().append(BasicComponentTransferFilterOperation::create(amount, operationType));
</span><span class="cx">             break;
</span><span class="cx">         }
</span><del>-        case WebKitCSSFilterValue::BlurFilterOperation: {
</del><ins>+        case FilterOperation::BLUR: {
</ins><span class="cx">             Length stdDeviation = Length(0, Fixed);
</span><del>-            if (filterValue.length() &gt;= 1)
</del><ins>+            if (args &amp;&amp; args-&gt;length() &gt;= 1)
</ins><span class="cx">                 stdDeviation = convertToFloatLength(firstValue, state.cssToLengthConversionData());
</span><span class="cx">             if (stdDeviation.isUndefined())
</span><span class="cx">                 return false;
</span><span class="lines">@@ -1975,11 +1973,11 @@
</span><span class="cx">             operations.operations().append(BlurFilterOperation::create(stdDeviation));
</span><span class="cx">             break;
</span><span class="cx">         }
</span><del>-        case WebKitCSSFilterValue::DropShadowFilterOperation: {
-            if (filterValue.length() != 1)
</del><ins>+        case FilterOperation::DROP_SHADOW: {
+            if (args &amp;&amp; args-&gt;length() != 1)
</ins><span class="cx">                 return false;
</span><span class="cx"> 
</span><del>-            auto&amp; cssValue = *filterValue.itemWithoutBoundsCheck(0);
</del><ins>+            auto&amp; cssValue = *args-&gt;itemWithoutBoundsCheck(0);
</ins><span class="cx">             if (!is&lt;CSSShadowValue&gt;(cssValue))
</span><span class="cx">                 continue;
</span><span class="cx"> 
</span><span class="lines">@@ -1995,7 +1993,6 @@
</span><span class="cx">             operations.operations().append(DropShadowFilterOperation::create(location, blur, color.isValid() ? color : Color::transparent));
</span><span class="cx">             break;
</span><span class="cx">         }
</span><del>-        case WebKitCSSFilterValue::UnknownFilterOperation:
</del><span class="cx">         default:
</span><span class="cx">             ASSERT_NOT_REACHED();
</span><span class="cx">             break;
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleResolverh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolver.h (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleResolver.h        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/StyleResolver.h        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -86,7 +86,6 @@
</span><span class="cx"> class StyledElement;
</span><span class="cx"> class SVGSVGElement;
</span><span class="cx"> class ViewportStyleResolver;
</span><del>-class WebKitCSSFilterValue;
</del><span class="cx"> struct ResourceLoaderOptions;
</span><span class="cx"> 
</span><span class="cx"> // MatchOnlyUserAgentRules is used in media queries, where relative units
</span></span></pre></div>
<a id="trunkSourceWebCorecssWebKitCSSFilterValuecpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/css/WebKitCSSFilterValue.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/WebKitCSSFilterValue.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/WebKitCSSFilterValue.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,100 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011, 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-#include &quot;WebKitCSSFilterValue.h&quot;
-
-#include &quot;CSSValueList.h&quot;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebCore {
-
-WebKitCSSFilterValue::WebKitCSSFilterValue(FilterOperationType operationType)
-    : CSSValueList(WebKitCSSFilterClass, SpaceSeparator)
-    , m_type(operationType)
-{
-}
-
-String WebKitCSSFilterValue::customCSSText() const
-{
-    const char* result = &quot;&quot;;
-    switch (m_type) {
-    case UnknownFilterOperation:
-        result = &quot;&quot;;
-        break;
-    case ReferenceFilterOperation:
-        return CSSValueList::customCSSText();
-    case GrayscaleFilterOperation:
-        result = &quot;grayscale(&quot;;
-        break;
-    case SepiaFilterOperation:
-        result = &quot;sepia(&quot;;
-        break;
-    case SaturateFilterOperation:
-        result = &quot;saturate(&quot;;
-        break;
-    case HueRotateFilterOperation:
-        result = &quot;hue-rotate(&quot;;
-        break;
-    case InvertFilterOperation:
-        result = &quot;invert(&quot;;
-        break;
-    case OpacityFilterOperation:
-        result = &quot;opacity(&quot;;
-        break;
-    case BrightnessFilterOperation:
-        result = &quot;brightness(&quot;;
-        break;
-    case ContrastFilterOperation:
-        result = &quot;contrast(&quot;;
-        break;
-    case BlurFilterOperation:
-        result = &quot;blur(&quot;;
-        break;
-    case DropShadowFilterOperation:
-        result = &quot;drop-shadow(&quot;;
-        break;
-    }
-
-    return result + CSSValueList::customCSSText() + ')';
-}
-
-WebKitCSSFilterValue::WebKitCSSFilterValue(const WebKitCSSFilterValue&amp; cloneFrom)
-    : CSSValueList(cloneFrom)
-    , m_type(cloneFrom.m_type)
-{
-}
-
-Ref&lt;WebKitCSSFilterValue&gt; WebKitCSSFilterValue::cloneForCSSOM() const
-{
-    return adoptRef(*new WebKitCSSFilterValue(*this));
-}
-
-bool WebKitCSSFilterValue::equals(const WebKitCSSFilterValue&amp; other) const
-{
-    return m_type == other.m_type &amp;&amp; CSSValueList::equals(other);
-}
-
-}
</del></span></pre></div>
<a id="trunkSourceWebCorecssWebKitCSSFilterValueh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/css/WebKitCSSFilterValue.h (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/WebKitCSSFilterValue.h        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/WebKitCSSFilterValue.h        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,75 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebKitCSSFilterValue_h
-#define WebKitCSSFilterValue_h
-
-#include &quot;CSSValueList.h&quot;
-
-namespace WebCore {
-
-class WebKitCSSFilterValue final : public CSSValueList {
-public:
-    // NOTE: these have to match the values in the IDL
-    enum FilterOperationType {
-        UnknownFilterOperation,
-        ReferenceFilterOperation,
-        GrayscaleFilterOperation,
-        SepiaFilterOperation,
-        SaturateFilterOperation,
-        HueRotateFilterOperation,
-        InvertFilterOperation,
-        OpacityFilterOperation,
-        BrightnessFilterOperation,
-        ContrastFilterOperation,
-        BlurFilterOperation,
-        DropShadowFilterOperation
-    };
-
-    static Ref&lt;WebKitCSSFilterValue&gt; create(FilterOperationType type)
-    {
-        return adoptRef(*new WebKitCSSFilterValue(type));
-    }
-
-    String customCSSText() const;
-
-    FilterOperationType operationType() const { return m_type; }
-
-    Ref&lt;WebKitCSSFilterValue&gt; cloneForCSSOM() const;
-
-    bool equals(const WebKitCSSFilterValue&amp;) const;
-
-private:
-    WebKitCSSFilterValue(FilterOperationType);
-    WebKitCSSFilterValue(const WebKitCSSFilterValue&amp; cloneFrom);
-
-    FilterOperationType m_type;
-};
-
-} // namespace WebCore
-
-SPECIALIZE_TYPE_TRAITS_CSS_VALUE(WebKitCSSFilterValue, isWebKitCSSFilterValue())
-
-#endif // WebKitCSSFilterValue_h
</del></span></pre></div>
<a id="trunkSourceWebCorecssWebKitCSSFilterValueidl"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/css/WebKitCSSFilterValue.idl (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/WebKitCSSFilterValue.idl        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/WebKitCSSFilterValue.idl        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1,48 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-[
-    DoNotCheckConstants,
-    ImplementationLacksVTable,
-] interface WebKitCSSFilterValue : CSSValueList {
-
-    // OperationTypes
-
-    const unsigned short CSS_FILTER_REFERENCE = 1;
-    const unsigned short CSS_FILTER_GRAYSCALE = 2;
-    const unsigned short CSS_FILTER_SEPIA = 3;
-    const unsigned short CSS_FILTER_SATURATE = 4;
-    const unsigned short CSS_FILTER_HUE_ROTATE = 5;
-    const unsigned short CSS_FILTER_INVERT = 6;
-    const unsigned short CSS_FILTER_OPACITY = 7;
-    const unsigned short CSS_FILTER_BRIGHTNESS = 8;
-    const unsigned short CSS_FILTER_CONTRAST = 9;
-    const unsigned short CSS_FILTER_BLUR = 10;
-    const unsigned short CSS_FILTER_DROP_SHADOW = 11;
-
-    readonly attribute unsigned short operationType;
-
-    getter CSSValue (unsigned long index);
-};
</del></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSParser.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSParser.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/parser/CSSParser.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -106,7 +106,6 @@
</span><span class="cx"> #include &quot;StyleRuleImport.h&quot;
</span><span class="cx"> #include &quot;StyleSheetContents.h&quot;
</span><span class="cx"> #include &quot;TextEncoding.h&quot;
</span><del>-#include &quot;WebKitCSSFilterValue.h&quot;
</del><span class="cx"> #include &quot;WebKitCSSRegionRule.h&quot;
</span><span class="cx"> #include &quot;WebKitCSSTransformValue.h&quot;
</span><span class="cx"> #include &lt;bitset&gt;
</span><span class="lines">@@ -10019,43 +10018,37 @@
</span><span class="cx">     return valueID &gt;= CSSValueClear &amp;&amp; valueID &lt;= CSSValueXor;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void filterInfoForName(const CSSParserString&amp; name, WebKitCSSFilterValue::FilterOperationType&amp; filterType, unsigned&amp; maximumArgumentCount)
</del><ins>+static bool isValidPrimitiveFilterFunction(CSSValueID filterFunction)
</ins><span class="cx"> {
</span><del>-    if (equalLettersIgnoringASCIICase(name, &quot;grayscale(&quot;))
-        filterType = WebKitCSSFilterValue::GrayscaleFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;sepia(&quot;))
-        filterType = WebKitCSSFilterValue::SepiaFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;saturate(&quot;))
-        filterType = WebKitCSSFilterValue::SaturateFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;hue-rotate(&quot;))
-        filterType = WebKitCSSFilterValue::HueRotateFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;invert(&quot;))
-        filterType = WebKitCSSFilterValue::InvertFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;opacity(&quot;))
-        filterType = WebKitCSSFilterValue::OpacityFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;brightness(&quot;))
-        filterType = WebKitCSSFilterValue::BrightnessFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;contrast(&quot;))
-        filterType = WebKitCSSFilterValue::ContrastFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;blur(&quot;))
-        filterType = WebKitCSSFilterValue::BlurFilterOperation;
-    else if (equalLettersIgnoringASCIICase(name, &quot;drop-shadow(&quot;)) {
-        filterType = WebKitCSSFilterValue::DropShadowFilterOperation;
-        maximumArgumentCount = 4;  // x-offset, y-offset, blur-radius, color -- spread and inset style not allowed.
</del><ins>+    switch (filterFunction) {
+    case CSSValueBlur:
+    case CSSValueBrightness:
+    case CSSValueContrast:
+    case CSSValueDropShadow:
+    case CSSValueGrayscale:
+    case CSSValueHueRotate:
+    case CSSValueInvert:
+    case CSSValueOpacity:
+    case CSSValueSaturate:
+    case CSSValueSepia:
+        return true;
+    default:
+        return false;
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;WebKitCSSFilterValue&gt; CSSParser::parseBuiltinFilterArguments(CSSParserValueList&amp; args, WebKitCSSFilterValue::FilterOperationType filterType)
</del><ins>+RefPtr&lt;CSSFunctionValue&gt; CSSParser::parseBuiltinFilterArguments(CSSValueID filterFunction, CSSParserValueList&amp; args)
</ins><span class="cx"> {
</span><del>-    auto filterValue = WebKitCSSFilterValue::create(filterType);
</del><ins>+    ASSERT(isValidPrimitiveFilterFunction(filterFunction));
+    auto filterValue = CSSFunctionValue::create(filterFunction);
</ins><span class="cx"> 
</span><del>-    switch (filterType) {    
-    case WebKitCSSFilterValue::GrayscaleFilterOperation:
-    case WebKitCSSFilterValue::SepiaFilterOperation:
-    case WebKitCSSFilterValue::SaturateFilterOperation:
-    case WebKitCSSFilterValue::InvertFilterOperation:
-    case WebKitCSSFilterValue::OpacityFilterOperation:
-    case WebKitCSSFilterValue::ContrastFilterOperation: {
</del><ins>+    switch (filterFunction) {
+    case CSSValueGrayscale:
+    case CSSValueSepia:
+    case CSSValueSaturate:
+    case CSSValueInvert:
+    case CSSValueOpacity:
+    case CSSValueContrast: {
</ins><span class="cx">         // One optional argument, 0-1 or 0%-100%, if missing use 100%.
</span><span class="cx">         if (args.size() &gt; 1)
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -10068,8 +10061,7 @@
</span><span class="cx">             auto primitiveValue = createPrimitiveNumericValue(argumentWithCalculation);
</span><span class="cx"> 
</span><span class="cx">             // Saturate and Contrast allow values over 100%.
</span><del>-            if (filterType != WebKitCSSFilterValue::SaturateFilterOperation
-                &amp;&amp; filterType != WebKitCSSFilterValue::ContrastFilterOperation) {
</del><ins>+            if (filterFunction != CSSValueSaturate &amp;&amp; filterFunction != CSSValueContrast) {
</ins><span class="cx">                 double maxAllowed = primitiveValue-&gt;primitiveType() == CSSPrimitiveValue::CSS_PERCENTAGE ? 100.0 : 1.0;
</span><span class="cx">                 if (primitiveValue-&gt;doubleValue() &gt; maxAllowed)
</span><span class="cx">                     return nullptr;
</span><span class="lines">@@ -10079,7 +10071,7 @@
</span><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx">     }
</span><del>-    case WebKitCSSFilterValue::BrightnessFilterOperation: {
</del><ins>+    case CSSValueBrightness: {
</ins><span class="cx">         // One optional argument, if missing use 100%.
</span><span class="cx">         if (args.size() &gt; 1)
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -10093,7 +10085,7 @@
</span><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx">     }
</span><del>-    case WebKitCSSFilterValue::HueRotateFilterOperation: {
</del><ins>+    case CSSValueHueRotate: {
</ins><span class="cx">         // hue-rotate() takes one optional angle.
</span><span class="cx">         if (args.size() &gt; 1)
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -10107,7 +10099,7 @@
</span><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx">     }
</span><del>-    case WebKitCSSFilterValue::BlurFilterOperation: {
</del><ins>+    case CSSValueBlur: {
</ins><span class="cx">         // Blur takes a single length. Zero parameters are allowed.
</span><span class="cx">         if (args.size() &gt; 1)
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -10121,7 +10113,7 @@
</span><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx">     }
</span><del>-    case WebKitCSSFilterValue::DropShadowFilterOperation: {
</del><ins>+    case CSSValueDropShadow: {
</ins><span class="cx">         // drop-shadow() takes a single shadow.
</span><span class="cx">         RefPtr&lt;CSSValueList&gt; shadowValueList = parseShadow(args, CSSPropertyFilter);
</span><span class="cx">         if (!shadowValueList || shadowValueList-&gt;length() != 1)
</span><span class="lines">@@ -10133,9 +10125,33 @@
</span><span class="cx">     default:
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">     }
</span><ins>+
+    // In all cases there should be nothing left over in the function.
+    auto nextArgument = args.next();
+    if (nextArgument)
+        return nullptr;
+
</ins><span class="cx">     return WTFMove(filterValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME-NEWPARSER: The code for this is at the end of the file. Since this is only
+// needed while using cssValueKeywordIDForFunctionName for the old CSS parser, I just
+// declared it here.
+template &lt;typename CharacterType&gt; static CSSValueID cssValueKeywordID(const CharacterType* valueKeyword, unsigned length);
+
+static CSSValueID cssValueKeywordIDForFunctionName(const CSSParserString&amp; string)
+{
+    // FIXME-NEWPARSER: We can remove this when the new CSS parser is
+    // enabled and just use cssValueKeywordID. This is just covering
+    // the old parser's crazy behavior of including the '(' in the
+    // function-&gt;name.
+    unsigned length = string.length();
+    if (length &lt; 2 || length &gt; maxCSSValueKeywordLength)
+        return CSSValueInvalid;
+
+    return string.is8Bit() ? cssValueKeywordID(string.characters8(), length - 1) : cssValueKeywordID(string.characters16(), length - 1);
+}
+
</ins><span class="cx"> bool CSSParser::parseFilter(CSSParserValueList&amp; valueList, RefPtr&lt;CSSValueList&gt;&amp; result)
</span><span class="cx"> {
</span><span class="cx">     // The filter is a list of functional primitives that specify individual operations.
</span><span class="lines">@@ -10144,20 +10160,13 @@
</span><span class="cx">         if (value-&gt;unit != CSSPrimitiveValue::CSS_URI &amp;&amp; (value-&gt;unit != CSSParserValue::Function || !value-&gt;function))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        WebKitCSSFilterValue::FilterOperationType filterType = WebKitCSSFilterValue::UnknownFilterOperation;
-
</del><span class="cx">         // See if the specified primitive is one we understand.
</span><del>-        if (value-&gt;unit == CSSPrimitiveValue::CSS_URI) {
-            auto referenceFilterValue = WebKitCSSFilterValue::create(WebKitCSSFilterValue::ReferenceFilterOperation);
-            referenceFilterValue-&gt;append(CSSPrimitiveValue::create(value-&gt;string, CSSPrimitiveValue::CSS_URI));
-            list-&gt;append(WTFMove(referenceFilterValue));
-        } else {
-            const CSSParserString name = value-&gt;function-&gt;name;
-            unsigned maximumArgumentCount = 1;
</del><ins>+        if (value-&gt;unit == CSSPrimitiveValue::CSS_URI)
+            list-&gt;append(CSSPrimitiveValue::create(value-&gt;string, CSSPrimitiveValue::CSS_URI));
+        else {
+            CSSValueID filterFunction = cssValueKeywordIDForFunctionName(value-&gt;function-&gt;name);
</ins><span class="cx"> 
</span><del>-            filterInfoForName(name, filterType, maximumArgumentCount);
-
-            if (filterType == WebKitCSSFilterValue::UnknownFilterOperation)
</del><ins>+            if (!isValidPrimitiveFilterFunction(filterFunction))
</ins><span class="cx">                 return false;
</span><span class="cx"> 
</span><span class="cx">             CSSParserValueList* args = value-&gt;function-&gt;args.get();
</span><span class="lines">@@ -10164,10 +10173,10 @@
</span><span class="cx">             if (!args)
</span><span class="cx">                 return false;
</span><span class="cx"> 
</span><del>-            RefPtr&lt;WebKitCSSFilterValue&gt; filterValue = parseBuiltinFilterArguments(*args, filterType);
</del><ins>+            RefPtr&lt;CSSFunctionValue&gt; filterValue = parseBuiltinFilterArguments(filterFunction, *args);
</ins><span class="cx">             if (!filterValue)
</span><span class="cx">                 return false;
</span><del>-            
</del><ins>+
</ins><span class="cx">             list-&gt;append(filterValue.releaseNonNull());
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSParser.h (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSParser.h        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/parser/CSSParser.h        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -23,6 +23,7 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSCalculationValue.h&quot;
</span><ins>+#include &quot;CSSFunctionValue.h&quot;
</ins><span class="cx"> #include &quot;CSSGradientValue.h&quot;
</span><span class="cx"> #include &quot;CSSParserMode.h&quot;
</span><span class="cx"> #include &quot;CSSParserValues.h&quot;
</span><span class="lines">@@ -34,7 +35,6 @@
</span><span class="cx"> #include &quot;ColorSpace.h&quot;
</span><span class="cx"> #include &quot;MediaQuery.h&quot;
</span><span class="cx"> #include &quot;StyleRuleImport.h&quot;
</span><del>-#include &quot;WebKitCSSFilterValue.h&quot;
</del><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -334,7 +334,7 @@
</span><span class="cx">     bool parseFilterImage(CSSParserValueList&amp;, RefPtr&lt;CSSValue&gt;&amp;);
</span><span class="cx"> 
</span><span class="cx">     bool parseFilter(CSSParserValueList&amp;, RefPtr&lt;CSSValueList&gt;&amp;);
</span><del>-    RefPtr&lt;WebKitCSSFilterValue&gt; parseBuiltinFilterArguments(CSSParserValueList&amp;, WebKitCSSFilterValue::FilterOperationType);
</del><ins>+    RefPtr&lt;CSSFunctionValue&gt; parseBuiltinFilterArguments(CSSValueID, CSSParserValueList&amp;);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSValue&gt; parseClipPath();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSPropertyParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (208252 => 208253)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp        2016-11-01 22:13:18 UTC (rev 208252)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp        2016-11-01 22:31:52 UTC (rev 208253)
</span><span class="lines">@@ -1375,7 +1375,7 @@
</span><span class="cx">     if (filterType &lt; CSSValueInvert || filterType &gt; CSSValueDropShadow)
</span><span class="cx">         return nullptr;
</span><span class="cx">     CSSParserTokenRange args = consumeFunction(range);
</span><del>-    RefPtr&lt;CSSFunctionValue&gt;filterValue = CSSFunctionValue::create(filterType);
</del><ins>+    RefPtr&lt;CSSFunctionValue&gt; filterValue = CSSFunctionValue::create(filterType);
</ins><span class="cx">     RefPtr&lt;CSSValue&gt; parsedValue;
</span><span class="cx"> 
</span><span class="cx">     if (filterType == CSSValueDropShadow)
</span></span></pre>
</div>
</div>

</body>
</html>