<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[180753] releases/WebKitGTK/webkit-2.8</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/180753">180753</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2015-02-27 08:50:20 -0800 (Fri, 27 Feb 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/180413">r180413</a> - Language ranges containing asterisks must be quoted as strings
https://bugs.webkit.org/show_bug.cgi?id=141659
Reviewed by Benjamin Poulain.
Source/WebCore:
As specified in [1], the language ranges containing asterisks must be quoted as strings.
[1] http://dev.w3.org/csswg/selectors-4/#the-lang-pseudo.
* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::realLex):
LayoutTests:
Ensure language ranges containing asterisks are quoted as strings.
* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/parsing-css-lang-expected.txt:
* fast/css/parsing-css-lang.html:
* fast/selectors/lang-extended-filtering-expected.txt:
* fast/selectors/lang-extended-filtering.html:
* fast/selectors/lang-valid-extended-filtering-expected.txt:
* fast/selectors/lang-valid-extended-filtering.html:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsChangeLog">releases/WebKitGTK/webkit-2.8/LayoutTests/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsfastcsscssselectortextexpectedtxt">releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/css-selector-text-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsfastcsscssselectortexthtml">releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/css-selector-text.html</a></li>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsfastcssparsingcsslangexpectedtxt">releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/parsing-css-lang-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsfastcssparsingcsslanghtml">releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/parsing-css-lang.html</a></li>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsfastselectorslangextendedfilteringexpectedtxt">releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-extended-filtering-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsfastselectorslangextendedfilteringhtml">releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-extended-filtering.html</a></li>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsfastselectorslangvalidextendedfilteringexpectedtxt">releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-valid-extended-filtering-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit28LayoutTestsfastselectorslangvalidextendedfilteringhtml">releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-valid-extended-filtering.html</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCoreChangeLog">releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCorecssCSSGrammaryin">releases/WebKitGTK/webkit-2.8/Source/WebCore/css/CSSGrammar.y.in</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCorecssCSSParsercpp">releases/WebKitGTK/webkit-2.8/Source/WebCore/css/CSSParser.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="releasesWebKitGTKwebkit28LayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/ChangeLog (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/ChangeLog        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/ChangeLog        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2015-02-20 Dhi Aurrahman <diorahman@rockybars.com>
+
+ Language ranges containing asterisks must be quoted as strings
+ https://bugs.webkit.org/show_bug.cgi?id=141659
+
+ Reviewed by Benjamin Poulain.
+
+ Ensure language ranges containing asterisks are quoted as strings.
+
+ * fast/css/css-selector-text-expected.txt:
+ * fast/css/css-selector-text.html:
+ * fast/css/parsing-css-lang-expected.txt:
+ * fast/css/parsing-css-lang.html:
+ * fast/selectors/lang-extended-filtering-expected.txt:
+ * fast/selectors/lang-extended-filtering.html:
+ * fast/selectors/lang-valid-extended-filtering-expected.txt:
+ * fast/selectors/lang-valid-extended-filtering.html:
+
</ins><span class="cx"> 2015-02-18 Andreas Kling <akling@apple.com>
</span><span class="cx">
</span><span class="cx"> REGRESSION(r179347): Clearing the PageCache no longer clears the PageCache.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28LayoutTestsfastcsscssselectortextexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/css-selector-text-expected.txt (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/css-selector-text-expected.txt        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/css-selector-text-expected.txt        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -54,9 +54,9 @@
</span><span class="cx"> PASS parseThenSerializeRule(':target { }') is ':target { }'
</span><span class="cx"> PASS parseThenSerializeRule(':visited { }') is ':visited { }'
</span><span class="cx">
</span><del>-PASS parseThenSerializeRule(':lang(*-ab) { }') is ':lang(*-ab) { }'
-PASS parseThenSerializeRule(':lang(*-ab-) { }') is ':lang(*-ab-) { }'
-PASS parseThenSerializeRule(':lang(*-DE-1996) { }') is ':lang(*-DE-1996) { }'
</del><ins>+PASS parseThenSerializeRule(':lang("*-ab") { }') is ':lang("*-ab") { }'
+PASS parseThenSerializeRule(':lang("*-ab-") { }') is ':lang("*-ab-") { }'
+PASS parseThenSerializeRule(':lang("*-DE-1996") { }') is ':lang("*-DE-1996") { }'
</ins><span class="cx">
</span><span class="cx"> PASS parseThenSerializeRule(':lang(a) { }') is ':lang(a) { }'
</span><span class="cx"> PASS parseThenSerializeRule(':lang(a, b, c) { }') is ':lang(a, b, c) { }'
</span><span class="lines">@@ -311,48 +311,48 @@
</span><span class="cx"> PASS parseThenSerializeRule(':lang( en , en , en ) { }') is ':lang(en, en, en) { }'
</span><span class="cx"> PASS parseThenSerializeRule(':lang( en,en,en ) { }') is ':lang(en, en, en) { }'
</span><span class="cx">
</span><del>-PASS parseThenSerializeRule(':lang(*-DE, *-CH, *-EN) { }') is ':lang(*-DE, *-CH, *-EN) { }'
-PASS parseThenSerializeRule(':lang(*-DE,*-CH,*-EN) { }') is ':lang(*-DE, *-CH, *-EN) { }'
-PASS parseThenSerializeRule(':lang( *-DE , *-CH , *-EN ) { }') is ':lang(*-DE, *-CH, *-EN) { }'
</del><ins>+PASS parseThenSerializeRule(':lang("*-DE", "*-CH", "*-EN") { }') is ':lang("*-DE", "*-CH", "*-EN") { }'
+PASS parseThenSerializeRule(':lang("*-DE","*-CH","*-EN") { }') is ':lang("*-DE", "*-CH", "*-EN") { }'
+PASS parseThenSerializeRule(':lang( "*-DE" , "*-CH" , "*-EN" ) { }') is ':lang("*-DE", "*-CH", "*-EN") { }'
</ins><span class="cx">
</span><span class="cx"> PASS parseThenSerializeRule(':lang(\\*) { }') is ':lang(*) { }'
</span><del>-PASS parseThenSerializeRule(':lang(*-\\*) { }') is ':lang(*-*) { }'
-PASS parseThenSerializeRule(':lang(*-\\*-\\*) { }') is ':lang(*-*-*) { }'
-PASS parseThenSerializeRule(':lang(*-\\*-\\*-\\*) { }') is ':lang(*-*-*-*) { }'
</del><ins>+PASS parseThenSerializeRule(':lang("*-\\*") { }') is ':lang("*-*") { }'
+PASS parseThenSerializeRule(':lang("*-\\*-\\*") { }') is ':lang("*-*-*") { }'
+PASS parseThenSerializeRule(':lang("*-\\*-\\*-\\*") { }') is ':lang("*-*-*-*") { }'
</ins><span class="cx">
</span><span class="cx"> PASS parseThenSerializeRule(':lang(ab-\\*) { }') is ':lang(ab-*) { }'
</span><del>-PASS parseThenSerializeRule(':lang(*-ab-\\*) { }') is ':lang(*-ab-*) { }'
-PASS parseThenSerializeRule(':lang(*-ab-\\*-) { }') is ':lang(*-ab-*-) { }'
-PASS parseThenSerializeRule(':lang(*-foo-\\3A) { }') is ':lang(*-foo-:) { }'
-PASS parseThenSerializeRule(':lang(*-foo-\\3A\\`\\)) { }') is ':lang(*-foo-:`)) { }'
-PASS parseThenSerializeRule(':lang(*-foo-\\*) { }') is ':lang(*-foo-*) { }'
-PASS parseThenSerializeRule(':lang(*-foo-\\0072 aisin) { }') is ':lang(*-foo-raisin) { }'
-PASS parseThenSerializeRule(':lang(*-foo-\\0062 \\0061 r) { }') is ':lang(*-foo-bar) { }'
-PASS parseThenSerializeRule(':lang(*-foo-col\\6Fr) { }') is ':lang(*-foo-color) { }'
</del><ins>+PASS parseThenSerializeRule(':lang("*-ab-\\*") { }') is ':lang("*-ab-*") { }'
+PASS parseThenSerializeRule(':lang("*-ab-\\*-") { }') is ':lang("*-ab-*-") { }'
+PASS parseThenSerializeRule(':lang("*-foo-\\3A") { }') is ':lang("*-foo-:") { }'
+PASS parseThenSerializeRule(':lang("*-foo-\\3A\\`\\)") { }') is ':lang("*-foo-:`)") { }'
+PASS parseThenSerializeRule(':lang("*-foo-\\*") { }') is ':lang("*-foo-*") { }'
+PASS parseThenSerializeRule(':lang("*-foo-\\0072 aisin") { }') is ':lang("*-foo-raisin") { }'
+PASS parseThenSerializeRule(':lang("*-foo-\\0062 \\0061 r") { }') is ':lang("*-foo-bar") { }'
+PASS parseThenSerializeRule(':lang("*-foo-col\\6Fr") { }') is ':lang("*-foo-color") { }'
</ins><span class="cx">
</span><span class="cx"> PASS parseThenSerializeRule(':lang(\\* ) { }') is ':lang(*) { }'
</span><del>-PASS parseThenSerializeRule(':lang(*-en ) { }') is ':lang(*-en) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\* ) { }') is ':lang(*-en-*) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr ) { }') is ':lang(*-en-*-fr) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr,br ) { }') is ':lang(*-en-*-fr, br) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, br ) { }') is ':lang(*-en-*-fr, br) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, br ) { }') is ':lang(*-en-*-fr, br) { }'
-PASS parseThenSerializeRule(':lang( *-en-\\*-fr, br ) { }') is ':lang(*-en-*-fr, br) { }'
-PASS parseThenSerializeRule(':lang( *-en-\\*-fr, br ) { }') is ':lang(*-en-*-fr, br) { }'
-PASS parseThenSerializeRule(':lang( *-en-\\*-fr , br ) { }') is ':lang(*-en-*-fr, br) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr,*-br-zh ) { }') is ':lang(*-en-*-fr, *-br-zh) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, *-br-zh ) { }') is ':lang(*-en-*-fr, *-br-zh) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, *-br-zh ) { }') is ':lang(*-en-*-fr, *-br-zh) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, *-br-zh ) { }') is ':lang(*-en-*-fr, *-br-zh) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, *-br-zh ) { }') is ':lang(*-en-*-fr, *-br-zh) { }'
</del><ins>+PASS parseThenSerializeRule(':lang("*-en" ) { }') is ':lang("*-en") { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*" ) { }') is ':lang("*-en-*") { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr" ) { }') is ':lang("*-en-*-fr") { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr",br ) { }') is ':lang("*-en-*-fr", br) { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", br ) { }') is ':lang("*-en-*-fr", br) { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", br ) { }') is ':lang("*-en-*-fr", br) { }'
+PASS parseThenSerializeRule(':lang( "*-en-\\*-fr", br ) { }') is ':lang("*-en-*-fr", br) { }'
+PASS parseThenSerializeRule(':lang( "*-en-\\*-fr", br ) { }') is ':lang("*-en-*-fr", br) { }'
+PASS parseThenSerializeRule(':lang( "*-en-\\*-fr" , br ) { }') is ':lang("*-en-*-fr", br) { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr","*-br-zh" ) { }') is ':lang("*-en-*-fr", "*-br-zh") { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", "*-br-zh" ) { }') is ':lang("*-en-*-fr", "*-br-zh") { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", "*-br-zh" ) { }') is ':lang("*-en-*-fr", "*-br-zh") { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", "*-br-zh" ) { }') is ':lang("*-en-*-fr", "*-br-zh") { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", "*-br-zh" ) { }') is ':lang("*-en-*-fr", "*-br-zh") { }'
</ins><span class="cx">
</span><del>-PASS parseThenSerializeRule(':lang(*-en-\\*-fr,br-\\*-zh ) { }') is ':lang(*-en-*-fr, br-*-zh) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, br-\\*-zh ) { }') is ':lang(*-en-*-fr, br-*-zh) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, br-\\*-zh ) { }') is ':lang(*-en-*-fr, br-*-zh) { }'
-PASS parseThenSerializeRule(':lang(*-en-\\*-fr, br-\\*-zh ) { }') is ':lang(*-en-*-fr, br-*-zh) { }'
-PASS parseThenSerializeRule(':lang( *-en-\\*-fr, br-\\*-zh ) { }') is ':lang(*-en-*-fr, br-*-zh) { }'
-PASS parseThenSerializeRule(':lang( *-en-\\*-fr , br-\\*-zh ) { }') is ':lang(*-en-*-fr, br-*-zh) { }'
-PASS parseThenSerializeRule(':lang( *-en-\\*-fr , br-\\*-zh ) { }') is ':lang(*-en-*-fr, br-*-zh) { }'
</del><ins>+PASS parseThenSerializeRule(':lang("*-en-\\*-fr",br-\\*-zh ) { }') is ':lang("*-en-*-fr", br-*-zh) { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", br-\\*-zh ) { }') is ':lang("*-en-*-fr", br-*-zh) { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", br-\\*-zh ) { }') is ':lang("*-en-*-fr", br-*-zh) { }'
+PASS parseThenSerializeRule(':lang("*-en-\\*-fr", br-\\*-zh ) { }') is ':lang("*-en-*-fr", br-*-zh) { }'
+PASS parseThenSerializeRule(':lang( "*-en-\\*-fr", br-\\*-zh ) { }') is ':lang("*-en-*-fr", br-*-zh) { }'
+PASS parseThenSerializeRule(':lang( "*-en-\\*-fr" , br-\\*-zh ) { }') is ':lang("*-en-*-fr", br-*-zh) { }'
+PASS parseThenSerializeRule(':lang( "*-en-\\*-fr" , br-\\*-zh ) { }') is ':lang("*-en-*-fr", br-*-zh) { }'
</ins><span class="cx">
</span><span class="cx"> PASS parseThenSerializeRule(':lang(\\*) { }') is ':lang(*) { }'
</span><span class="cx"> PASS parseThenSerializeRule(':lang(\\* ) { }') is ':lang(*) { }'
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28LayoutTestsfastcsscssselectortexthtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/css-selector-text.html (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/css-selector-text.html        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/css-selector-text.html        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -87,9 +87,9 @@
</span><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span><del>-testSelectorRoundTrip(":lang(*-ab)");
-testSelectorRoundTrip(":lang(*-ab-)");
-testSelectorRoundTrip(":lang(*-DE-1996)");
</del><ins>+testSelectorRoundTrip(':lang("*-ab")');
+testSelectorRoundTrip(':lang("*-ab-")');
+testSelectorRoundTrip(':lang("*-DE-1996")');
</ins><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span><span class="lines">@@ -394,58 +394,58 @@
</span><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span><del>-shouldBe("parseThenSerializeRule(':lang(*-DE, *-CH, *-EN) { }')", "':lang(*-DE, *-CH, *-EN) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-DE,*-CH,*-EN) { }')", "':lang(*-DE, *-CH, *-EN) { }'");
-shouldBe("parseThenSerializeRule(':lang( *-DE , *-CH , *-EN ) { }')", "':lang(*-DE, *-CH, *-EN) { }'");
</del><ins>+shouldBe("parseThenSerializeRule(':lang(\"*-DE\", \"*-CH\", \"*-EN\") { }')", "':lang(\"*-DE\", \"*-CH\", \"*-EN\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-DE\",\"*-CH\",\"*-EN\") { }')", "':lang(\"*-DE\", \"*-CH\", \"*-EN\") { }'");
+shouldBe("parseThenSerializeRule(':lang( \"*-DE\" , \"*-CH\" , \"*-EN\" ) { }')", "':lang(\"*-DE\", \"*-CH\", \"*-EN\") { }'");
</ins><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span><span class="cx"> shouldBe("parseThenSerializeRule(':lang(\\\\*) { }')", "':lang(*) { }'");
</span><del>-shouldBe("parseThenSerializeRule(':lang(*-\\\\*) { }')", "':lang(*-*) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-\\\\*-\\\\*) { }')", "':lang(*-*-*) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-\\\\*-\\\\*-\\\\*) { }')", "':lang(*-*-*-*) { }'");
</del><ins>+shouldBe("parseThenSerializeRule(':lang(\"*-\\\\*\") { }')", "':lang(\"*-*\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-\\\\*-\\\\*\") { }')", "':lang(\"*-*-*\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-\\\\*-\\\\*-\\\\*\") { }')", "':lang(\"*-*-*-*\") { }'");
</ins><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span><span class="cx"> shouldBe("parseThenSerializeRule(':lang(ab-\\\\*) { }')", "':lang(ab-*) { }'");
</span><del>-shouldBe("parseThenSerializeRule(':lang(*-ab-\\\\*) { }')", "':lang(*-ab-*) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-ab-\\\\*-) { }')", "':lang(*-ab-*-) { }'");
</del><ins>+shouldBe("parseThenSerializeRule(':lang(\"*-ab-\\\\*\") { }')", "':lang(\"*-ab-*\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-ab-\\\\*-\") { }')", "':lang(\"*-ab-*-\") { }'");
</ins><span class="cx">
</span><del>-shouldBe("parseThenSerializeRule(':lang(*-foo-\\\\3A) { }')", "':lang(*-foo-:) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-foo-\\\\3A\\\\`\\\\)) { }')", "':lang(*-foo-:`)) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-foo-\\\\*) { }')", "':lang(*-foo-*) { }'");
</del><ins>+shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\3A\") { }')", "':lang(\"*-foo-:\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\3A\\\\`\\\\)\") { }')", "':lang(\"*-foo-:`)\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\*\") { }')", "':lang(\"*-foo-*\") { }'");
</ins><span class="cx">
</span><del>-shouldBe("parseThenSerializeRule(':lang(*-foo-\\\\0072 aisin) { }')", "':lang(*-foo-raisin) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-foo-\\\\0062 \\\\0061 r) { }')", "':lang(*-foo-bar) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-foo-col\\\\6Fr) { }')", "':lang(*-foo-color) { }'");
</del><ins>+shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\0072 aisin\") { }')", "':lang(\"*-foo-raisin\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\0062 \\\\0061 r\") { }')", "':lang(\"*-foo-bar\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-foo-col\\\\6Fr\") { }')", "':lang(\"*-foo-color\") { }'");
</ins><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span><span class="cx"> shouldBe("parseThenSerializeRule(':lang(\\\\* ) { }')", "':lang(*) { }'");
</span><del>-shouldBe("parseThenSerializeRule(':lang(*-en ) { }')", "':lang(*-en) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\* ) { }')", "':lang(*-en-*) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr ) { }')", "':lang(*-en-*-fr) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr,br ) { }')", "':lang(*-en-*-fr, br) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, br ) { }')", "':lang(*-en-*-fr, br) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, br ) { }')", "':lang(*-en-*-fr, br) { }'");
-shouldBe("parseThenSerializeRule(':lang( *-en-\\\\*-fr, br ) { }')", "':lang(*-en-*-fr, br) { }'");
-shouldBe("parseThenSerializeRule(':lang( *-en-\\\\*-fr, br ) { }')", "':lang(*-en-*-fr, br) { }'");
-shouldBe("parseThenSerializeRule(':lang( *-en-\\\\*-fr , br ) { }')", "':lang(*-en-*-fr, br) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr,*-br-zh ) { }')", "':lang(*-en-*-fr, *-br-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, *-br-zh ) { }')", "':lang(*-en-*-fr, *-br-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, *-br-zh ) { }')", "':lang(*-en-*-fr, *-br-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, *-br-zh ) { }')", "':lang(*-en-*-fr, *-br-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, *-br-zh ) { }')", "':lang(*-en-*-fr, *-br-zh) { }'");
</del><ins>+shouldBe("parseThenSerializeRule(':lang(\"*-en\" ) { }')", "':lang(\"*-en\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*\" ) { }')", "':lang(\"*-en-*\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\" ) { }')", "':lang(\"*-en-*-fr\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",br ) { }')", "':lang(\"*-en-*-fr\", br) { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", br ) { }')", "':lang(\"*-en-*-fr\", br) { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", br ) { }')", "':lang(\"*-en-*-fr\", br) { }'");
+shouldBe("parseThenSerializeRule(':lang( \"*-en-\\\\*-fr\", br ) { }')", "':lang(\"*-en-*-fr\", br) { }'");
+shouldBe("parseThenSerializeRule(':lang( \"*-en-\\\\*-fr\", br ) { }')", "':lang(\"*-en-*-fr\", br) { }'");
+shouldBe("parseThenSerializeRule(':lang( \"*-en-\\\\*-fr\" , br ) { }')", "':lang(\"*-en-*-fr\", br) { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",\"*-br-zh\" ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", \"*-br-zh\" ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", \"*-br-zh\" ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", \"*-br-zh\" ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", \"*-br-zh\" ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
</ins><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span><del>-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr,br-\\\\*-zh ) { }')", "':lang(*-en-*-fr, br-*-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, br-\\\\*-zh ) { }')", "':lang(*-en-*-fr, br-*-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, br-\\\\*-zh ) { }')", "':lang(*-en-*-fr, br-*-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang(*-en-\\\\*-fr, br-\\\\*-zh ) { }')", "':lang(*-en-*-fr, br-*-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang( *-en-\\\\*-fr, br-\\\\*-zh ) { }')", "':lang(*-en-*-fr, br-*-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang( *-en-\\\\*-fr , br-\\\\*-zh ) { }')", "':lang(*-en-*-fr, br-*-zh) { }'");
-shouldBe("parseThenSerializeRule(':lang( *-en-\\\\*-fr , br-\\\\*-zh ) { }')", "':lang(*-en-*-fr, br-*-zh) { }'");
</del><ins>+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",br-\\\\*-zh ) { }')", "':lang(\"*-en-*-fr\", br-*-zh) { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", br-\\\\*-zh ) { }')", "':lang(\"*-en-*-fr\", br-*-zh) { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", br-\\\\*-zh ) { }')", "':lang(\"*-en-*-fr\", br-*-zh) { }'");
+shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", br-\\\\*-zh ) { }')", "':lang(\"*-en-*-fr\", br-*-zh) { }'");
+shouldBe("parseThenSerializeRule(':lang( \"*-en-\\\\*-fr\", br-\\\\*-zh ) { }')", "':lang(\"*-en-*-fr\", br-*-zh) { }'");
+shouldBe("parseThenSerializeRule(':lang( \"*-en-\\\\*-fr\" , br-\\\\*-zh ) { }')", "':lang(\"*-en-*-fr\", br-*-zh) { }'");
+shouldBe("parseThenSerializeRule(':lang( \"*-en-\\\\*-fr\" , br-\\\\*-zh ) { }')", "':lang(\"*-en-*-fr\", br-*-zh) { }'");
</ins><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28LayoutTestsfastcssparsingcsslangexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/parsing-css-lang-expected.txt (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/parsing-css-lang-expected.txt        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/parsing-css-lang-expected.txt        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -4,252 +4,252 @@
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> valid language ranges
</span><del>-PASS document.querySelector(":lang(e)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(e)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(e)"
</span><del>-PASS document.querySelector(":lang(e )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(e )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(e)"
</span><del>-PASS document.querySelector(":lang(en)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en)"
</span><del>-PASS document.querySelector(":lang(en )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en)"
</span><del>-PASS document.querySelector(":lang(en-)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en-)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-)"
</span><del>-PASS document.querySelector(":lang(en- )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en- )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-)"
</span><del>-PASS document.querySelector(":lang(en--)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en--)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en--)"
</span><del>-PASS document.querySelector(":lang(en-- )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en-- )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en--)"
</span><del>-PASS document.querySelector(":lang(en---)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en---)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en---)"
</span><del>-PASS document.querySelector(":lang(en--- )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en--- )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en---)"
</span><del>-PASS document.querySelector(":lang(en-fr)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en-fr)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-fr)"
</span><del>-PASS document.querySelector(":lang(en-fr )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en-fr )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-fr)"
</span><del>-PASS document.querySelector(":lang(en-fr-)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en-fr-)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-fr-)"
</span><del>-PASS document.querySelector(":lang(en-fr- )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en-fr- )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-fr-)"
</span><del>-PASS document.querySelector(":lang(en-fr--)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en-fr--)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-fr--)"
</span><del>-PASS document.querySelector(":lang(en-fr-- )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en-fr-- )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-fr--)"
</span><del>-PASS document.querySelector(":lang(en--fr)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en--fr)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en--fr)"
</span><del>-PASS document.querySelector(":lang(en--fr )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en--fr )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en--fr)"
</span><del>-PASS document.querySelector(":lang(en---fr)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en---fr)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en---fr)"
</span><del>-PASS document.querySelector(":lang(en---fr )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en---fr )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en---fr)"
</span><del>-PASS document.querySelector(":lang(en---fr---)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en---fr---)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en---fr---)"
</span><del>-PASS document.querySelector(":lang(en---fr--- )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(en---fr--- )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en---fr---)"
</span><del>-PASS document.querySelector(":lang(de-DE)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-DE)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-DE)"
</span><del>-PASS document.querySelector(":lang(de-DE )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-DE )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-DE)"
</span><del>-PASS document.querySelector(":lang(de-DE-1996)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-DE-1996)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-DE-1996)"
</span><del>-PASS document.querySelector(":lang(de-DE-1996 )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-DE-1996 )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-DE-1996)"
</span><del>-PASS document.querySelector(":lang(de-Latn-DE)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-Latn-DE)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-Latn-DE)"
</span><del>-PASS document.querySelector(":lang(de-Latn-DE )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-Latn-DE )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-Latn-DE)"
</span><del>-PASS document.querySelector(":lang(de-Latf-DE)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-Latf-DE)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-Latf-DE)"
</span><del>-PASS document.querySelector(":lang(de-Latf-DE )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-Latf-DE )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-Latf-DE)"
</span><del>-PASS document.querySelector(":lang(de-Latn-DE-1996)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-Latn-DE-1996)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-Latn-DE-1996)"
</span><del>-PASS document.querySelector(":lang(de-Latn-DE-1996 )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-Latn-DE-1996 )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-Latn-DE-1996)"
</span><del>-PASS document.querySelector(":lang(de-CH)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-CH)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-CH)"
</span><del>-PASS document.querySelector(":lang(de-CH )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(de-CH )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(de-CH)"
</span><del>-PASS document.querySelector(":lang(it-CH)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(it-CH)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(it-CH)"
</span><del>-PASS document.querySelector(":lang(it-CH )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(it-CH )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(it-CH)"
</span><del>-PASS document.querySelector(":lang(fr-CH)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(fr-CH)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(fr-CH)"
</span><del>-PASS document.querySelector(":lang(fr-CH )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(fr-CH )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(fr-CH)"
</span><del>-PASS document.querySelector(":lang(rm-CH)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(rm-CH)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(rm-CH)"
</span><del>-PASS document.querySelector(":lang(rm-CH )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(rm-CH )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(rm-CH)"
</span><del>-PASS document.querySelector(":lang(*-CH)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang("*-CH")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-CH)"
-PASS document.querySelector(":lang(*-CH )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-CH\")"
+PASS document.querySelector(':lang("*-CH" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-CH)"
-PASS document.querySelector(":lang(*-DE-1996)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-CH\")"
+PASS document.querySelector(':lang("*-DE-1996")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-DE-1996)"
-PASS document.querySelector(":lang(*-DE-1996 )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-DE-1996\")"
+PASS document.querySelector(':lang("*-DE-1996" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-DE-1996)"
-PASS document.querySelector(":lang(*-br-zh)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-DE-1996\")"
+PASS document.querySelector(':lang("*-br-zh")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-br-zh)"
-PASS document.querySelector(":lang(*-br-zh )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-br-zh\")"
+PASS document.querySelector(':lang("*-br-zh" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-br-zh)"
-PASS document.querySelector(":lang(id-\\*-sumatra)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-br-zh\")"
+PASS document.querySelector(':lang(id-\\*-sumatra)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(id-*-sumatra)"
</span><del>-PASS document.querySelector(":lang(id-\\*-sumatra )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(id-\\*-sumatra )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(id-*-sumatra)"
</span><del>-PASS document.querySelector(":lang(*-en-\\*-fr)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang("*-en-\\*-fr")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-en-*-fr)"
-PASS document.querySelector(":lang(*-en-\\*-fr )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-en-*-fr\")"
+PASS document.querySelector(':lang("*-en-\\*-fr" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-en-*-fr)"
-PASS document.querySelector(":lang(*-en-\\*-\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-en-*-fr\")"
+PASS document.querySelector(':lang("*-en-\\*-\\*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-en-*-*)"
-PASS document.querySelector(":lang(*-en-\\*-\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-en-*-*\")"
+PASS document.querySelector(':lang("*-en-\\*-\\*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-en-*-*)"
-PASS document.querySelector(":lang(\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-en-*-*\")"
+PASS document.querySelector(':lang(\\*)') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*)"
</span><del>-PASS document.querySelector(":lang(\\* )") did not throw exception.
</del><ins>+PASS document.querySelector(':lang(\\* )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*)"
</span><del>-PASS document.querySelector(":lang(*-\\*)") did not throw exception.
</del><ins>+PASS document.querySelector(':lang("*-\\*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-*)"
-PASS document.querySelector(":lang(*-\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-*\")"
+PASS document.querySelector(':lang("*-\\*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-*)"
-PASS document.querySelector(":lang(*-\\*-\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-*\")"
+PASS document.querySelector(':lang("*-\\*-\\*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-*-*)"
-PASS document.querySelector(":lang(*-\\*-\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-*-*\")"
+PASS document.querySelector(':lang("*-\\*-\\*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-*-*)"
-PASS document.querySelector(":lang(*-\\*-\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-*-*\")"
+PASS document.querySelector(':lang("*-\\*-\\*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-*-*)"
-PASS document.querySelector(":lang(*-\\*-\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-*-*\")"
+PASS document.querySelector(':lang("*-\\*-\\*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-*-*)"
-PASS document.querySelector(":lang(ab-\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-*-*\")"
+PASS document.querySelector(':lang("ab-\\*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(ab-*)"
-PASS document.querySelector(":lang(ab-\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"ab-*\")"
+PASS document.querySelector(':lang("ab-\\*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(ab-*)"
-PASS document.querySelector(":lang(*-ab-\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"ab-*\")"
+PASS document.querySelector(':lang("*-ab-\\*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-ab-*)"
-PASS document.querySelector(":lang(*-ab-\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-ab-*\")"
+PASS document.querySelector(':lang("*-ab-\\*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-ab-*)"
-PASS document.querySelector(":lang(*-ab-\\*-)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-ab-*\")"
+PASS document.querySelector(':lang("*-ab-\\*-")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-ab-*-)"
-PASS document.querySelector(":lang(*-ab-\\*- )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-ab-*-\")"
+PASS document.querySelector(':lang("*-ab-\\*-" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-ab-*-)"
-PASS document.querySelector(":lang(*-ab-\\*--)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-ab-*-\")"
+PASS document.querySelector(':lang("*-ab-\\*--")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-ab-*--)"
-PASS document.querySelector(":lang(*-ab-\\*-- )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-ab-*--\")"
+PASS document.querySelector(':lang("*-ab-\\*--" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-ab-*--)"
-PASS document.querySelector(":lang(*-ab-\\*---)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-ab-*--\")"
+PASS document.querySelector(':lang("*-ab-\\*---")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-ab-*---)"
-PASS document.querySelector(":lang(*-ab-\\*--- )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-ab-*---\")"
+PASS document.querySelector(':lang("*-ab-\\*---" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-ab-*---)"
-PASS document.querySelector(":lang(*-foo-\\:)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-ab-*---\")"
+PASS document.querySelector(':lang("*-foo-\\:")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-foo-:)"
-PASS document.querySelector(":lang(*-foo-\\: )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-foo-:\")"
+PASS document.querySelector(':lang("*-foo-\\:" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-foo-:)"
-PASS document.querySelector(":lang(*-foo-\\:)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-foo-:\")"
+PASS document.querySelector(':lang("*-foo-\\:")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-foo-:)"
-PASS document.querySelector(":lang(*-foo-\\: )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-foo-:\")"
+PASS document.querySelector(':lang("*-foo-\\:" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-foo-:)"
-PASS document.querySelector(":lang(*-foo-\\:\\`\\))") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-foo-:\")"
+PASS document.querySelector(':lang("*-foo-\\:\\`\\)")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-foo-:`))"
-PASS document.querySelector(":lang(*-foo-\\:\\`\\) )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-foo-:`)\")"
+PASS document.querySelector(':lang("*-foo-\\:\\`\\)" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-foo-:`))"
-PASS document.querySelector(":lang(*-foo-\\:\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-foo-:`)\")"
+PASS document.querySelector(':lang("*-foo-\\:\\*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-foo-:*)"
-PASS document.querySelector(":lang(*-foo-\\:\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-foo-:*\")"
+PASS document.querySelector(':lang("*-foo-\\:\\*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(*-foo-:*)"
-PASS document.querySelector(":lang(en-\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"*-foo-:*\")"
+PASS document.querySelector(':lang("en-\\*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-*)"
-PASS document.querySelector(":lang(en-\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"en-*\")"
+PASS document.querySelector(':lang("en-\\*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(en-*)"
-PASS document.querySelector(":lang(fr-\\*)") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"en-*\")"
+PASS document.querySelector(':lang("fr-*")') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(fr-*)"
-PASS document.querySelector(":lang(fr-\\* )") did not throw exception.
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"fr-*\")"
+PASS document.querySelector(':lang("fr-*" )') did not throw exception.
</ins><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 1
</span><del>-PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(fr-*)"
</del><ins>+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is ":lang(\"fr-*\")"
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28LayoutTestsfastcssparsingcsslanghtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/parsing-css-lang.html (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/parsing-css-lang.html        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/css/parsing-css-lang.html        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -11,7 +11,7 @@
</span><span class="cx"> description('Test the parsing of :lang(stringList) for querySelector and style.');
</span><span class="cx">
</span><span class="cx"> function testValidLanguageRange(languageRangeString, expectedSerializedLanguageRange) {
</span><del>- shouldNotThrow('document.querySelector(":lang(' + languageRangeString.replace(/\\/g, '\\\\') + ')")', '"Error: SyntaxError: DOM Exception 12"');
</del><ins>+ shouldNotThrow('document.querySelector(\':lang(' + languageRangeString.replace(/\\/g, '\\\\') + ')\')', '"Error: SyntaxError: DOM Exception 12"');
</ins><span class="cx">
</span><span class="cx"> var styleContainer = document.getElementById('style-container');
</span><span class="cx"> styleContainer.innerHTML = ':lang(' + languageRangeString + ') { }';
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> var validLanguageRanges = [
</span><del>-
</del><ins>+
</ins><span class="cx"> "e",
</span><span class="cx"> "en",
</span><span class="cx"> "en-",
</span><span class="lines">@@ -46,31 +46,31 @@
</span><span class="cx"> "fr-CH",
</span><span class="cx"> "rm-CH",
</span><span class="cx">
</span><del>- "*-CH",
- "*-DE-1996",
- "*-br-zh",
</del><ins>+ '"*-CH"',
+ '"*-DE-1996"',
+ '"*-br-zh"',
</ins><span class="cx"> "id-\\*-sumatra",
</span><del>- "*-en-\\*-fr",
- "*-en-\\*-\\*",
</del><ins>+ '"*-en-\\*-fr"',
+ '"*-en-\\*-\\*"',
</ins><span class="cx">
</span><span class="cx"> "\\*",
</span><del>- "*-\\*",
- "*-\\*-\\*",
- "*-\\*-\\*",
</del><ins>+ '"*-\\*"',
+ '"*-\\*-\\*"',
+ '"*-\\*-\\*"',
</ins><span class="cx">
</span><del>- "ab-\\*",
- "*-ab-\\*",
- "*-ab-\\*-",
- "*-ab-\\*--",
- "*-ab-\\*---",
</del><ins>+ '"ab-\\*"',
+ '"*-ab-\\*"',
+ '"*-ab-\\*-"',
+ '"*-ab-\\*--"',
+ '"*-ab-\\*---"',
</ins><span class="cx">
</span><del>- "*-foo-\\:",
- "*-foo-\\:",
- "*-foo-\\:\\`\\)",
- "*-foo-\\:\\*",
</del><ins>+ '"*-foo-\\:"',
+ '"*-foo-\\:"',
+ '"*-foo-\\:\\`\\)"',
+ '"*-foo-\\:\\*"',
</ins><span class="cx">
</span><del>- "en-\\*",
- "fr-\\*"
</del><ins>+ '"en-\\*"',
+ '"fr-*"'
</ins><span class="cx"> ];
</span><span class="cx">
</span><span class="cx"> debug("valid language ranges");
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28LayoutTestsfastselectorslangextendedfilteringexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-extended-filtering-expected.txt (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-extended-filtering-expected.txt        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-extended-filtering-expected.txt        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -80,19 +80,19 @@
</span><span class="cx"> PASS document.querySelectorAll(":lang(tic-toe-tac)").length is 0
</span><span class="cx">
</span><span class="cx"> PASS document.querySelectorAll(":lang(\\*)").length is 35
</span><del>-PASS document.querySelectorAll(":lang(*-CH)").length is 5
</del><ins>+PASS document.querySelectorAll(':lang("*-CH")').length is 5
</ins><span class="cx">
</span><span class="cx"> PASS document.querySelectorAll(":lang(a)").length is 2
</span><span class="cx"> PASS document.querySelectorAll(":lang(a-\\*)").length is 1
</span><del>-PASS document.querySelectorAll(":lang(*-fr-\\*)").length is 2
-PASS document.querySelectorAll(":lang(*-\\*-lang)").length is 2
-PASS document.querySelectorAll(":lang(*-\\*-aa-bb-cc-dd)").length is 3
-PASS document.querySelectorAll(":lang(*-\\*-\\*-bb-cc-dd)").length is 3
-PASS document.querySelectorAll(":lang(*-\\*-\\*-\\*-cc-dd)").length is 3
-PASS document.querySelectorAll(":lang(*-\\*-\\*-\\*-\\*-dd)").length is 3
-PASS document.querySelectorAll(":lang(*-\\*-\\*-\\*-\\*-\\*)").length is 3
-PASS document.querySelectorAll(":lang(*-\\*-aa-\\*-cc-\\*)").length is 3
-PASS document.querySelectorAll(":lang(*-\\*-\\*-bb-\\*)").length is 3
</del><ins>+PASS document.querySelectorAll(':lang("*-fr-\\*")').length is 2
+PASS document.querySelectorAll(':lang("*-\\*-lang")').length is 2
+PASS document.querySelectorAll(':lang("*-\\*-aa-bb-cc-dd")').length is 3
+PASS document.querySelectorAll(':lang("*-\\*-\\*-bb-cc-dd")').length is 3
+PASS document.querySelectorAll(':lang("*-\\*-\\*-\\*-cc-dd")').length is 3
+PASS document.querySelectorAll(':lang("*-\\*-\\*-\\*-\\*-dd")').length is 3
+PASS document.querySelectorAll(':lang("*-\\*-\\*-\\*-\\*-\\*")').length is 3
+PASS document.querySelectorAll(':lang("*-\\*-aa-\\*-cc-\\*")').length is 3
+PASS document.querySelectorAll(':lang("*-\\*-\\*-bb-\\*")').length is 3
</ins><span class="cx"> PASS document.querySelectorAll(":lang(fooÉ)").length is 1
</span><span class="cx"> PASS document.querySelectorAll(":lang(fOOÉ)").length is 1
</span><span class="cx"> PASS document.querySelectorAll(":lang(FoOÉ)").length is 1
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28LayoutTestsfastselectorslangextendedfilteringhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-extended-filtering.html (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-extended-filtering.html        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-extended-filtering.html        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -157,22 +157,22 @@
</span><span class="cx"> debug('');
</span><span class="cx">
</span><span class="cx"> shouldBe('document.querySelectorAll(":lang(\\\\*)").length', '35');
</span><del>- shouldBe('document.querySelectorAll(":lang(*-CH)").length', '5');
</del><ins>+ shouldBe('document.querySelectorAll(\':lang("*-CH")\').length', '5');
</ins><span class="cx">
</span><span class="cx"> debug('');
</span><span class="cx">
</span><span class="cx"> shouldBe('document.querySelectorAll(":lang(a)").length', '2');
</span><span class="cx"> shouldBe('document.querySelectorAll(":lang(a-\\\\*)").length', '1');
</span><del>- shouldBe('document.querySelectorAll(":lang(*-fr-\\\\*)").length', '2');
- shouldBe('document.querySelectorAll(":lang(*-\\\\*-lang)").length', '2');
</del><ins>+ shouldBe('document.querySelectorAll(\':lang("*-fr-\\\\*\")\').length', '2');
+ shouldBe('document.querySelectorAll(\':lang("*-\\\\*-lang\")\').length', '2');
</ins><span class="cx">
</span><del>- shouldBe('document.querySelectorAll(":lang(*-\\\\*-aa-bb-cc-dd)").length', '3');
- shouldBe('document.querySelectorAll(":lang(*-\\\\*-\\\\*-bb-cc-dd)").length', '3');
- shouldBe('document.querySelectorAll(":lang(*-\\\\*-\\\\*-\\\\*-cc-dd)").length', '3');
- shouldBe('document.querySelectorAll(":lang(*-\\\\*-\\\\*-\\\\*-\\\\*-dd)").length', '3');
- shouldBe('document.querySelectorAll(":lang(*-\\\\*-\\\\*-\\\\*-\\\\*-\\\\*)").length', '3');
- shouldBe('document.querySelectorAll(":lang(*-\\\\*-aa-\\\\*-cc-\\\\*)").length', '3');
- shouldBe('document.querySelectorAll(":lang(*-\\\\*-\\\\*-bb-\\\\*)").length', '3');
</del><ins>+ shouldBe('document.querySelectorAll(\':lang("*-\\\\*-aa-bb-cc-dd")\').length', '3');
+ shouldBe('document.querySelectorAll(\':lang("*-\\\\*-\\\\*-bb-cc-dd")\').length', '3');
+ shouldBe('document.querySelectorAll(\':lang("*-\\\\*-\\\\*-\\\\*-cc-dd")\').length', '3');
+ shouldBe('document.querySelectorAll(\':lang("*-\\\\*-\\\\*-\\\\*-\\\\*-dd")\').length', '3');
+ shouldBe('document.querySelectorAll(\':lang("*-\\\\*-\\\\*-\\\\*-\\\\*-\\\\*\")\').length', '3');
+ shouldBe('document.querySelectorAll(\':lang("*-\\\\*-aa-\\\\*-cc-\\\\*\")\').length', '3');
+ shouldBe('document.querySelectorAll(\':lang("*-\\\\*-\\\\*-bb-\\\\*")\').length', '3');
</ins><span class="cx">
</span><span class="cx"> shouldBe('document.querySelectorAll(":lang(fooÉ)").length', '1');
</span><span class="cx"> shouldBe('document.querySelectorAll(":lang(fOOÉ)").length', '1');
</span><span class="lines">@@ -240,4 +240,4 @@
</span><span class="cx"> </script>
</span><span class="cx"> <script src="../../resources/js-test-post.js"></script>
</span><span class="cx"> </body>
</span><del>-</html>
</del><span class="cx">\ No newline at end of file
</span><ins>+</html>
</ins></span></pre></div>
<a id="releasesWebKitGTKwebkit28LayoutTestsfastselectorslangvalidextendedfilteringexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-valid-extended-filtering-expected.txt (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-valid-extended-filtering-expected.txt        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-valid-extended-filtering-expected.txt        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -8,35 +8,35 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(af-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(af-ZA)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(af-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ZA)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ZA")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - ar-AE
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-AE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-AE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-AE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - ar-BH
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-BH)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BH)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BH")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - ar-YE
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-YE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ar-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-YE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-YE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - art-lojban
</span><span class="cx"> PASS document.querySelectorAll(':lang(art)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(art-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(art-lojban)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(art-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-lojban)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-lojban")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - az-Arab-IR
</span><span class="cx"> PASS document.querySelectorAll(':lang(az)').length == 1 is true
</span><span class="lines">@@ -45,56 +45,56 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(az-\\*-IR)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(az-Arab-IR)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(az-Arab-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Arab-IR)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Arab-IR")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - be-BY
</span><span class="cx"> PASS document.querySelectorAll(':lang(be)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(be-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(be-BY)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(be-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BY)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BY")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - bg-BG
</span><span class="cx"> PASS document.querySelectorAll(':lang(bg)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(bg-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(bg-BG)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(bg-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BG)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BG")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - ca-ES
</span><span class="cx"> PASS document.querySelectorAll(':lang(ca)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ca-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ca-ES)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ca-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ES)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ES")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - cs-CZ
</span><span class="cx"> PASS document.querySelectorAll(':lang(cs)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(cs-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(cs-CZ)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(cs-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CZ)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CZ")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - cy-GB
</span><span class="cx"> PASS document.querySelectorAll(':lang(cy)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(cy-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(cy-GB)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(cy-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-GB)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-GB")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-AT
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-AT)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-AT)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-AT")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-CH
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-CH)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-CH-1996
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*-1996)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-CH-1996)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-CH-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH-1996)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH-1996")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-CH-1997
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="lines">@@ -112,14 +112,14 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*-1997)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-CH-1997)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-CH-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH-1997)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH-1997")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-DE
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-DE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-DE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-DE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-DE-1996
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*-1996)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-DE-1996)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-DE-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-DE-1996)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-DE-1996")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-Latn-DE
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*-DE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-Latn-DE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-Latn-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Latn-DE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Latn-DE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-Latf-DE
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*-DE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-Latf-DE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-Latf-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Latf-DE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Latf-DE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-Latn-DE-1996
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="lines">@@ -157,21 +157,21 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-Latn-\\*-1996)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-Latn-DE-1996)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-Latn-DE-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Latn-DE-1996)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Latn-DE-1996")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - en-US
</span><span class="cx"> PASS document.querySelectorAll(':lang(en)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-US)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-US)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-US")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - en-GB
</span><span class="cx"> PASS document.querySelectorAll(':lang(en)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-GB)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-GB)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-GB")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - en-Latn-Brai
</span><span class="cx"> PASS document.querySelectorAll(':lang(en)').length == 1 is true
</span><span class="lines">@@ -180,14 +180,14 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-\\*-Brai)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-Latn-Brai)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(en-Latn-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Latn-Brai)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Latn-Brai")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - es-ES
</span><span class="cx"> PASS document.querySelectorAll(':lang(es)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-ES)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ES)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ES")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - es-ES-valencia
</span><span class="cx"> PASS document.querySelectorAll(':lang(es)').length == 1 is true
</span><span class="lines">@@ -196,168 +196,168 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-\\*-valencia)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-ES-valencia)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-ES-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ES-valencia)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ES-valencia")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - es-AR
</span><span class="cx"> PASS document.querySelectorAll(':lang(es)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-AR)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(es-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-AR)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-AR")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - fr-BE
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-BE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - fr-CA
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-CA)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CA)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CA")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - fr-CH
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-CH)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - fr-FR
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-FR)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-FR)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-FR")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - fr-LU
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-LU)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-LU)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-LU")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - fr-MC
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-MC)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-MC)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-MC")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - gl-ES
</span><span class="cx"> PASS document.querySelectorAll(':lang(gl)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gl-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gl-ES)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gl-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ES)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ES")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - gu-IN
</span><span class="cx"> PASS document.querySelectorAll(':lang(gu)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gu-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gu-IN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gu-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-IN)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-IN")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - hr-BA
</span><span class="cx"> PASS document.querySelectorAll(':lang(hr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(hr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(hr-BA)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(hr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BA)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BA")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - id-ID
</span><span class="cx"> PASS document.querySelectorAll(':lang(id)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(id-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(id-ID)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(id-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ID)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ID")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - i-klingon
</span><span class="cx"> PASS document.querySelectorAll(':lang(i)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(i-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(i-klingon)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(i-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-klingon)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-klingon")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - ja-JP
</span><span class="cx"> PASS document.querySelectorAll(':lang(ja)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ja-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ja-JP)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ja-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-JP)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-JP")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - ko-KR
</span><span class="cx"> PASS document.querySelectorAll(':lang(ko)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ko-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ko-KR)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ko-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-KR)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-KR")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - lt-LT
</span><span class="cx"> PASS document.querySelectorAll(':lang(lt)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(lt-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(lt-LT)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(lt-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-LT)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-LT")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - mi-NZ
</span><span class="cx"> PASS document.querySelectorAll(':lang(mi)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(mi-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(mi-NZ)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(mi-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-NZ)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-NZ")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - mn-MN
</span><span class="cx"> PASS document.querySelectorAll(':lang(mn)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(mn-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(mn-MN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(mn-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-MN)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-MN")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - nl-BE
</span><span class="cx"> PASS document.querySelectorAll(':lang(nl)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(nl-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(nl-BE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(nl-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - nl-NL
</span><span class="cx"> PASS document.querySelectorAll(':lang(nl)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(nl-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(nl-NL)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(nl-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-NL)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-NL")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - pl-PL
</span><span class="cx"> PASS document.querySelectorAll(':lang(pl)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(pl-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(pl-PL)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(pl-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-PL)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-PL")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - qu-BO
</span><span class="cx"> PASS document.querySelectorAll(':lang(qu)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(qu-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(qu-BO)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(qu-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BO)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BO")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - se-FI
</span><span class="cx"> PASS document.querySelectorAll(':lang(se)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-FI)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-FI)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-FI")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - se-NO
</span><span class="cx"> PASS document.querySelectorAll(':lang(se)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-NO)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-NO)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-NO")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - sgn-BE-FR
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn)').length == 1 is true
</span><span class="lines">@@ -366,7 +366,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-\\*-FR)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-BE-FR)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-BE-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BE-FR)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BE-FR")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - sgn-BE-NL
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn)').length == 1 is true
</span><span class="lines">@@ -375,7 +375,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-\\*-NL)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-BE-NL)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-BE-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-BE-NL)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-BE-NL")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - sgn-CH-DE
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn)').length == 1 is true
</span><span class="lines">@@ -384,7 +384,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-\\*-DE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-CH-DE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sgn-CH-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH-DE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH-DE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - sr-Latn-RS
</span><span class="cx"> PASS document.querySelectorAll(':lang(sr)').length == 1 is true
</span><span class="lines">@@ -393,49 +393,49 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(sr-\\*-RS)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sr-Latn-RS)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sr-Latn-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Latn-RS)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Latn-RS")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - sv-SE
</span><span class="cx"> PASS document.querySelectorAll(':lang(sv)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sv-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sv-SE)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sv-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-SE)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-SE")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - syr-SY
</span><span class="cx"> PASS document.querySelectorAll(':lang(syr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(syr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(syr-SY)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(syr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-SY)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-SY")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - tt-RU
</span><span class="cx"> PASS document.querySelectorAll(':lang(tt)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(tt-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(tt-RU)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(tt-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-RU)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-RU")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - uz-UZ
</span><span class="cx"> PASS document.querySelectorAll(':lang(uz)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(uz-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(uz-UZ)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(uz-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-UZ)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-UZ")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - vi-VN
</span><span class="cx"> PASS document.querySelectorAll(':lang(vi)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(vi-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(vi-VN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(vi-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-VN)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-VN")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - xh-ZA
</span><span class="cx"> PASS document.querySelectorAll(':lang(xh)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(xh-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(xh-ZA)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(xh-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ZA)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ZA")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - yue-Hant-HK
</span><span class="cx"> PASS document.querySelectorAll(':lang(yue)').length == 1 is true
</span><span class="lines">@@ -444,7 +444,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(yue-\\*-HK)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(yue-Hant-HK)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(yue-Hant-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Hant-HK)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Hant-HK")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - zh-yue-Hant-HK
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh)').length == 1 is true
</span><span class="lines">@@ -455,14 +455,14 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-yue-\\*-HK)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-yue-Hant-HK)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-yue-Hant-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-yue-Hant-HK)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-yue-Hant-HK")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - zh-CN
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-CN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CN)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CN")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - zh-Hant-CN
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh)').length == 1 is true
</span><span class="lines">@@ -471,7 +471,7 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-\\*-CN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-Hant-CN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-Hant-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Hant-CN)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Hant-CN")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - zh-Hans-CN
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh)').length == 1 is true
</span><span class="lines">@@ -480,113 +480,113 @@
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-\\*-CN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-Hans-CN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-Hans-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Hans-CN)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Hans-CN")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - zh-Hant
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-Hant)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zh-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-Hant)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-Hant")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - de-CH
</span><span class="cx"> PASS document.querySelectorAll(':lang(de)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-CH)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(de-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - it-CH
</span><span class="cx"> PASS document.querySelectorAll(':lang(it)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(it-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(it-CH)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(it-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH)').length == 2 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH")').length == 2 is true
</ins><span class="cx">
</span><span class="cx"> - fr-CH
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-CH)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(fr-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH)').length == 3 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH")').length == 3 is true
</ins><span class="cx">
</span><span class="cx"> - rm-CH
</span><span class="cx"> PASS document.querySelectorAll(':lang(rm)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(rm-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(rm-CH)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(rm-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-CH)').length == 4 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH")').length == 4 is true
</ins><span class="cx">
</span><span class="cx"> - de-CH,it-CH,fr-CH,rm-CH
</span><del>-PASS document.querySelectorAll(':lang(*-CH)').length == 4 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-CH")').length == 4 is true
</ins><span class="cx">
</span><span class="cx"> - hi-IN
</span><span class="cx"> PASS document.querySelectorAll(':lang(hi)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(hi-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(hi-IN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(hi-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-IN)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-IN")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - gu-IN
</span><span class="cx"> PASS document.querySelectorAll(':lang(gu)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gu-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gu-IN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(gu-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-IN)').length == 2 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-IN")').length == 2 is true
</ins><span class="cx">
</span><span class="cx"> - kok-IN
</span><span class="cx"> PASS document.querySelectorAll(':lang(kok)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(kok-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(kok-IN)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(kok-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-IN)').length == 3 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-IN")').length == 3 is true
</ins><span class="cx">
</span><span class="cx"> - hi-IN,gu-IN,kok-IN
</span><del>-PASS document.querySelectorAll(':lang(*-IN)').length == 3 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-IN")').length == 3 is true
</ins><span class="cx">
</span><span class="cx"> - xa-ZA
</span><span class="cx"> PASS document.querySelectorAll(':lang(xa)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(xa-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(xa-ZA)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(xa-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ZA)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ZA")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - zu-ZA
</span><span class="cx"> PASS document.querySelectorAll(':lang(zu)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zu-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zu-ZA)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(zu-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-ZA)').length == 2 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ZA")').length == 2 is true
</ins><span class="cx">
</span><span class="cx"> - xa-ZA,zu-ZA
</span><del>-PASS document.querySelectorAll(':lang(*-ZA)').length == 2 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-ZA")').length == 2 is true
</ins><span class="cx">
</span><span class="cx"> - se-FI
</span><span class="cx"> PASS document.querySelectorAll(':lang(se)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-FI)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(se-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-FI)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-FI")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - sv-FI
</span><span class="cx"> PASS document.querySelectorAll(':lang(sv)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sv-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sv-FI)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(sv-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-FI)').length == 2 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-FI")').length == 2 is true
</ins><span class="cx">
</span><span class="cx"> - se-FI,sv-FI
</span><del>-PASS document.querySelectorAll(':lang(*-FI)').length == 2 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-FI")').length == 2 is true
</ins><span class="cx">
</span><span class="cx"> - ur-PK
</span><span class="cx"> PASS document.querySelectorAll(':lang(ur)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ur-\\*)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ur-PK)').length == 1 is true
</span><span class="cx"> PASS document.querySelectorAll(':lang(ur-\\*)').length == 1 is true
</span><del>-PASS document.querySelectorAll(':lang(*-PK)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-PK")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> - ur-PK
</span><del>-PASS document.querySelectorAll(':lang(*-PK)').length == 1 is true
</del><ins>+PASS document.querySelectorAll(':lang("*-PK")').length == 1 is true
</ins><span class="cx">
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28LayoutTestsfastselectorslangvalidextendedfilteringhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-valid-extended-filtering.html (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-valid-extended-filtering.html        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/LayoutTests/fast/selectors/lang-valid-extended-filtering.html        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> if (i > 0)
</span><span class="cx"> suffixRange += '-' + rangeSubtags[i];
</span><span class="cx"> }
</span><del>- shouldBeTrue("document.querySelectorAll(':lang(*" + suffixRange + ")').length == " + length);
</del><ins>+ shouldBeTrue("document.querySelectorAll(':lang(\"*" + suffixRange + "\")').length == " + length);
</ins><span class="cx"> document.querySelector('#target').removeAttribute('lang');
</span><span class="cx">
</span><span class="cx"> debug('');
</span><span class="lines">@@ -58,10 +58,11 @@
</span><span class="cx"> for (var i = 0; i < languages.length; i++) {
</span><span class="cx"> var language = languages[i];
</span><span class="cx"> var ranges = language.split('-');
</span><del>- var range = '*';
</del><ins>+ var range = '"*';
</ins><span class="cx"> for (var j = 1; j < ranges.length; j++) {
</span><span class="cx"> range += '-' + ranges[j];
</span><span class="cx"> }
</span><ins>+ range += '"';
</ins><span class="cx"> }
</span><span class="cx"> shouldBeTrue("document.querySelectorAll(':lang(" + range + ")').length == " + languages.length);
</span><span class="cx"> debug('');
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-02-20 Dhi Aurrahman <diorahman@rockybars.com>
+
+ Language ranges containing asterisks must be quoted as strings
+ https://bugs.webkit.org/show_bug.cgi?id=141659
+
+ Reviewed by Benjamin Poulain.
+
+ As specified in [1], the language ranges containing asterisks must be quoted as strings.
+
+ [1] http://dev.w3.org/csswg/selectors-4/#the-lang-pseudo.
+
+ * css/CSSGrammar.y.in:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::realLex):
+
</ins><span class="cx"> 2015-02-18 Andreas Kling <akling@apple.com>
</span><span class="cx">
</span><span class="cx"> REGRESSION(r179347): Clearing the PageCache no longer clears the PageCache.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCorecssCSSGrammaryin"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/css/CSSGrammar.y.in (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/css/CSSGrammar.y.in        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/css/CSSGrammar.y.in        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -221,7 +221,6 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE_CSS_SELECTORS_LEVEL4
</span><span class="cx"> %token <string> DIRFUNCTION
</span><del>-%token <string> LANGRANGE
</del><span class="cx"> %token <string> LANGFUNCTION
</span><span class="cx"> %token <string> ROLEFUNCTION
</span><span class="cx"> #endif
</span><span class="lines">@@ -1091,7 +1090,7 @@
</span><span class="cx"> ;
</span><span class="cx">
</span><span class="cx"> #if ENABLE_CSS_SELECTORS_LEVEL4
</span><del>-lang_range: LANGRANGE | IDENT | STRING { $$.setTokenType(TokenType::AtomicStringToken); } ;
</del><ins>+lang_range: IDENT | STRING { $$.setTokenType(TokenType::AtomicStringToken); } ;
</ins><span class="cx">
</span><span class="cx"> comma_separated_lang_ranges:
</span><span class="cx"> lang_range %prec UNIMPORTANT_TOK {
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/css/CSSParser.cpp (180752 => 180753)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/css/CSSParser.cpp        2015-02-27 16:12:13 UTC (rev 180752)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/css/CSSParser.cpp        2015-02-27 16:50:20 UTC (rev 180753)
</span><span class="lines">@@ -11642,18 +11642,6 @@
</span><span class="cx"> if (*currentCharacter<SrcCharacterType>() == '=') {
</span><span class="cx"> ++currentCharacter<SrcCharacterType>();
</span><span class="cx"> m_token = CONTAINS;
</span><del>-#if ENABLE(CSS_SELECTORS_LEVEL4)
- } else if (*currentCharacter<SrcCharacterType>() == '-' && isIdentifierStart<SrcCharacterType>()) {
- result = currentCharacter<SrcCharacterType>();
-
- CSSParserString parsedIdentifier;
- parseIdentifier(result, parsedIdentifier, hasEscape);
-
- if (parsedIdentifier.length()) {
- m_token = LANGRANGE;
- yylval->string.init(tokenStart<SrcCharacterType>(), parsedIdentifier.length() + 1);
- }
-#endif
</del><span class="cx"> }
</span><span class="cx"> break;
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>