| Index: third_party/WebKit/LayoutTests/css3/filters/script-tests/unprefixed.js | 
| diff --git a/third_party/WebKit/LayoutTests/css3/filters/script-tests/unprefixed.js b/third_party/WebKit/LayoutTests/css3/filters/script-tests/unprefixed.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..ceba9bc3e2ae6c424e546441142c8dd2e4286a27 | 
| --- /dev/null | 
| +++ b/third_party/WebKit/LayoutTests/css3/filters/script-tests/unprefixed.js | 
| @@ -0,0 +1,293 @@ | 
| +description("Test that -webkit-filter matches filter."); | 
| + | 
| +var styleElement = document.createElement("style"); | 
| +document.head.appendChild(styleElement); | 
| +var styleSheet = styleElement.sheet; | 
| + | 
| +function testComputedFilterRule(description, rule, expected) | 
| +{ | 
| +    styleSheet.insertRule("body { -webkit-filter: " + rule + "; }", 0); | 
| +    debug(description + " : -webkit-filter: " + rule); | 
| + | 
| +    var style = window.getComputedStyle(document.body).getPropertyValue('filter'); | 
| +    var value = "computed filter style: " + style; | 
| + | 
| +    if (style != expected) { | 
| +        testFailed(value + " should have style: " + expected); | 
| +    } else { | 
| +        testPassed(value); | 
| +    } | 
| + | 
| +    styleSheet.deleteRule(0); | 
| +    debug(""); | 
| +} | 
| + | 
| +testComputedFilterRule("Basic reference", | 
| +                       "url('#a')", | 
| +                       'url("#a")'); | 
| + | 
| +testComputedFilterRule("Bare unquoted reference converting to quoted form", | 
| +                       "url(#a)", | 
| +                       'url("#a")'); | 
| + | 
| +testComputedFilterRule("Multiple references", | 
| +                       "url('#a') url('#b')", | 
| +                       'url("#a") url("#b")'); | 
| + | 
| +testComputedFilterRule("Reference as 2nd value", | 
| +                       "grayscale(1) url('#a')", | 
| +                       'grayscale(1) url("#a")'); | 
| + | 
| +testComputedFilterRule("Float value converts to integer", | 
| +                       "grayscale(1.0)", | 
| +                       "grayscale(1)"); | 
| + | 
| +testComputedFilterRule("Zero value", | 
| +                       "grayscale(0)", | 
| +                       "grayscale(0)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "grayscale()", | 
| +                       "grayscale(1)"); | 
| + | 
| +testComputedFilterRule("Multiple values", | 
| +                       "grayscale(0.5) grayscale(0.25)", | 
| +                       "grayscale(0.5) grayscale(0.25)"); | 
| + | 
| +testComputedFilterRule("Integer value", | 
| +                       "sepia(1)", | 
| +                       "sepia(1)"); | 
| + | 
| +testComputedFilterRule("Float value converts to integer", | 
| +                       "sepia(1.0)", | 
| +                       "sepia(1)"); | 
| + | 
| +testComputedFilterRule("Zero value", | 
| +                       "sepia(0)", | 
| +                       "sepia(0)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "sepia()", | 
| +                       "sepia(1)"); | 
| + | 
| +testComputedFilterRule("Multiple values", | 
| +                       "sepia(0.5) sepia(0.25)", | 
| +                       "sepia(0.5) sepia(0.25)"); | 
| + | 
| +testComputedFilterRule("Rule combinations", | 
| +                       "sepia(0.5) grayscale(0.25)", | 
| +                       "sepia(0.5) grayscale(0.25)"); | 
| + | 
| +testComputedFilterRule("Integer value", | 
| +                       "saturate(1)", | 
| +                       "saturate(1)"); | 
| + | 
| +testComputedFilterRule("Float value converts to integer", | 
| +                       "saturate(1.0)", | 
| +                       "saturate(1)"); | 
| + | 
| +testComputedFilterRule("Zero value", | 
| +                       "saturate(0)", | 
| +                       "saturate(0)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "saturate()", | 
| +                       "saturate(1)"); | 
| + | 
| +testComputedFilterRule("Multiple values", | 
| +                       "saturate(0.5) saturate(0.25)", | 
| +                       "saturate(0.5) saturate(0.25)"); | 
| + | 
| +testComputedFilterRule("Rule combinations", | 
| +                       "saturate(0.5) grayscale(0.25)", | 
| +                       "saturate(0.5) grayscale(0.25)"); | 
| + | 
| +testComputedFilterRule("Degrees value as integer", | 
| +                       "hue-rotate(10deg)", | 
| +                       "hue-rotate(10deg)"); | 
| + | 
| +testComputedFilterRule("Degrees float value converts to integer", | 
| +                       "hue-rotate(10.0deg)", | 
| +                       "hue-rotate(10deg)"); | 
| + | 
| +testComputedFilterRule("Radians value", | 
| +                       "hue-rotate(10rad)", | 
| +                       "hue-rotate(572.958deg)"); | 
| + | 
| +testComputedFilterRule("Gradians value", | 
| +                       "hue-rotate(10grad)", | 
| +                       "hue-rotate(9deg)"); | 
| + | 
| +testComputedFilterRule("Turns value", | 
| +                       "hue-rotate(0.5turn)", | 
| +                       "hue-rotate(180deg)"); | 
| + | 
| +testComputedFilterRule("Zero value", | 
| +                       "hue-rotate(0)", | 
| +                       "hue-rotate(0deg)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "hue-rotate()", | 
| +                       "hue-rotate(0deg)"); | 
| + | 
| +testComputedFilterRule("Rule combinations", | 
| +                       "hue-rotate(10deg) grayscale(0.25)", | 
| +                       "hue-rotate(10deg) grayscale(0.25)"); | 
| + | 
| +testComputedFilterRule("Integer value", | 
| +                       "invert(1)", | 
| +                       "invert(1)"); | 
| + | 
| +testComputedFilterRule("Float value converts to integer", | 
| +                       "invert(1.0)", | 
| +                       "invert(1)"); | 
| + | 
| +testComputedFilterRule("Zero value", | 
| +                       "invert(0)", | 
| +                       "invert(0)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "invert()", | 
| +                       "invert(1)"); | 
| + | 
| +testComputedFilterRule("Multiple values", | 
| +                       "invert(0.5) invert(0.25)", | 
| +                       "invert(0.5) invert(0.25)"); | 
| + | 
| +testComputedFilterRule("Rule combinations", | 
| +                       "invert(0.5) grayscale(0.25)", | 
| +                       "invert(0.5) grayscale(0.25)"); | 
| + | 
| +testComputedFilterRule("Integer value", | 
| +                       "opacity(1)", | 
| +                       "opacity(1)"); | 
| + | 
| +testComputedFilterRule("Float value converts to integer", | 
| +                       "opacity(1.0)", | 
| +                       "opacity(1)"); | 
| + | 
| +testComputedFilterRule("Zero value", | 
| +                       "opacity(0)", | 
| +                       "opacity(0)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "opacity()", | 
| +                       "opacity(1)"); | 
| + | 
| +testComputedFilterRule("Multiple values", | 
| +                       "opacity(0.5) opacity(0.25)", | 
| +                       "opacity(0.5) opacity(0.25)"); | 
| + | 
| +testComputedFilterRule("Rule combinations", | 
| +                       "opacity(0.5) grayscale(0.25)", | 
| +                       "opacity(0.5) grayscale(0.25)"); | 
| + | 
| +testComputedFilterRule("Integer value", | 
| +                       "brightness(1)", | 
| +                       "brightness(1)"); | 
| + | 
| +testComputedFilterRule("Float value converts to integer", | 
| +                       "brightness(1.0)", | 
| +                       "brightness(1)"); | 
| + | 
| +testComputedFilterRule("Zero value", | 
| +                       "brightness(0)", | 
| +                       "brightness(0)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "brightness()", | 
| +                       "brightness(0)"); | 
| + | 
| +testComputedFilterRule("Multiple values", | 
| +                       "brightness(0.5) brightness(0.25)", | 
| +                       "brightness(0.5) brightness(0.25)"); | 
| + | 
| +testComputedFilterRule("Rule combinations", | 
| +                       "brightness(0.5) grayscale(0.25)", | 
| +                       "brightness(0.5) grayscale(0.25)"); | 
| + | 
| +testComputedFilterRule("Integer value", | 
| +                       "contrast(1)", | 
| +                       "contrast(1)"); | 
| + | 
| +testComputedFilterRule("Value greater than 1", | 
| +                       "contrast(2)", | 
| +                       "contrast(2)"); | 
| + | 
| +testComputedFilterRule("Float value converts to integer", | 
| +                       "contrast(1.0)", | 
| +                       "contrast(1)"); | 
| + | 
| +testComputedFilterRule("Zero value", | 
| +                       "contrast(0)", | 
| +                       "contrast(0)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "contrast()", | 
| +                       "contrast(1)"); | 
| + | 
| +testComputedFilterRule("Multiple values", | 
| +                       "contrast(0.5) contrast(0.25)", | 
| +                       "contrast(0.5) contrast(0.25)"); | 
| + | 
| +testComputedFilterRule("Rule combinations", | 
| +                       "contrast(0.5) grayscale(0.25)", | 
| +                       "contrast(0.5) grayscale(0.25)"); | 
| + | 
| +testComputedFilterRule("One zero to px", | 
| +                       "blur(0)", | 
| +                       "blur(0px)"); | 
| + | 
| +testComputedFilterRule("One length", | 
| +                       "blur(2em)", | 
| +                       "blur(32px)"); | 
| + | 
| +testComputedFilterRule("One length", | 
| +                       "blur(5px)", | 
| +                       "blur(5px)"); | 
| + | 
| +testComputedFilterRule("No values", | 
| +                       "blur()", | 
| +                       "blur(0px)"); | 
| + | 
| +testComputedFilterRule("Named color then three values", | 
| +                       "drop-shadow(red 1px 2px 3px)", | 
| +                       "drop-shadow(rgb(255, 0, 0) 1px 2px 3px)"); | 
| + | 
| +testComputedFilterRule("Three values then named color", | 
| +                       "drop-shadow(1px 2px 3px red)", | 
| +                       "drop-shadow(rgb(255, 0, 0) 1px 2px 3px)"); | 
| + | 
| +testComputedFilterRule("Color then three values with zero length", | 
| +                       "drop-shadow(#abc 0 0 0)", | 
| +                       "drop-shadow(rgb(170, 187, 204) 0px 0px 0px)"); | 
| + | 
| +testComputedFilterRule("Three values with zero length", | 
| +                       "drop-shadow(0 0 0)", | 
| +                       "drop-shadow(rgb(0, 0, 0) 0px 0px 0px)"); | 
| + | 
| +testComputedFilterRule("Two values no color", | 
| +                       "drop-shadow(1px 2px)", | 
| +                       "drop-shadow(rgb(0, 0, 0) 1px 2px 0px)"); | 
| + | 
| +testComputedFilterRule("Multiple operations", | 
| +                       "grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)", | 
| +                       [ "grayscale(0.5)", | 
| +                         "sepia(0.25)", | 
| +                         "saturate(0.75)", | 
| +                         "hue-rotate(35deg)", | 
| +                         "invert(0.2)", | 
| +                         "opacity(0.9)", | 
| +                         "blur(5px)" ].join(" ")); | 
| + | 
| +testComputedFilterRule("Percentage values", | 
| +                       "grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)", | 
| +                       [ "grayscale(0.5)", | 
| +                         "sepia(0.25)", | 
| +                         "saturate(0.75)", | 
| +                         "invert(0.2)", | 
| +                         "opacity(0.9)", | 
| +                         "brightness(0.6)", | 
| +                         "contrast(0.3)" ].join(" ")); | 
| + | 
| +successfullyParsed = true; | 
|  |