Title: [272139] trunk
Revision
272139
Author
[email protected]
Date
2021-02-01 03:04:22 -0800 (Mon, 01 Feb 2021)

Log Message

[JSC] Add @ in Error.stack if URL exists
https://bugs.webkit.org/show_bug.cgi?id=221184

Reviewed by Keith Miller.

JSTests:

* ChakraCore/test/Error/NativeErrors_v4.baseline-jsc:
* ChakraCore/test/Error/validate_line_column.baseline-jsc:
* ChakraCore/test/StackTrace/FunctionName.js.baseline-jsc:
* ChakraCore/test/fieldopts/fieldhoist6.baseline-jsc:
* ChakraCore/test/fieldopts/fieldhoist6b.baseline-jsc:
* ChakraCore/test/fieldopts/fieldhoist7.baseline-jsc:
* ChakraCore/test/fieldopts/fieldhoist_negzero.baseline-jsc:
* ChakraCore/test/fieldopts/fieldhoist_undefined_global.baseline-jsc:
* ChakraCore/test/fieldopts/fieldhoist_unreachable.baseline-jsc:
* stress/error-stack-at.js: Added.
(shouldBe):
(catch):
(try.eval):

Source/_javascript_Core:

Append '@' if URL exists even if function name does not exist to make the
format simple for parsing in JS (splitting with '@' to extract URL and function name).

* runtime/StackFrame.cpp:
(JSC::StackFrame::toString const):

Source/WebInspectorUI:

* UserInterface/Models/StackTrace.js:
(WI.StackTrace.isLikelyStackTrace):

Tools:

* TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp:
(testJSCExceptions):

LayoutTests:

* inspector/model/remote-object/error-expected.txt:
* inspector/unit-tests/globals-unhandled-rejection-in-timer-callback-expected.txt:
* js/dom/line-column-numbers-expected.txt:
* js/dom/script-tests/stack-trace.js:
(catch):
* js/dom/stack-trace-expected.txt:
* js/script-tests/stack-trace.js:
(catch):
* js/stack-trace-expected.txt:

Modified Paths

Added Paths

Diff

Modified: trunk/JSTests/ChakraCore/test/Error/NativeErrors_v4.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/Error/NativeErrors_v4.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/Error/NativeErrors_v4.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,7 +1,7 @@
 EvalError
 description    = (undefined)undefined
 number         = (undefined)undefined
-stack          = (string)  eval code
+stack          = (string)  eval code@
 eval@[native code]
 [email protected]:49:20
 global [email protected]:68:5
@@ -10,7 +10,7 @@
 RangeError('This is a range error')
 description    = (undefined)undefined
 number         = (undefined)undefined
-stack          = (string)  eval code
+stack          = (string)  eval code@
 eval@[native code]
 [email protected]:49:20
 global [email protected]:69:5
@@ -19,7 +19,7 @@
 ReferenceError
 description    = (undefined)undefined
 number         = (undefined)undefined
-stack          = (string)  eval code
+stack          = (string)  eval code@
 eval@[native code]
 [email protected]:49:20
 global [email protected]:70:5
@@ -28,7 +28,7 @@
 SyntaxError
 description    = (undefined)undefined
 number         = (undefined)undefined
-stack          = (string)  eval code
+stack          = (string)  eval code@
 eval@[native code]
 [email protected]:49:20
 global [email protected]:71:5
@@ -37,7 +37,7 @@
 TypeError('This is a type error')
 description    = (undefined)undefined
 number         = (undefined)undefined
-stack          = (string)  eval code
+stack          = (string)  eval code@
 eval@[native code]
 [email protected]:49:20
 global [email protected]:72:5
@@ -46,7 +46,7 @@
 URIError
 description    = (undefined)undefined
 number         = (undefined)undefined
-stack          = (string)  eval code
+stack          = (string)  eval code@
 eval@[native code]
 [email protected]:49:20
 global [email protected]:73:5

Modified: trunk/JSTests/ChakraCore/test/Error/validate_line_column.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/Error/validate_line_column.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/Error/validate_line_column.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,30 +1,30 @@
-validate_line_column.js:17:9
+@validate_line_column.js:17:9
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:16:4
-validate_line_column.js:21:11
+@validate_line_column.js:21:11
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:20:4
-validate_line_column.js:26:7
+@validate_line_column.js:26:7
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:24:4
-validate_line_column.js:30:14
+@validate_line_column.js:30:14
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:29:4
-validate_line_column.js:35:7
+@validate_line_column.js:35:7
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:33:4
-validate_line_column.js:40:7
+@validate_line_column.js:40:7
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:38:4
-validate_line_column.js:45:7
+@validate_line_column.js:45:7
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:43:4
-validate_line_column.js:50:7
+@validate_line_column.js:50:7
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:48:4
-validate_line_column.js:55:7
+@validate_line_column.js:55:7
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:53:4
-validate_line_column.js:60:9
+@validate_line_column.js:60:9
 foo@validate_line_column.js:10:17
 global code@validate_line_column.js:58:4

Modified: trunk/JSTests/ChakraCore/test/StackTrace/FunctionName.js.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/StackTrace/FunctionName.js.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/StackTrace/FunctionName.js.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,8 +1,8 @@
 [email protected]:24:24
 [email protected]:28:12
-anonymous
-eval code
+anonymous@
+eval code@
 eval@[native code]
-FunctionName.js:35:17
[email protected]:35:17
 [email protected]:36:11
 global [email protected]:39:8

Modified: trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist6.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist6.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist6.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,3 @@
 Exception: ReferenceError: Can't find variable: f
-fieldhoist6.js:13:6
[email protected]:13:6
 global [email protected]:20:3

Modified: trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist6b.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist6b.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist6b.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,3 @@
 Exception: ReferenceError: Can't find variable: f
-fieldhoist6b.js:13:6
[email protected]:13:6
 global [email protected]:20:3

Modified: trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist7.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist7.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist7.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,3 @@
 Exception: ReferenceError: Can't find variable: obj3
-fieldhoist7.js:7:32
[email protected]:7:32
 global [email protected]:18:3

Modified: trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_negzero.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_negzero.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_negzero.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,3 @@
 Exception: ReferenceError: Can't find variable: obj0
-fieldhoist_negzero.js:9:32
+@fieldhoist_negzero.js:9:32
 global code@fieldhoist_negzero.js:12:3

Modified: trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_undefined_global.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_undefined_global.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_undefined_global.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,3 @@
 Exception: ReferenceError: Can't find variable: d
-fieldhoist_undefined_global.js:12:10
+@fieldhoist_undefined_global.js:12:10
 global code@fieldhoist_undefined_global.js:15:3

Modified: trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_unreachable.baseline-jsc (272138 => 272139)


--- trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_unreachable.baseline-jsc	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChakraCore/test/fieldopts/fieldhoist_unreachable.baseline-jsc	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,3 @@
 Exception: ReferenceError: Can't find variable: obj9
-fieldhoist_unreachable.js:13:9
+@fieldhoist_unreachable.js:13:9
 global code@fieldhoist_unreachable.js:15:3

Modified: trunk/JSTests/ChangeLog (272138 => 272139)


--- trunk/JSTests/ChangeLog	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/JSTests/ChangeLog	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,24 @@
+2021-02-01  Yusuke Suzuki  <[email protected]>
+
+        [JSC] Add @ in Error.stack if URL exists
+        https://bugs.webkit.org/show_bug.cgi?id=221184
+
+        Reviewed by Keith Miller.
+
+        * ChakraCore/test/Error/NativeErrors_v4.baseline-jsc:
+        * ChakraCore/test/Error/validate_line_column.baseline-jsc:
+        * ChakraCore/test/StackTrace/FunctionName.js.baseline-jsc:
+        * ChakraCore/test/fieldopts/fieldhoist6.baseline-jsc:
+        * ChakraCore/test/fieldopts/fieldhoist6b.baseline-jsc:
+        * ChakraCore/test/fieldopts/fieldhoist7.baseline-jsc:
+        * ChakraCore/test/fieldopts/fieldhoist_negzero.baseline-jsc:
+        * ChakraCore/test/fieldopts/fieldhoist_undefined_global.baseline-jsc:
+        * ChakraCore/test/fieldopts/fieldhoist_unreachable.baseline-jsc:
+        * stress/error-stack-at.js: Added.
+        (shouldBe):
+        (catch):
+        (try.eval):
+
 2021-01-31  Yusuke Suzuki  <[email protected]>
 
         Date.parse returns non-integral time value

Added: trunk/JSTests/stress/error-stack-at.js (0 => 272139)


--- trunk/JSTests/stress/error-stack-at.js	                        (rev 0)
+++ trunk/JSTests/stress/error-stack-at.js	2021-02-01 11:04:22 UTC (rev 272139)
@@ -0,0 +1,33 @@
+function shouldBe(actual, expected) {
+    if (actual !== expected)
+        throw new Error('bad value: ' + actual);
+}
+
+try {
+    (function () {
+        throw new Error("ok");
+    }());
+} catch (error) {
+    for (let line of error.stack.split('\n'))
+        shouldBe(line.includes('@'), true);
+}
+
+try {
+    eval(`
+        throw new Error("ok");
+    `);
+} catch (error) {
+    for (let line of error.stack.split('\n'))
+        shouldBe(line.includes('@'), true);
+}
+
+try {
+    eval(`
+        (function () {
+            throw new Error("ok");
+        }());
+    `);
+} catch (error) {
+    for (let line of error.stack.split('\n'))
+        shouldBe(line.includes('@'), true);
+}

Modified: trunk/LayoutTests/ChangeLog (272138 => 272139)


--- trunk/LayoutTests/ChangeLog	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/LayoutTests/ChangeLog	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,20 @@
+2021-02-01  Yusuke Suzuki  <[email protected]>
+
+        [JSC] Add @ in Error.stack if URL exists
+        https://bugs.webkit.org/show_bug.cgi?id=221184
+
+        Reviewed by Keith Miller.
+
+        * inspector/model/remote-object/error-expected.txt:
+        * inspector/unit-tests/globals-unhandled-rejection-in-timer-callback-expected.txt:
+        * js/dom/line-column-numbers-expected.txt:
+        * js/dom/script-tests/stack-trace.js:
+        (catch):
+        * js/dom/stack-trace-expected.txt:
+        * js/script-tests/stack-trace.js:
+        (catch):
+        * js/stack-trace-expected.txt:
+
 2021-01-31  Sam Weinig  <[email protected]>
 
         Add support for color(prophoto-rgb ...) as part of CSS Color 4

Modified: trunk/LayoutTests/inspector/model/remote-object/error-expected.txt (272138 => 272139)


--- trunk/LayoutTests/inspector/model/remote-object/error-expected.txt	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/LayoutTests/inspector/model/remote-object/error-expected.txt	2021-02-01 11:04:22 UTC (rev 272139)
@@ -31,7 +31,7 @@
       {
         "_name": "stack",
         "_type": "string",
-        "_value": "global code\nevaluateWithScopeExtension@[native code]\n\n_wrapCall"
+        "_value": "global code@\nevaluateWithScopeExtension@[native code]\n@\n_wrapCall@"
       }
     ],
     "_entries": null
@@ -70,7 +70,7 @@
       {
         "_name": "stack",
         "_type": "string",
-        "_value": "eval@[native code]\nglobal code\nevaluateWithScopeExtension@[native code]\n\n_wrapCall"
+        "_value": "eval@[native code]\nglobal code@\nevaluateWithScopeExtension@[native code]\n@\n_wrapCall@"
       }
     ],
     "_entries": null
@@ -104,7 +104,7 @@
       {
         "_name": "stack",
         "_type": "string",
-        "_value": "splitText@[native code]\nglobal code\nevaluateWithScopeExtension@[native code]\n\n_wrapCall"
+        "_value": "splitText@[native code]\nglobal code@\nevaluateWithScopeExtension@[native code]\n@\n_wrapCall@"
       },
       {
         "_name": "code",

Modified: trunk/LayoutTests/inspector/unit-tests/globals-unhandled-rejection-in-timer-callback-expected.txt (272138 => 272139)


--- trunk/LayoutTests/inspector/unit-tests/globals-unhandled-rejection-in-timer-callback-expected.txt	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/LayoutTests/inspector/unit-tests/globals-unhandled-rejection-in-timer-callback-expected.txt	2021-02-01 11:04:22 UTC (rev 272139)
@@ -2,4 +2,6 @@
 
 Unhandled promise rejection in inspector page: This is an exception thrown in the inspector page.
 
+Stack Trace: (suppressed)
 
+

Modified: trunk/LayoutTests/js/dom/line-column-numbers-expected.txt (272138 => 272139)


--- trunk/LayoutTests/js/dom/line-column-numbers-expected.txt	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/LayoutTests/js/dom/line-column-numbers-expected.txt	2021-02-01 11:04:22 UTC (rev 272139)
@@ -71,25 +71,25 @@
     3   global code at line-column-numbers.html:124:99
 
 --> Case 15 Stack Trace:
-    0    at eval code
+    0   eval code at
     1   eval at [native code]
     2   global code at line-column-numbers.html:130:5
 
 --> Case 16 Stack Trace:
-    0    at doThrow16
-    1    at eval code
+    0   doThrow16 at
+    1   eval code at
     2   eval at [native code]
     3   global code at line-column-numbers.html:136:5
 
 --> Case 17 Stack Trace:
     0    at
-    1    at eval code
+    1   eval code at
     2   eval at [native code]
     3   global code at line-column-numbers.html:149:5
 
 --> Case 18 Stack Trace:
     0    at
-    1    at eval code
+    1   eval code at
     2   eval at [native code]
     3   global code at line-column-numbers.html:155:5
 
@@ -213,25 +213,25 @@
     3   global code at line-column-numbers.js:73:101
 
 --> Case 15 Stack Trace:
-    0    at eval code
+    0   eval code at
     1   eval at [native code]
     2   global code at line-column-numbers.js:77:5
 
 --> Case 16 Stack Trace:
-    0    at doThrow15b
-    1    at eval code
+    0   doThrow15b at
+    1   eval code at
     2   eval at [native code]
     3   global code at line-column-numbers.js:81:5
 
 --> Case 17 Stack Trace:
     0    at
-    1    at eval code
+    1   eval code at
     2   eval at [native code]
     3   global code at line-column-numbers.js:92:5
 
 --> Case 18 Stack Trace:
     0    at
-    1    at eval code
+    1   eval code at
     2   eval at [native code]
     3   global code at line-column-numbers.js:96:5
 

Modified: trunk/LayoutTests/js/dom/script-tests/stack-trace.js (272138 => 272139)


--- trunk/LayoutTests/js/dom/script-tests/stack-trace.js	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/LayoutTests/js/dom/script-tests/stack-trace.js	2021-02-01 11:04:22 UTC (rev 272139)
@@ -126,7 +126,7 @@
     selfRecursive3();
 } catch (e) {
     var pattern = [
-        " at eval code",
+        "eval code at ",
         "eval at [native code]",
         "selfRecursive3 at stack-trace.js"
     ];

Modified: trunk/LayoutTests/js/dom/stack-trace-expected.txt (272138 => 272139)


--- trunk/LayoutTests/js/dom/stack-trace-expected.txt	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/LayoutTests/js/dom/stack-trace-expected.txt	2021-02-01 11:04:22 UTC (rev 272139)
@@ -10,7 +10,7 @@
 
 --> Stack Trace:
     0   inner at stack-trace.js:81:44
-    1    at eval code
+    1   eval code at
     2   eval at [native code]
     3   evaler at stack-trace.js:82:29
     4   global code at stack-trace.js:92:13
@@ -18,7 +18,7 @@
 --> Stack Trace:
     0   inner at stack-trace.js:81:44
     1   outer at stack-trace.js:80:34
-    2    at eval code
+    2   eval code at
     3   eval at [native code]
     4   evaler at stack-trace.js:82:29
     5   global code at stack-trace.js:93:13
@@ -253,7 +253,7 @@
     99   selfRecursive2 at stack-trace.js:115:27
 
 --> Stack Trace matches pattern:
-    0    at eval code
+    0   eval code at
     1   eval at [native code]
     2   selfRecursive3 at stack-trace.js
 

Modified: trunk/LayoutTests/js/script-tests/stack-trace.js (272138 => 272139)


--- trunk/LayoutTests/js/script-tests/stack-trace.js	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/LayoutTests/js/script-tests/stack-trace.js	2021-02-01 11:04:22 UTC (rev 272139)
@@ -129,7 +129,7 @@
     selfRecursive3();
 } catch (e) {
     var pattern = [
-        " at eval code",
+        "eval code at ",
         "eval at [native code]",
         "selfRecursive3 at stack-trace.js"
     ];

Modified: trunk/LayoutTests/js/stack-trace-expected.txt (272138 => 272139)


--- trunk/LayoutTests/js/stack-trace-expected.txt	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/LayoutTests/js/stack-trace-expected.txt	2021-02-01 11:04:22 UTC (rev 272139)
@@ -6,7 +6,7 @@
 
 --> Stack Trace:
     0   inner at stack-trace.js:84:44
-    1    at eval code
+    1   eval code at 
     2   eval at [native code]
     3   evaler at stack-trace.js:85:29
     4   global code at stack-trace.js:95:13
@@ -14,7 +14,7 @@
 --> Stack Trace:
     0   inner at stack-trace.js:84:44
     1   outer at stack-trace.js:83:34
-    2    at eval code
+    2   eval code at 
     3   eval at [native code]
     4   evaler at stack-trace.js:85:29
     5   global code at stack-trace.js:96:13
@@ -245,7 +245,7 @@
     99   selfRecursive2 at stack-trace.js:118:27
 
 --> Stack Trace matches pattern:
-    0    at eval code
+    0   eval code at 
     1   eval at [native code]
     2   selfRecursive3 at stack-trace.js
 

Modified: trunk/Source/_javascript_Core/ChangeLog (272138 => 272139)


--- trunk/Source/_javascript_Core/ChangeLog	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,16 @@
+2021-02-01  Yusuke Suzuki  <[email protected]>
+
+        [JSC] Add @ in Error.stack if URL exists
+        https://bugs.webkit.org/show_bug.cgi?id=221184
+
+        Reviewed by Keith Miller.
+
+        Append '@' if URL exists even if function name does not exist to make the
+        format simple for parsing in JS (splitting with '@' to extract URL and function name).
+
+        * runtime/StackFrame.cpp:
+        (JSC::StackFrame::toString const):
+
 2021-01-30  Yusuke Suzuki  <[email protected]>
 
         Unreviewed, fix after r272071

Modified: trunk/Source/_javascript_Core/runtime/StackFrame.cpp (272138 => 272139)


--- trunk/Source/_javascript_Core/runtime/StackFrame.cpp	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/Source/_javascript_Core/runtime/StackFrame.cpp	2021-02-01 11:04:22 UTC (rev 272139)
@@ -124,9 +124,8 @@
     String functionName = this->functionName(vm);
     String sourceURL = this->sourceURL();
     traceBuild.append(functionName);
+    traceBuild.append('@');
     if (!sourceURL.isEmpty()) {
-        if (!functionName.isEmpty())
-            traceBuild.append('@');
         traceBuild.append(sourceURL);
         if (hasLineAndColumnInfo()) {
             unsigned line;

Modified: trunk/Source/WebInspectorUI/ChangeLog (272138 => 272139)


--- trunk/Source/WebInspectorUI/ChangeLog	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/Source/WebInspectorUI/ChangeLog	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,13 @@
+2021-02-01  Yusuke Suzuki  <[email protected]>
+
+        [JSC] Add @ in Error.stack if URL exists
+        https://bugs.webkit.org/show_bug.cgi?id=221184
+
+        Reviewed by Keith Miller.
+
+        * UserInterface/Models/StackTrace.js:
+        (WI.StackTrace.isLikelyStackTrace):
+
 2021-01-27  Razvan Caliman  <[email protected]>
 
         Web Inspector: REGRESSION(r269166): not enough space around up/down arrows in execution context picker

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/StackTrace.js (272138 => 272139)


--- trunk/Source/WebInspectorUI/UserInterface/Models/StackTrace.js	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/StackTrace.js	2021-02-01 11:04:22 UTC (rev 272139)
@@ -77,7 +77,7 @@
         if (stack.length > approximateStackLengthOf50Items)
             return false;
 
-        if (/^[^a-z$_]/i.test(stack[0]))
+        if (/^[^a-z$_@]/i.test(stack[0]))
             return false;
 
         if (!WI.StackTrace._likelyStackTraceRegex) {

Modified: trunk/Tools/ChangeLog (272138 => 272139)


--- trunk/Tools/ChangeLog	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/Tools/ChangeLog	2021-02-01 11:04:22 UTC (rev 272139)
@@ -1,3 +1,13 @@
+2021-02-01  Yusuke Suzuki  <[email protected]>
+
+        [JSC] Add @ in Error.stack if URL exists
+        https://bugs.webkit.org/show_bug.cgi?id=221184
+
+        Reviewed by Keith Miller.
+
+        * TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp:
+        (testJSCExceptions):
+
 2021-01-29  Don Olmstead  <[email protected]>
 
         [webkitpy] Thread.isAlive was renamed to Thread.is_alive

Modified: trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp (272138 => 272139)


--- trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp	2021-02-01 10:29:36 UTC (rev 272138)
+++ trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp	2021-02-01 11:04:22 UTC (rev 272139)
@@ -2805,11 +2805,11 @@
         g_assert_cmpuint(jsc_exception_get_line_number(exception), ==, 1);
         g_assert_cmpuint(jsc_exception_get_column_number(exception), ==, 4);
         g_assert_null(jsc_exception_get_source_uri(exception));
-        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "global code");
+        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "global code@");
         GUniquePtr<char> errorString(jsc_exception_to_string(exception));
         g_assert_cmpstr(errorString.get(), ==, "ReferenceError: Can't find variable: foo");
         GUniquePtr<char> reportString(jsc_exception_report(exception));
-        g_assert_cmpstr(reportString.get(), ==, ":1:4 ReferenceError: Can't find variable: foo\n  global code\n");
+        g_assert_cmpstr(reportString.get(), ==, ":1:4 ReferenceError: Can't find variable: foo\n  global code@\n");
 
         jsc_context_clear_exception(context.get());
         g_assert_null(jsc_context_get_exception(context.get()));
@@ -2902,11 +2902,11 @@
         g_assert_cmpuint(jsc_exception_get_line_number(exception), ==, 1);
         g_assert_cmpuint(jsc_exception_get_column_number(exception), ==, 24);
         g_assert_null(jsc_exception_get_source_uri(exception));
-        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "createError@[native code]\nglobal code");
+        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "createError@[native code]\nglobal code@");
         GUniquePtr<char> errorString(jsc_exception_to_string(exception));
         g_assert_cmpstr(errorString.get(), ==, "Error: API exception");
         GUniquePtr<char> reportString(jsc_exception_report(exception));
-        g_assert_cmpstr(reportString.get(), ==, ":1:24 Error: API exception\n  createError@[native code]\n  global code\n");
+        g_assert_cmpstr(reportString.get(), ==, ":1:24 Error: API exception\n  createError@[native code]\n  global code@\n");
 
         jsc_context_clear_exception(context.get());
         g_assert_null(jsc_context_get_exception(context.get()));
@@ -2933,11 +2933,11 @@
         g_assert_cmpuint(jsc_exception_get_line_number(exception), ==, 1);
         g_assert_cmpuint(jsc_exception_get_column_number(exception), ==, 30);
         g_assert_null(jsc_exception_get_source_uri(exception));
-        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "createCustomError@[native code]\nglobal code");
+        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "createCustomError@[native code]\nglobal code@");
         GUniquePtr<char> errorString(jsc_exception_to_string(exception));
         g_assert_cmpstr(errorString.get(), ==, "CustomAPIError: API custom exception");
         GUniquePtr<char> reportString(jsc_exception_report(exception));
-        g_assert_cmpstr(reportString.get(), ==, ":1:30 CustomAPIError: API custom exception\n  createCustomError@[native code]\n  global code\n");
+        g_assert_cmpstr(reportString.get(), ==, ":1:30 CustomAPIError: API custom exception\n  createCustomError@[native code]\n  global code@\n");
 
         jsc_context_clear_exception(context.get());
         g_assert_null(jsc_context_get_exception(context.get()));
@@ -2964,11 +2964,11 @@
         g_assert_cmpuint(jsc_exception_get_line_number(exception), ==, 1);
         g_assert_cmpuint(jsc_exception_get_column_number(exception), ==, 33);
         g_assert_null(jsc_exception_get_source_uri(exception));
-        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "createFormattedError@[native code]\nglobal code");
+        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "createFormattedError@[native code]\nglobal code@");
         GUniquePtr<char> errorString(jsc_exception_to_string(exception));
         g_assert_cmpstr(errorString.get(), ==, "Error: API exception: error details");
         GUniquePtr<char> reportString(jsc_exception_report(exception));
-        g_assert_cmpstr(reportString.get(), ==, ":1:33 Error: API exception: error details\n  createFormattedError@[native code]\n  global code\n");
+        g_assert_cmpstr(reportString.get(), ==, ":1:33 Error: API exception: error details\n  createFormattedError@[native code]\n  global code@\n");
 
         jsc_context_clear_exception(context.get());
         g_assert_null(jsc_context_get_exception(context.get()));
@@ -2995,11 +2995,11 @@
         g_assert_cmpuint(jsc_exception_get_line_number(exception), ==, 1);
         g_assert_cmpuint(jsc_exception_get_column_number(exception), ==, 39);
         g_assert_null(jsc_exception_get_source_uri(exception));
-        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "createCustomFormattedError@[native code]\nglobal code");
+        g_assert_cmpstr(jsc_exception_get_backtrace_string(exception), ==, "createCustomFormattedError@[native code]\nglobal code@");
         GUniquePtr<char> errorString(jsc_exception_to_string(exception));
         g_assert_cmpstr(errorString.get(), ==, "CustomFormattedAPIError: API custom exception: error details");
         GUniquePtr<char> reportString(jsc_exception_report(exception));
-        g_assert_cmpstr(reportString.get(), ==, ":1:39 CustomFormattedAPIError: API custom exception: error details\n  createCustomFormattedError@[native code]\n  global code\n");
+        g_assert_cmpstr(reportString.get(), ==, ":1:39 CustomFormattedAPIError: API custom exception: error details\n  createCustomFormattedError@[native code]\n  global code@\n");
 
         jsc_context_clear_exception(context.get());
         g_assert_null(jsc_context_get_exception(context.get()));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to