Changeset 202765 in webkit


Ignore:
Timestamp:
Jul 1, 2016 5:22:15 PM (8 years ago)
Author:
dino@apple.com
Message:

"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.

Source/WebCore:

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):

LayoutTests:

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):

Location:
trunk
Files:
2 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r202764 r202765  
     12016-07-01  Dean Jackson  <dino@apple.com>
     2
     3        "image-src" support is missing. We only support "-webkit-image-src"
     4        https://bugs.webkit.org/show_bug.cgi?id=159373
     5        <rdar://problem/27140443>
     6
     7        Patch by Brent Fulgham and Dean Jackson.
     8        Reviewed by Dean Jackson and Brent Fulgham.
     9
     10        Convert some existing tests to use the unprefixed form,
     11        and add a test that checks we are compatible with
     12        the prefixed form.
     13
     14        * cssom/cssvalue-comparison-expected.txt:
     15        * cssom/cssvalue-comparison.html:
     16        * fast/css/cursor-parsing-image-set-expected.txt:
     17        * fast/css/cursor-parsing-image-set.html:
     18        * fast/css/image-set-setting-expected.txt:
     19        * fast/css/image-set-unprefixed-expected.txt: Added.
     20        * fast/css/image-set-unprefixed.html: Added.
     21        * fast/css/script-tests/image-set-setting.js:
     22        (testImageSetRule):
     23
    1242016-07-01  Ryan Haddad  <ryanhaddad@apple.com>
    225
  • trunk/LayoutTests/cssom/cssvalue-comparison-expected.txt

    r200357 r202765  
    9999PASS Two CSSValues "-webkit-image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)" for property "background-image" are equal.
    100100PASS 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.
     101PASS Two CSSValues "image-set(url(dummy://test.png) 1x, url(dummy://test.png) 2x)" for property "background-image" are equal.
     102PASS Two CSSValues "image-set(url(dummy://small.png) 2x, url(dummy://big.png) 3x)" for property "background-image" are equal.
     103PASS 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.
    101104PASS Two CSSValues "grayscale(100%) sepia(100%)" for property "-webkit-filter" are equal.
    102105PASS Two CSSValues "sepia(10%) grayscale(50%)" for property "-webkit-filter" are equal.
  • trunk/LayoutTests/cssom/cssvalue-comparison.html

    r200357 r202765  
    6060                  {"-webkit-line-box-contain" : ["inline-box", "font", "glyphs", "replaced"]}, // line-box-contain
    6161                  {"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
     62                  {"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
    6263                  {"-webkit-filter" : ["grayscale(100%) sepia(100%)", "sepia(10%) grayscale(50%)"]}, // filter
    6364                  {"-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
  • trunk/LayoutTests/fast/css/cursor-parsing-image-set-expected.txt

    r136919 r202765  
    77
    88Test a bunch of cursor rules which should round-trip exactly.
    9 PASS roundtripCssRule("cursor: -webkit-image-set(url(file:///foo.png) 1x), auto;") is "cursor: -webkit-image-set(url(file:///foo.png) 1x), auto;"
    10 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;"
    11 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;"
    12 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;"
     9PASS roundtripCssRule("cursor: image-set(url(file:///foo.png) 1x), auto;") is "cursor: image-set(url(file:///foo.png) 1x), auto;"
     10PASS 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;"
     11PASS 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;"
     12PASS 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;"
    1313PASS successfullyParsed is true
    1414
  • trunk/LayoutTests/fast/css/cursor-parsing-image-set.html

    r155263 r202765  
    3737
    3838debug('Test a bunch of cursor rules which should round-trip exactly.');
    39 testCursorRule('-webkit-image-set(url(file:///foo.png) 1x), auto');
    40 testCursorRule('-webkit-image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x), auto');
    41 testCursorRule('-webkit-image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x) 2 3, auto');
    42 testCursorRule('-webkit-image-set(url(file:///foo03.png) 0.3x, url(file:///foo5x.png) 5x) 6 5, url(file:///foo.png) 12 3, pointer');
     39testCursorRule('image-set(url(file:///foo.png) 1x), auto');
     40testCursorRule('image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x), auto');
     41testCursorRule('image-set(url(file:///foo.png) 1x, url(file:///foo2x.png) 2x) 2 3, auto');
     42testCursorRule('image-set(url(file:///foo03.png) 0.3x, url(file:///foo5x.png) 5x) 6 5, url(file:///foo.png) 12 3, pointer');
    4343
    4444successfullyParsed = true;
  • trunk/LayoutTests/fast/css/image-set-setting-expected.txt

    r132388 r202765  
    1 Test the setting of the -webkit-image-set function.
     1Test the setting of the image-set function.
    22
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     
    66
    77Single value for background-image : url(http://www.webkit.org/a) 1x
    8 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)"
     8PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/a) 1x)") is "image-set(url(http://www.webkit.org/a) 1x)"
    99
    1010Multiple values for background-image : url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x
    11 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)"
     11PASS 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)"
    1212
    1313Multiple 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
    14 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)"
     14PASS 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)"
    1515
    1616Duplicate 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
    17 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)"
     17PASS 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)"
    1818
    1919Fractional 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
    20 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)"
     20PASS 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)"
    2121PASS successfullyParsed is true
    2222
  • trunk/LayoutTests/fast/css/script-tests/image-set-setting.js

    r200357 r202765  
    1 description("Test the setting of the -webkit-image-set function.");
     1description("Test the setting of the image-set function.");
    22
    33function testComputedStyle(property, fullRule)
     
    1616    debug(description + " : " + rule);
    1717
    18     var fullRule = "-webkit-image-set(" + rule + ")";
     18    var fullRule = "image-set(" + rule + ")";
    1919    shouldBeEqualToString('testComputedStyle("' + property + '", "' + fullRule + '")', fullRule);
    2020}
  • trunk/Source/WebCore/ChangeLog

    r202762 r202765  
     12016-07-01  Dean Jackson  <dino@apple.com>
     2
     3        "image-src" support is missing. We only support "-webkit-image-src"
     4        https://bugs.webkit.org/show_bug.cgi?id=159373
     5        <rdar://problem/27140443>
     6
     7        Patch by Brent Fulgham and Dean Jackson.
     8        Reviewed by Dean Jackson and Brent Fulgham.
     9
     10        Support unprefixed image-set.
     11
     12        Test: fast/css/image-set-unprefixed.html
     13
     14        * css/CSSImageSetValue.cpp:
     15        (WebCore::CSSImageSetValue::customCSSText):
     16        * css/CSSParser.cpp:
     17        (WebCore::isImageSetFunctionValue): New helper function
     18        that checks prefixed and unprefixed form.
     19        (WebCore::CSSParser::parseValue): Use the helper.
     20        (WebCore::CSSParser::parseContent):
     21        (WebCore::CSSParser::parseFillImage):
     22        (WebCore::CSSParser::parseBorderImage):
     23
    1242016-07-01  Chris Dumez  <cdumez@apple.com>
    225
  • trunk/Source/WebCore/css/CSSImageSetValue.cpp

    r202674 r202765  
    155155{
    156156    StringBuilder result;
    157     result.appendLiteral("-webkit-image-set(");
     157    result.appendLiteral("image-set(");
    158158
    159159    size_t length = this->length();
  • trunk/Source/WebCore/css/CSSParser.cpp

    r202091 r202765  
    18771877}
    18781878
     1879static bool isImageSetFunctionValue(const CSSParserValue& value)
     1880{
     1881    return value.unit == CSSParserValue::Function && (equalLettersIgnoringASCIICase(value.function->name, "image-set(") || equalLettersIgnoringASCIICase(value.function->name, "-webkit-image-set("));
     1882}
     1883
    18791884bool CSSParser::parseValue(CSSPropertyID propId, bool important)
    18801885{
     
    20932098                    image = CSSImageValue::create(completeURL(uri));
    20942099#if ENABLE(CSS_IMAGE_SET) && ENABLE(MOUSE_CURSOR_SCALE)
    2095             } else if (value->unit == CSSParserValue::Function && equalLettersIgnoringASCIICase(value->function->name, "-webkit-image-set(")) {
     2100            } else if (isImageSetFunctionValue(*value)) {
    20962101                image = parseImageSet();
    20972102                if (!image)
     
    22262231        }
    22272232#if ENABLE(CSS_IMAGE_SET)
    2228         else if (valueWithCalculation.value().unit == CSSParserValue::Function && equalLettersIgnoringASCIICase(valueWithCalculation.value().function->name, "-webkit-image-set(")) {
     2233        else if (isImageSetFunctionValue(valueWithCalculation.value())) {
    22292234            parsedValue = parseImageSet();
    22302235            if (!parsedValue)
     
    42554260                    return false;
    42564261#if ENABLE(CSS_IMAGE_SET)
    4257             } else if (equalLettersIgnoringASCIICase(value->function->name, "-webkit-image-set(")) {
     4262            } else if (isImageSetFunctionValue(*value)) {
    42584263                parsedValue = parseImageSet();
    42594264                if (!parsedValue)
     
    43534358   
    43544359#if ENABLE(CSS_IMAGE_SET)
    4355     if (valueList.current()->unit == CSSParserValue::Function && equalLettersIgnoringASCIICase(valueList.current()->function->name, "-webkit-image-set(")) {
     4360    if (isImageSetFunctionValue(*valueList.current())) {
    43564361        value = parseImageSet();
    43574362        if (value)
     
    83038308                    return false;
    83048309#if ENABLE(CSS_IMAGE_SET)
    8305             } else if (currentValue->unit == CSSParserValue::Function && equalLettersIgnoringASCIICase(currentValue->function->name, "-webkit-image-set(")) {
     8310            } else if (isImageSetFunctionValue(*currentValue)) {
    83068311                RefPtr<CSSValue> value = parseImageSet();
    83078312                if (value)
Note: See TracChangeset for help on using the changeset viewer.