Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test for CSS identifier parsing</title>
5 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
7 </head>
8 <body>
9 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=">Mozilla Bug </a>
10 <div id="content" style="display: none">
11 </div>
12 <pre id="test">
13 <script type="application/javascript">
15 var div = document.getElementById("content");
17 function counter_increment_parses(i)
18 {
19 div.style.counterIncrement = "";
20 div.style.counterIncrement = i;
21 return div.style.counterIncrement != "";
22 }
24 function is_valid_identifier(i)
25 {
26 ok(counter_increment_parses(i),
27 "'" + i + "' is a valid CSS identifier");
28 }
30 function is_invalid_identifier(i)
31 {
32 ok(!counter_increment_parses(i),
33 "'" + i + "' is not a valid CSS identifier");
34 }
36 for (var i = 0x7B; i < 0x80; ++i) {
37 is_invalid_identifier(String.fromCharCode(i));
38 is_invalid_identifier("a" + String.fromCharCode(i));
39 is_invalid_identifier(String.fromCharCode(i) + "a");
40 }
42 for (var i = 0x80; i < 0xFF; ++i) {
43 is_valid_identifier(String.fromCharCode(i));
44 }
46 is_valid_identifier(String.fromCharCode(0x100));
47 is_valid_identifier(String.fromCharCode(0x375));
48 is_valid_identifier(String.fromCharCode(0xFEFF));
49 is_valid_identifier(String.fromCharCode(0xFFFD));
50 is_valid_identifier(String.fromCharCode(0xFFFE));
51 is_valid_identifier(String.fromCharCode(0xFFFF));
53 </script>
54 </pre>
55 </body>
56 </html>