Diff
Modified: trunk/LayoutTests/ChangeLog (202764 => 202765)
--- trunk/LayoutTests/ChangeLog 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/LayoutTests/ChangeLog 2016-07-02 00:22:15 UTC (rev 202765)
@@ -1,3 +1,26 @@
+2016-07-01 Dean Jackson <[email protected]>
+
+ "image-src" support is missing. We only support "-webkit-image-src"
+ https://bugs.webkit.org/show_bug.cgi?id=159373
+ <rdar://problem/27140443>
+
+ Patch by Brent Fulgham and Dean Jackson.
+ Reviewed by Dean Jackson and Brent Fulgham.
+
+ Convert some existing tests to use the unprefixed form,
+ and add a test that checks we are compatible with
+ the prefixed form.
+
+ * cssom/cssvalue-comparison-expected.txt:
+ * cssom/cssvalue-comparison.html:
+ * fast/css/cursor-parsing-image-set-expected.txt:
+ * fast/css/cursor-parsing-image-set.html:
+ * fast/css/image-set-setting-expected.txt:
+ * fast/css/image-set-unprefixed-expected.txt: Added.
+ * fast/css/image-set-unprefixed.html: Added.
+ * fast/css/script-tests/image-set-setting.js:
+ (testImageSetRule):
+
2016-07-01 Ryan Haddad <[email protected]>
Land test expectations for rdar://problem/27141291.
Modified: trunk/LayoutTests/cssom/cssvalue-comparison-expected.txt (202764 => 202765)
--- trunk/LayoutTests/cssom/cssvalue-comparison-expected.txt 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/LayoutTests/cssom/cssvalue-comparison-expected.txt 2016-07-02 00:22:15 UTC (rev 202765)
@@ -98,6 +98,9 @@
PASS Two CSSValues "-webkit-image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)" for property "background-image" are equal.
PASS Two CSSValues "-webkit-image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)" for property "background-image" are equal.
PASS Two CSSValues "-webkit-image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)" and "-webkit-image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)" for property "background-image" are not equal.
+PASS Two CSSValues "image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)" for property "background-image" are equal.
+PASS Two CSSValues "image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)" for property "background-image" are equal.
+PASS Two CSSValues "image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)" and "image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)" for property "background-image" are not equal.
PASS Two CSSValues "grayscale(100%) sepia(100%)" for property "-webkit-filter" are equal.
PASS Two CSSValues "sepia(10%) grayscale(50%)" for property "-webkit-filter" are equal.
PASS Two CSSValues "grayscale(100%) sepia(100%)" and "sepia(10%) grayscale(50%)" for property "-webkit-filter" are not equal.
Modified: trunk/LayoutTests/cssom/cssvalue-comparison.html (202764 => 202765)
--- trunk/LayoutTests/cssom/cssvalue-comparison.html 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/LayoutTests/cssom/cssvalue-comparison.html 2016-07-02 00:22:15 UTC (rev 202765)
@@ -59,6 +59,7 @@
{"-webkit-transform" : ["rotate(30deg)", "translate(50px,50px)", "scale(2,4)", "skew(30deg,20deg)", "matrix(0.4,0.5,-0.5,0.4,0,0)"]}, // transforms
{"-webkit-line-box-contain" : ["inline-box", "font", "glyphs", "replaced"]}, // line-box-contain
{"background-image" : ["-webkit-image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)", "-webkit-image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)"]}, // image set
+ {"background-image" : ["image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)", "image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)"]}, // image set
{"-webkit-filter" : ["grayscale(100%) sepia(100%)", "sepia(10%) grayscale(50%)"]}, // filter
{"-webkit-dashboard-region" : ["dashboard-region(label circle)", "dashboard-region(label circle 1px 2px 3px 4px) dashboard-region(label rectangle 5px 6px 7px 8px)"]} // dashboard region
];
Modified: trunk/LayoutTests/fast/css/cursor-parsing-image-set-expected.txt (202764 => 202765)
--- trunk/LayoutTests/fast/css/cursor-parsing-image-set-expected.txt 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/LayoutTests/fast/css/cursor-parsing-image-set-expected.txt 2016-07-02 00:22:15 UTC (rev 202765)
@@ -6,10 +6,10 @@
Bug 99493
Test a bunch of cursor rules which should round-trip exactly.
-PASS roundtripCssRule("cursor: -webkit-image-set(url(file:///foo.png) 1x), auto;") is "cursor: -webkit-image-set(url(file:///foo.png) 1x), auto;"
-PASS roundtripCssRule("cursor: -webkit-image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x), auto;") is "cursor: -webkit-image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x), auto;"
-PASS roundtripCssRule("cursor: -webkit-image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x) 2 3, auto;") is "cursor: -webkit-image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x) 2 3, auto;"
-PASS roundtripCssRule("cursor: -webkit-image-set(url(file:///foo03.png) 0.3x, url(file:///foo5x.png) 5x) 6 5, url(file:///foo.png) 12 3, pointer;") is "cursor: -webkit-image-set(url(file:///foo03.png) 0.3x, url(file:///foo5x.png) 5x) 6 5, url(file:///foo.png) 12 3, pointer;"
+PASS roundtripCssRule("cursor: image-set(url(file:///foo.png) 1x), auto;") is "cursor: image-set(url(file:///foo.png) 1x), auto;"
+PASS roundtripCssRule("cursor: image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x), auto;") is "cursor: image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x), auto;"
+PASS roundtripCssRule("cursor: image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x) 2 3, auto;") is "cursor: image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x) 2 3, auto;"
+PASS roundtripCssRule("cursor: image-set(url(file:///foo03.png) 0.3x, url(file:///foo5x.png) 5x) 6 5, url(file:///foo.png) 12 3, pointer;") is "cursor: image-set(url(file:///foo03.png) 0.3x, url(file:///foo5x.png) 5x) 6 5, url(file:///foo.png) 12 3, pointer;"
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/fast/css/cursor-parsing-image-set.html (202764 => 202765)
--- trunk/LayoutTests/fast/css/cursor-parsing-image-set.html 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/LayoutTests/fast/css/cursor-parsing-image-set.html 2016-07-02 00:22:15 UTC (rev 202765)
@@ -36,10 +36,10 @@
// to avoid triggering any network activity.
debug('Test a bunch of cursor rules which should round-trip exactly.');
-testCursorRule('-webkit-image-set(url(file:///foo.png) 1x), auto');
-testCursorRule('-webkit-image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x), auto');
-testCursorRule('-webkit-image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x) 2 3, auto');
-testCursorRule('-webkit-image-set(url(file:///foo03.png) 0.3x, url(file:///foo5x.png) 5x) 6 5, url(file:///foo.png) 12 3, pointer');
+testCursorRule('image-set(url(file:///foo.png) 1x), auto');
+testCursorRule('image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x), auto');
+testCursorRule('image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x) 2 3, auto');
+testCursorRule('image-set(url(file:///foo03.png) 0.3x, url(file:///foo5x.png) 5x) 6 5, url(file:///foo.png) 12 3, pointer');
successfullyParsed = true;
</script>
Modified: trunk/LayoutTests/fast/css/image-set-setting-expected.txt (202764 => 202765)
--- trunk/LayoutTests/fast/css/image-set-setting-expected.txt 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/LayoutTests/fast/css/image-set-setting-expected.txt 2016-07-02 00:22:15 UTC (rev 202765)
@@ -1,4 +1,4 @@
-Test the setting of the -webkit-image-set function.
+Test the setting of the image-set function.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
@@ -5,19 +5,19 @@
Single value for background-image : url(http://www.webkit.org/a) 1x
-PASS testComputedStyle("background-image", "-webkit-image-set(url(http://www.webkit.org/a) 1x)") is "-webkit-image-set(url(http://www.webkit.org/a) 1x)"
+PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/a) 1x)") is "image-set(url(http://www.webkit.org/a) 1x)"
Multiple values for background-image : url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x
-PASS testComputedStyle("background-image", "-webkit-image-set(url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x)") is "-webkit-image-set(url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x)"
+PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x)") is "image-set(url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x)"
Multiple values for background-image, out of order : url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
-PASS testComputedStyle("background-image", "-webkit-image-set(url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)") is "-webkit-image-set(url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)"
+PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)") is "image-set(url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)"
Duplicate values for background-image : url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
-PASS testComputedStyle("background-image", "-webkit-image-set(url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)") is "-webkit-image-set(url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)"
+PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)") is "image-set(url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)"
Fractional values for background-image : url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x
-PASS testComputedStyle("background-image", "-webkit-image-set(url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x)") is "-webkit-image-set(url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x)"
+PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x)") is "image-set(url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x)"
PASS successfullyParsed is true
TEST COMPLETE
Added: trunk/LayoutTests/fast/css/image-set-unprefixed-expected.txt (0 => 202765)
--- trunk/LayoutTests/fast/css/image-set-unprefixed-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/css/image-set-unprefixed-expected.txt 2016-07-02 00:22:15 UTC (rev 202765)
@@ -0,0 +1,81 @@
+
+Single value for background-image : url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Multiple values for background-image : url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x
+Unprefixed: PASS
+Prefixed: PASS
+
+Multiple values for background-image, out of order : url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Duplicate values for background-image : url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Fractional values for background-image : url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x
+Unprefixed: PASS
+Prefixed: PASS
+
+Single value for cursor : url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Multiple values for cursor : url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x
+Unprefixed: PASS
+Prefixed: PASS
+
+Multiple values for cursor, out of order : url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Duplicate values for cursor : url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Fractional values for cursor : url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x
+Unprefixed: PASS
+Prefixed: PASS
+
+Single value for list-style-image : url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Multiple values for list-style-image : url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x
+Unprefixed: PASS
+Prefixed: PASS
+
+Multiple values for list-style-image, out of order : url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Duplicate values for list-style-image : url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Fractional values for list-style-image : url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x
+Unprefixed: PASS
+Prefixed: PASS
+
+Single value for content : url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Multiple values for content : url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x
+Unprefixed: PASS
+Prefixed: PASS
+
+Multiple values for content, out of order : url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Duplicate values for content : url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
+Unprefixed: PASS
+Prefixed: PASS
+
+Fractional values for content : url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x
+Unprefixed: PASS
+Prefixed: PASS
+
Property changes on: trunk/LayoutTests/fast/css/image-set-unprefixed-expected.txt
___________________________________________________________________
Added: svn:eol-style
+native
\ No newline at end of property
Added: svn:keywords
+Date Revision
\ No newline at end of property
Added: svn:mime-type
+text/plain
\ No newline at end of property
Added: trunk/LayoutTests/fast/css/image-set-unprefixed.html (0 => 202765)
--- trunk/LayoutTests/fast/css/image-set-unprefixed.html (rev 0)
+++ trunk/LayoutTests/fast/css/image-set-unprefixed.html 2016-07-02 00:22:15 UTC (rev 202765)
@@ -0,0 +1,120 @@
+<pre id="output"></pre>
+<script>
+function debug(msg)
+{
+ var output = document.getElementById("output");
+ output.appendChild(document.createTextNode(msg + "\n"));
+}
+
+function testComputedStyle(property, fullRule)
+{
+ var div = document.createElement("div");
+ document.body.appendChild(div);
+ div.setAttribute("style", property + ": " + fullRule);
+ var computedValue = div.style[property];
+ document.body.removeChild(div);
+ return computedValue;
+}
+
+function testImageSetRule(description, property, rule, expected)
+{
+ debug("");
+ debug(`${description} : ${rule}`);
+
+ var rule = `image-set(${rule})`;
+ if (testComputedStyle(property, rule) == rule)
+ debug("Unprefixed: PASS");
+ else
+ debug("Unprefixed: FAIL");
+
+ if (testComputedStyle(property, "-webkit-" + rule) == rule)
+ debug("Prefixed: PASS");
+ else
+ debug("Prefixed: FAIL");
+}
+
+if (window.testRunner)
+ window.testRunner.dumpAsText();
+
+testImageSetRule("Single value for background-image",
+ "background-image",
+ "url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Multiple values for background-image",
+ "background-image",
+ "url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x");
+
+testImageSetRule("Multiple values for background-image, out of order",
+ "background-image",
+ "url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Duplicate values for background-image",
+ "background-image",
+ "url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Fractional values for background-image",
+ "background-image",
+ "url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x");
+
+testImageSetRule("Single value for cursor",
+ "cursor",
+ "url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Multiple values for cursor",
+ "cursor",
+ "url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x");
+
+testImageSetRule("Multiple values for cursor, out of order",
+ "cursor",
+ "url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Duplicate values for cursor",
+ "cursor",
+ "url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Fractional values for cursor",
+ "cursor",
+ "url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x");
+
+testImageSetRule("Single value for list-style-image",
+ "list-style-image",
+ "url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Multiple values for list-style-image",
+ "list-style-image",
+ "url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x");
+
+testImageSetRule("Multiple values for list-style-image, out of order",
+ "list-style-image",
+ "url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Duplicate values for list-style-image",
+ "list-style-image",
+ "url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Fractional values for list-style-image",
+ "list-style-image",
+ "url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x");
+
+testImageSetRule("Single value for content",
+ "content",
+ "url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Multiple values for content",
+ "content",
+ "url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x");
+
+testImageSetRule("Multiple values for content, out of order",
+ "content",
+ "url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Duplicate values for content",
+ "content",
+ "url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x");
+
+testImageSetRule("Fractional values for content",
+ "content",
+ "url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x");
+
+
+</script>
Property changes on: trunk/LayoutTests/fast/css/image-set-unprefixed.html
___________________________________________________________________
Added: svn:eol-style
+native
\ No newline at end of property
Added: svn:keywords
+Date Revision
\ No newline at end of property
Added: svn:mime-type
+text/html
\ No newline at end of property
Modified: trunk/LayoutTests/fast/css/script-tests/image-set-setting.js (202764 => 202765)
--- trunk/LayoutTests/fast/css/script-tests/image-set-setting.js 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/LayoutTests/fast/css/script-tests/image-set-setting.js 2016-07-02 00:22:15 UTC (rev 202765)
@@ -1,4 +1,4 @@
-description("Test the setting of the -webkit-image-set function.");
+description("Test the setting of the image-set function.");
function testComputedStyle(property, fullRule)
{
@@ -15,7 +15,7 @@
debug("");
debug(description + " : " + rule);
- var fullRule = "-webkit-image-set(" + rule + ")";
+ var fullRule = "image-set(" + rule + ")";
shouldBeEqualToString('testComputedStyle("' + property + '", "' + fullRule + '")', fullRule);
}
Modified: trunk/Source/WebCore/ChangeLog (202764 => 202765)
--- trunk/Source/WebCore/ChangeLog 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/Source/WebCore/ChangeLog 2016-07-02 00:22:15 UTC (rev 202765)
@@ -1,3 +1,26 @@
+2016-07-01 Dean Jackson <[email protected]>
+
+ "image-src" support is missing. We only support "-webkit-image-src"
+ https://bugs.webkit.org/show_bug.cgi?id=159373
+ <rdar://problem/27140443>
+
+ Patch by Brent Fulgham and Dean Jackson.
+ Reviewed by Dean Jackson and Brent Fulgham.
+
+ Support unprefixed image-set.
+
+ Test: fast/css/image-set-unprefixed.html
+
+ * css/CSSImageSetValue.cpp:
+ (WebCore::CSSImageSetValue::customCSSText):
+ * css/CSSParser.cpp:
+ (WebCore::isImageSetFunctionValue): New helper function
+ that checks prefixed and unprefixed form.
+ (WebCore::CSSParser::parseValue): Use the helper.
+ (WebCore::CSSParser::parseContent):
+ (WebCore::CSSParser::parseFillImage):
+ (WebCore::CSSParser::parseBorderImage):
+
2016-07-01 Chris Dumez <[email protected]>
Possible null Range dereference under AXObjectCache::visiblePositionFromCharacterOffset()
Modified: trunk/Source/WebCore/css/CSSImageSetValue.cpp (202764 => 202765)
--- trunk/Source/WebCore/css/CSSImageSetValue.cpp 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/Source/WebCore/css/CSSImageSetValue.cpp 2016-07-02 00:22:15 UTC (rev 202765)
@@ -154,7 +154,7 @@
String CSSImageSetValue::customCSSText() const
{
StringBuilder result;
- result.appendLiteral("-webkit-image-set(");
+ result.appendLiteral("image-set(");
size_t length = this->length();
size_t i = 0;
Modified: trunk/Source/WebCore/css/CSSParser.cpp (202764 => 202765)
--- trunk/Source/WebCore/css/CSSParser.cpp 2016-07-01 23:58:30 UTC (rev 202764)
+++ trunk/Source/WebCore/css/CSSParser.cpp 2016-07-02 00:22:15 UTC (rev 202765)
@@ -1876,6 +1876,11 @@
return nullptr;
}
+static bool isImageSetFunctionValue(const CSSParserValue& value)
+{
+ return value.unit == CSSParserValue::Function && (equalLettersIgnoringASCIICase(value.function->name, "image-set(") || equalLettersIgnoringASCIICase(value.function->name, "-webkit-image-set("));
+}
+
bool CSSParser::parseValue(CSSPropertyID propId, bool important)
{
if (!m_valueList || !m_valueList->current())
@@ -2092,7 +2097,7 @@
if (!uri.isNull())
image = CSSImageValue::create(completeURL(uri));
#if ENABLE(CSS_IMAGE_SET) && ENABLE(MOUSE_CURSOR_SCALE)
- } else if (value->unit == CSSParserValue::Function && equalLettersIgnoringASCIICase(value->function->name, "-webkit-image-set(")) {
+ } else if (isImageSetFunctionValue(*value)) {
image = parseImageSet();
if (!image)
break;
@@ -2225,7 +2230,7 @@
return false;
}
#if ENABLE(CSS_IMAGE_SET)
- else if (valueWithCalculation.value().unit == CSSParserValue::Function && equalLettersIgnoringASCIICase(valueWithCalculation.value().function->name, "-webkit-image-set(")) {
+ else if (isImageSetFunctionValue(valueWithCalculation.value())) {
parsedValue = parseImageSet();
if (!parsedValue)
return false;
@@ -4254,7 +4259,7 @@
if (!parsedValue)
return false;
#if ENABLE(CSS_IMAGE_SET)
- } else if (equalLettersIgnoringASCIICase(value->function->name, "-webkit-image-set(")) {
+ } else if (isImageSetFunctionValue(*value)) {
parsedValue = parseImageSet();
if (!parsedValue)
return false;
@@ -4352,7 +4357,7 @@
return parseGeneratedImage(valueList, value);
#if ENABLE(CSS_IMAGE_SET)
- if (valueList.current()->unit == CSSParserValue::Function && equalLettersIgnoringASCIICase(valueList.current()->function->name, "-webkit-image-set(")) {
+ if (isImageSetFunctionValue(*valueList.current())) {
value = parseImageSet();
if (value)
return true;
@@ -8302,7 +8307,7 @@
else
return false;
#if ENABLE(CSS_IMAGE_SET)
- } else if (currentValue->unit == CSSParserValue::Function && equalLettersIgnoringASCIICase(currentValue->function->name, "-webkit-image-set(")) {
+ } else if (isImageSetFunctionValue(*currentValue)) {
RefPtr<CSSValue> value = parseImageSet();
if (value)
context.commitImage(value.releaseNonNull());