Changeset 132388 in webkit
- Timestamp:
- Oct 24, 2012 1:18:36 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r132382 r132388 1 2012-10-24 Rick Byers <rbyers@chromium.org> 2 3 image-set doesn't round-trip properly with cssText 4 https://bugs.webkit.org/show_bug.cgi?id=99725 5 6 Reviewed by Beth Dakin. 7 8 Update image-set-setting test to expect the css text to round-trip properly. 9 10 * fast/css/image-set-setting-expected.txt: 11 * fast/css/script-tests/image-set-setting.js: 12 (testComputedStyle): 13 (testImageSetRule): 14 1 15 2012-10-24 Zan Dobersek <zandobersek@gmail.com> 2 16 -
trunk/LayoutTests/fast/css/image-set-setting-expected.txt
r126611 r132388 5 5 6 6 7 Single value for background-image : url( 'http://www.webkit.org/a') 1x8 PASS testComputedStyle("background-image", " url('http://www.webkit.org/a') 1x") is "-webkit-image-set(url(http://www.webkit.org/a), 1)"7 Single 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)" 9 9 10 Multiple values for background-image : url( 'http://www.webkit.org/a') 1x, url('http://www.webkit.org/b') 2x11 PASS testComputedStyle("background-image", " url('http://www.webkit.org/a') 1x, url('http://www.webkit.org/b') 2x") is "-webkit-image-set(url(http://www.webkit.org/a), 1, url(http://www.webkit.org/b), 2)"10 Multiple 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)" 12 12 13 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 14 PASS testComputedStyle("background-image", "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), 3, url(http://www.webkit.org/b), 2, url(http://www.webkit.org/a), 1)" 13 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 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)" 15 16 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 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)" 18 19 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 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)" 15 21 PASS successfullyParsed is true 16 22 -
trunk/LayoutTests/fast/css/script-tests/image-set-setting.js
r126611 r132388 1 1 description("Test the setting of the -webkit-image-set function."); 2 2 3 function testComputedStyle(property, rule)3 function testComputedStyle(property, fullRule) 4 4 { 5 5 var div = document.createElement("div"); 6 6 document.body.appendChild(div); 7 div.setAttribute("style", property + ": -webkit-image-set(" + rule + ")");7 div.setAttribute("style", property + ": " + fullRule); 8 8 var computedValue = div.style.background; 9 9 document.body.removeChild(div); … … 16 16 debug(description + " : " + rule); 17 17 18 shouldBeEqualToString('testComputedStyle("' + property + '", "' + rule + '")', expected); 18 var fullRule = "-webkit-image-set(" + rule + ")"; 19 shouldBeEqualToString('testComputedStyle("' + property + '", "' + fullRule + '")', fullRule); 19 20 } 20 21 21 22 testImageSetRule("Single value for background-image", 22 23 "background-image", 23 "url('http://www.webkit.org/a') 1x", 24 "-webkit-image-set(url(http://www.webkit.org/a), 1)"); 24 "url(http://www.webkit.org/a) 1x"); 25 25 26 26 testImageSetRule("Multiple values for background-image", 27 27 "background-image", 28 "url('http://www.webkit.org/a') 1x, url('http://www.webkit.org/b') 2x", 29 "-webkit-image-set(url(http://www.webkit.org/a), 1, url(http://www.webkit.org/b), 2)"); 28 "url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x"); 30 29 31 30 testImageSetRule("Multiple values for background-image, out of order", 32 31 "background-image", 33 "url('http://www.webkit.org/c') 3x, url('http://www.webkit.org/b') 2x, url('http://www.webkit.org/a') 1x", 34 "-webkit-image-set(url(http://www.webkit.org/c), 3, url(http://www.webkit.org/b), 2, url(http://www.webkit.org/a), 1)"); 32 "url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x"); 33 34 testImageSetRule("Duplicate values for background-image", 35 "background-image", 36 "url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x"); 37 38 testImageSetRule("Fractional values for background-image", 39 "background-image", 40 "url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x"); 41 42 // FIXME: We should also be testing the behavior of negative values somewhere, but it's currently 43 // broken. http://wkb.ug/100132 35 44 36 45 successfullyParsed = true; -
trunk/Source/WebCore/ChangeLog
r132387 r132388 1 2012-10-24 Rick Byers <rbyers@chromium.org> 2 3 image-set doesn't round-trip properly with cssText 4 https://bugs.webkit.org/show_bug.cgi?id=99725 5 6 Reviewed by Beth Dakin. 7 8 Fix serialization of -webkit-image-set rules to use the same format as 9 is used for parsing. 10 11 Test: fast/css/image-set-setting.html 12 13 * css/CSSImageSetValue.cpp: 14 (WebCore::CSSImageSetValue::customCssText): 15 * css/CSSValueList.h: 16 (WebCore::CSSValueList::item): Add const overload 17 1 18 2012-10-24 Jonathan Feldstein <jfeldstein@rim.com> 2 19 -
trunk/Source/WebCore/css/CSSImageSetValue.cpp
r132157 r132388 141 141 String CSSImageSetValue::customCssText() const 142 142 { 143 return "-webkit-image-set(" + CSSValueList::customCssText() + ")"; 143 StringBuilder result; 144 result.append("-webkit-image-set("); 145 146 size_t length = this->length(); 147 size_t i = 0; 148 while (i < length) { 149 if (i > 0) 150 result.append(", "); 151 152 const CSSValue* imageValue = item(i); 153 result.append(imageValue->cssText()); 154 result.append(' '); 155 156 ++i; 157 ASSERT(i < length); 158 const CSSValue* scaleFactorValue = item(i); 159 result.append(scaleFactorValue->cssText()); 160 // FIXME: Eventually the scale factor should contain it's own unit http://wkb.ug/100120. 161 // For now 'x' is hard-coded in the parser, so we hard-code it here too. 162 result.append('x'); 163 164 ++i; 165 } 166 167 result.append(")"); 168 return result.toString(); 144 169 } 145 170 -
trunk/Source/WebCore/css/CSSValueList.h
r130292 r132388 51 51 size_t length() const { return m_values.size(); } 52 52 CSSValue* item(size_t index) { return index < m_values.size() ? m_values[index].get() : 0; } 53 const CSSValue* item(size_t index) const { return index < m_values.size() ? m_values[index].get() : 0; } 53 54 CSSValue* itemWithoutBoundsCheck(size_t index) { return m_values[index].get(); } 54 55
Note: See TracChangeset
for help on using the changeset viewer.