Title: [200518] trunk/LayoutTests
- Revision
- 200518
- Author
- fpi...@apple.com
- Date
- 2016-05-06 13:37:16 -0700 (Fri, 06 May 2016)
Log Message
JS Function removed after parsing
https://bugs.webkit.org/show_bug.cgi?id=149175
Reviewed by Mark Lam.
This bug doesn't happen anymore, but the test case is still useful. This test will fail 1/5 of
the time if we regress.
* js/dom/function-removed-after-parsing-expected.txt: Added.
* js/dom/function-removed-after-parsing.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (200517 => 200518)
--- trunk/LayoutTests/ChangeLog 2016-05-06 19:54:32 UTC (rev 200517)
+++ trunk/LayoutTests/ChangeLog 2016-05-06 20:37:16 UTC (rev 200518)
@@ -1,3 +1,16 @@
+2016-05-06 Filip Pizlo <fpi...@apple.com>
+
+ JS Function removed after parsing
+ https://bugs.webkit.org/show_bug.cgi?id=149175
+
+ Reviewed by Mark Lam.
+
+ This bug doesn't happen anymore, but the test case is still useful. This test will fail 1/5 of
+ the time if we regress.
+
+ * js/dom/function-removed-after-parsing-expected.txt: Added.
+ * js/dom/function-removed-after-parsing.html: Added.
+
2016-05-06 Jer Noble <jer.no...@apple.com>
Muted media elements should be allowed to autoplay, even if RequireUserGestureForAudioRateChange is set.
Added: trunk/LayoutTests/js/dom/function-removed-after-parsing-expected.txt (0 => 200518)
--- trunk/LayoutTests/js/dom/function-removed-after-parsing-expected.txt (rev 0)
+++ trunk/LayoutTests/js/dom/function-removed-after-parsing-expected.txt 2016-05-06 20:37:16 UTC (rev 200518)
@@ -0,0 +1,2 @@
+window.CSS.escape still here
+
Added: trunk/LayoutTests/js/dom/function-removed-after-parsing.html (0 => 200518)
--- trunk/LayoutTests/js/dom/function-removed-after-parsing.html (rev 0)
+++ trunk/LayoutTests/js/dom/function-removed-after-parsing.html 2016-05-06 20:37:16 UTC (rev 200518)
@@ -0,0 +1,123 @@
+<html>
+<!--
+NOTE: This intentionally does not use description() and does not include js-test-post because
+doing either of those things made the bug go away.
+-->
+ <script src=""
+ <script type='text/_javascript_'>
+/*! https://mths.be/cssescape v1.1.0 by @mathias | MIT license */
+;(function(root) {
+
+ if (!root.CSS) {
+ root.CSS = {};
+ }
+
+ var CSS = root.CSS;
+
+ var InvalidCharacterError = function(message) {
+ this.message = message;
+ };
+ InvalidCharacterError.prototype = new Error;
+ InvalidCharacterError.prototype.name = 'InvalidCharacterError';
+
+ if (!CSS.escape) {
+ // https://drafts.csswg.org/cssom/#serialize-an-identifier
+ CSS.escape = function(value) {
+ var string = String(value);
+ var length = string.length;
+ var index = -1;
+ var codeUnit;
+ var result = '';
+ var firstCodeUnit = string.charCodeAt(0);
+ while (++index < length) {
+ codeUnit = string.charCodeAt(index);
+ // Note: there\x92s no need to special-case astral symbols, surrogate
+ // pairs, or lone surrogates.
+
+ // If the character is NULL (U+0000), then throw an
+ // `InvalidCharacterError` exception and terminate these steps.
+ if (codeUnit == 0x0000) {
+ throw new InvalidCharacterError(
+ 'Invalid character: the input contains U+0000.'
+ );
+ }
+
+ if (
+ // If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
+ // U+007F, [\x85]
+ (codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
+ // If the character is the first character and is in the range [0-9]
+ // (U+0030 to U+0039), [\x85]
+ (index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
+ // If the character is the second character and is in the range [0-9]
+ // (U+0030 to U+0039) and the first character is a `-` (U+002D), [\x85]
+ (
+ index == 1 &&
+ codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
+ firstCodeUnit == 0x002D
+ )
+ ) {
+ // https://drafts.csswg.org/cssom/#escape-a-character-as-code-point
+ result += '\\' + codeUnit.toString(16) + ' ';
+ continue;
+ }
+
+ if (
+ // If the character is the first character and is a `-` (U+002D), and
+ // there is no second character, [\x85]
+ index == 0 &&
+ length == 1 &&
+ codeUnit == 0x002D
+ ) {
+ result += '\\' + string.charAt(index);
+ continue;
+ }
+
+ // If the character is not handled by one of the above rules and is
+ // greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
+ // is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
+ // U+005A), or [a-z] (U+0061 to U+007A), [\x85]
+ if (
+ codeUnit >= 0x0080 ||
+ codeUnit == 0x002D ||
+ codeUnit == 0x005F ||
+ codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
+ codeUnit >= 0x0041 && codeUnit <= 0x005A ||
+ codeUnit >= 0x0061 && codeUnit <= 0x007A
+ ) {
+ // the character itself
+ result += string.charAt(index);
+ continue;
+ }
+
+ // Otherwise, the escaped character.
+ // https://drafts.csswg.org/cssom/#escape-a-character
+ result += '\\' + string.charAt(index);
+
+ }
+ return result;
+ };
+ }
+
+}(typeof global != 'undefined' ? global : this));
+
+ </script>
+ <script type='text/_javascript_'>
+ try {
+ testRunner.dumpAsText(window.enablePixelTesting);
+ testRunner.waitUntilDone();
+ } catch (e) { }
+ if (!window.CSS.escape) {
+ debug('window.CSS.escape not loaded');
+ }
+ setTimeout(function() {
+ if (window.CSS.escape)
+ debug("window.CSS.escape still here");
+ else
+ debug('window.CSS.escape missing in event');
+ try {
+ testRunner.notifyDone();
+ } catch (e) { }
+ },50);
+ </script>
+</html>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes