Title: [275333] trunk
Revision
275333
Author
tzaga...@apple.com
Date
2021-03-31 18:38:03 -0700 (Wed, 31 Mar 2021)

Log Message

Missing scope release in JSDOMBuiltinConstructorBase
https://bugs.webkit.org/show_bug.cgi?id=216851
<rdar://problem/69144642>

Reviewed by Yusuke Suzuki.

Source/WebCore:

In JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments, we should release the
ThrowScope before calling into _javascript_ since we don't intend to handle the exception.

Test: js/transform-stream.html

* bindings/js/JSDOMBuiltinConstructorBase.cpp:
(WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments):

LayoutTests:

* js/dom/transform-stream-expected.txt: Added.
* js/dom/transform-stream.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (275332 => 275333)


--- trunk/LayoutTests/ChangeLog	2021-04-01 01:16:50 UTC (rev 275332)
+++ trunk/LayoutTests/ChangeLog	2021-04-01 01:38:03 UTC (rev 275333)
@@ -1,3 +1,14 @@
+2021-03-31  Tadeu Zagallo  <tzaga...@apple.com>
+
+        Missing scope release in JSDOMBuiltinConstructorBase
+        https://bugs.webkit.org/show_bug.cgi?id=216851
+        <rdar://problem/69144642>
+
+        Reviewed by Yusuke Suzuki.
+
+        * js/dom/transform-stream-expected.txt: Added.
+        * js/dom/transform-stream.html: Added.
+
 2021-03-31  Chris Gambrell  <cgambr...@apple.com>
 
         [LayoutTests] Convert http/tests/appcache convert PHP to Python

Added: trunk/LayoutTests/js/dom/transform-stream-expected.txt (0 => 275333)


--- trunk/LayoutTests/js/dom/transform-stream-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/js/dom/transform-stream-expected.txt	2021-04-01 01:38:03 UTC (rev 275333)
@@ -0,0 +1,9 @@
+Tests exception checking in JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/js/dom/transform-stream.html (0 => 275333)


--- trunk/LayoutTests/js/dom/transform-stream.html	                        (rev 0)
+++ trunk/LayoutTests/js/dom/transform-stream.html	2021-04-01 01:38:03 UTC (rev 275333)
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- webkit-test-runner [ jscOptions=--validateExceptionChecks=true ] -->
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<script>
+description("Tests exception checking in JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments.");
+if (typeof TransformStream !== 'undefined')
+    new TransformStream();
+</script>
+<script src=""
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (275332 => 275333)


--- trunk/Source/WebCore/ChangeLog	2021-04-01 01:16:50 UTC (rev 275332)
+++ trunk/Source/WebCore/ChangeLog	2021-04-01 01:38:03 UTC (rev 275333)
@@ -1,3 +1,19 @@
+2021-03-31  Tadeu Zagallo  <tzaga...@apple.com>
+
+        Missing scope release in JSDOMBuiltinConstructorBase
+        https://bugs.webkit.org/show_bug.cgi?id=216851
+        <rdar://problem/69144642>
+
+        Reviewed by Yusuke Suzuki.
+
+        In JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments, we should release the
+        ThrowScope before calling into _javascript_ since we don't intend to handle the exception.
+
+        Test: js/transform-stream.html
+
+        * bindings/js/JSDOMBuiltinConstructorBase.cpp:
+        (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments):
+
 2021-03-31  Chris Dumez  <cdu...@apple.com>
 
         Use MACH_PORT_VALID() when wanting to check if a mach port is valid

Modified: trunk/Source/WebCore/bindings/js/JSDOMBuiltinConstructorBase.cpp (275332 => 275333)


--- trunk/Source/WebCore/bindings/js/JSDOMBuiltinConstructorBase.cpp	2021-04-01 01:16:50 UTC (rev 275332)
+++ trunk/Source/WebCore/bindings/js/JSDOMBuiltinConstructorBase.cpp	2021-04-01 01:38:03 UTC (rev 275333)
@@ -42,6 +42,7 @@
         throwOutOfMemoryError(&lexicalGlobalObject, scope);
         return;
     }
+    scope.release();
     JSC::call(&lexicalGlobalObject, &function, callData, &thisObject, arguments);
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to