Changeset 176535 in webkit
- Timestamp:
- Nov 24, 2014, 9:26:27 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fast/css/css-selector-text-expected.txt (modified) (2 diffs)
-
LayoutTests/fast/css/css-selector-text.html (modified) (2 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/css/CSSSelector.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r176528 r176535 1 2014-11-24 Dhi Aurrahman <diorahman@rockybars.com> 2 3 Fix the parsing and re-serialization of :lang pseudo class selector when it has multiple arguments with same value 4 https://bugs.webkit.org/show_bug.cgi?id=139013 5 6 Reviewed by Benjamin Poulain. 7 8 Updated tests to verify the parsing and serialization of :lang pseudo class 9 selector when it has multiple arguments with same value. 10 11 * fast/css/css-selector-text-expected.txt: Updated to cover fix. 12 * fast/css/css-selector-text.html: Updated to cover fix. 13 1 14 2014-11-24 Antti Koivisto <antti@apple.com> 2 15 -
trunk/LayoutTests/fast/css/css-selector-text-expected.txt
r176241 r176535 55 55 PASS parseThenSerializeRule(':lang(de-CH, it-CH, fr-CH, rm-CH) { }') is ':lang(de-CH, it-CH, fr-CH, rm-CH) { }' 56 56 PASS parseThenSerializeRule(':lang(de-DE, de-DE-1996, de-Latn-DE, de-Latf-DE, de-Latn-DE-1996, de-CH, it-CH, fr-CH, rm-CH) { }') is ':lang(de-DE, de-DE-1996, de-Latn-DE, de-Latf-DE, de-Latn-DE-1996, de-CH, it-CH, fr-CH, rm-CH) { }' 57 58 PASS parseThenSerializeRule(':lang(a, a, a) { }') is ':lang(a, a, a) { }' 59 PASS parseThenSerializeRule(':lang(en, en, en) { }') is ':lang(en, en, en) { }' 60 PASS parseThenSerializeRule(':lang(en-us, en-us, en-us) { }') is ':lang(en-us, en-us, en-us) { }' 61 PASS parseThenSerializeRule(':lang(de-DE-1996, de-DE-1996, de-DE-1996) { }') is ':lang(de-DE-1996, de-DE-1996, de-DE-1996) { }' 62 PASS parseThenSerializeRule(':lang(de-Latn-DE-1996, de-Latn-DE-1996, de-Latn-DE-1996) { }') is ':lang(de-Latn-DE-1996, de-Latn-DE-1996, de-Latn-DE-1996) { }' 63 PASS parseThenSerializeRule(':lang(java, java, java) { }') is ':lang(java, java, java) { }' 57 64 58 65 PASS parseThenSerializeRule(':not(a) { }') is ':not(a) { }' … … 276 283 PASS parseThenSerializeRule(':lang(a,b, c ) { }') is ':lang(a, b, c) { }' 277 284 285 PASS parseThenSerializeRule(':lang(en, en, en) { }') is ':lang(en, en, en) { }' 286 PASS parseThenSerializeRule(':lang(en,en,en) { }') is ':lang(en, en, en) { }' 287 PASS parseThenSerializeRule(':lang(en,en, en) { }') is ':lang(en, en, en) { }' 288 PASS parseThenSerializeRule(':lang(en, en,en) { }') is ':lang(en, en, en) { }' 289 PASS parseThenSerializeRule(':lang(en, en,en ) { }') is ':lang(en, en, en) { }' 290 PASS parseThenSerializeRule(':lang( en, en,en ) { }') is ':lang(en, en, en) { }' 291 PASS parseThenSerializeRule(':lang(en, en, en) { }') is ':lang(en, en, en) { }' 292 PASS parseThenSerializeRule(':lang( en, en, en) { }') is ':lang(en, en, en) { }' 293 PASS parseThenSerializeRule(':lang( en, en, en ) { }') is ':lang(en, en, en) { }' 294 PASS parseThenSerializeRule(':lang( en , en , en ) { }') is ':lang(en, en, en) { }' 295 PASS parseThenSerializeRule(':lang( en,en,en ) { }') is ':lang(en, en, en) { }' 296 278 297 PASS parseThenSerializeRule(':lang() { }') threw exception TypeError: undefined is not an object (evaluating 'styleElement.sheet.cssRules[0].cssText'). 279 298 PASS parseThenSerializeRule(':lang(12, b, c) { }') threw exception TypeError: undefined is not an object (evaluating 'styleElement.sheet.cssRules[0].cssText'). -
trunk/LayoutTests/fast/css/css-selector-text.html
r176241 r176535 88 88 testSelectorRoundTrip(":lang(de-CH, it-CH, fr-CH, rm-CH)"); 89 89 testSelectorRoundTrip(":lang(de-DE, de-DE-1996, de-Latn-DE, de-Latf-DE, de-Latn-DE-1996, de-CH, it-CH, fr-CH, rm-CH)"); 90 91 debug('') 92 93 testSelectorRoundTrip(":lang(a, a, a)"); 94 testSelectorRoundTrip(":lang(en, en, en)"); 95 testSelectorRoundTrip(":lang(en-us, en-us, en-us)"); 96 testSelectorRoundTrip(":lang(de-DE-1996, de-DE-1996, de-DE-1996)"); 97 testSelectorRoundTrip(":lang(de-Latn-DE-1996, de-Latn-DE-1996, de-Latn-DE-1996)"); 98 testSelectorRoundTrip(":lang(java, java, java)"); 90 99 91 100 debug(''); … … 353 362 debug(''); 354 363 364 shouldBe("parseThenSerializeRule(':lang(en, en, en) { }')", "':lang(en, en, en) { }'"); 365 shouldBe("parseThenSerializeRule(':lang(en,en,en) { }')", "':lang(en, en, en) { }'"); 366 shouldBe("parseThenSerializeRule(':lang(en,en, en) { }')", "':lang(en, en, en) { }'"); 367 shouldBe("parseThenSerializeRule(':lang(en, en,en) { }')", "':lang(en, en, en) { }'"); 368 shouldBe("parseThenSerializeRule(':lang(en, en,en ) { }')", "':lang(en, en, en) { }'"); 369 shouldBe("parseThenSerializeRule(':lang( en, en,en ) { }')", "':lang(en, en, en) { }'"); 370 shouldBe("parseThenSerializeRule(':lang(en, en, en) { }')", "':lang(en, en, en) { }'"); 371 shouldBe("parseThenSerializeRule(':lang( en, en, en) { }')", "':lang(en, en, en) { }'"); 372 shouldBe("parseThenSerializeRule(':lang( en, en, en ) { }')", "':lang(en, en, en) { }'"); 373 shouldBe("parseThenSerializeRule(':lang( en , en , en ) { }')", "':lang(en, en, en) { }'"); 374 shouldBe("parseThenSerializeRule(':lang( en,en,en ) { }')", "':lang(en, en, en) { }'"); 375 376 debug(''); 377 355 378 shouldThrow("parseThenSerializeRule(':lang() { }')"); 356 379 shouldThrow("parseThenSerializeRule(':lang(12, b, c) { }')"); -
trunk/Source/WebCore/ChangeLog
r176534 r176535 1 2014-11-24 Dhi Aurrahman <diorahman@rockybars.com> 2 3 Fix the parsing and re-serialization of :lang pseudo class selector when it has multiple arguments with same value 4 https://bugs.webkit.org/show_bug.cgi?id=139013 5 6 Reviewed by Benjamin Poulain. 7 8 Fix the parsing and re-serialization of :lang pseudo class selector when 9 it has multiple arguments with same value e.g. :lang(en, en, en). Previously, 10 given :lang(en, en, en) selector, it was parsed and reserialized 11 as :lang(enenen) instead of :lang(en, en, en) 12 13 Related test on parsing and re-serialization of css selectors is updated. 14 15 * css/CSSSelector.cpp: 16 (WebCore::appendArgumentList): 17 1 18 2014-11-24 Zalan Bujtas <zalan@apple.com> 2 19 -
trunk/Source/WebCore/css/CSSSelector.cpp
r176529 r176535 340 340 static void appendArgumentList(StringBuilder& str, const Vector<AtomicString>& argumentList) 341 341 { 342 const AtomicString& lastArgument = argumentList.last();343 for ( const AtomicString argument : argumentList) {344 str.append(argument );345 if ( argument != lastArgument)342 unsigned argumentListSize = argumentList.size(); 343 for (unsigned i = 0; i < argumentListSize; ++i) { 344 str.append(argumentList[i]); 345 if (i != argumentListSize - 1) 346 346 str.appendLiteral(", "); 347 347 }
Note:
See TracChangeset
for help on using the changeset viewer.