Title: [214218] trunk/Source/_javascript_Core
- Revision
- 214218
- Author
- utatane....@gmail.com
- Date
- 2017-03-21 04:16:47 -0700 (Tue, 21 Mar 2017)
Log Message
[JSC] Add JSPromiseDeferred::reject(ExecState*, Exception*) interface
https://bugs.webkit.org/show_bug.cgi?id=169908
Reviewed by Sam Weinig.
To avoid calling reject(ExecState*, JSValue) with Exception* accidentally,
we add a new interface reject(ExecState*, Exception*).
Such an interface is already added in DOMPromise in WebCore.
* runtime/JSInternalPromiseDeferred.cpp:
(JSC::JSInternalPromiseDeferred::reject):
* runtime/JSInternalPromiseDeferred.h:
* runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::reject):
* runtime/JSPromiseDeferred.h:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (214217 => 214218)
--- trunk/Source/_javascript_Core/ChangeLog 2017-03-21 09:43:14 UTC (rev 214217)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-03-21 11:16:47 UTC (rev 214218)
@@ -1,3 +1,21 @@
+2017-03-21 Yusuke Suzuki <utatane....@gmail.com>
+
+ [JSC] Add JSPromiseDeferred::reject(ExecState*, Exception*) interface
+ https://bugs.webkit.org/show_bug.cgi?id=169908
+
+ Reviewed by Sam Weinig.
+
+ To avoid calling reject(ExecState*, JSValue) with Exception* accidentally,
+ we add a new interface reject(ExecState*, Exception*).
+ Such an interface is already added in DOMPromise in WebCore.
+
+ * runtime/JSInternalPromiseDeferred.cpp:
+ (JSC::JSInternalPromiseDeferred::reject):
+ * runtime/JSInternalPromiseDeferred.h:
+ * runtime/JSPromiseDeferred.cpp:
+ (JSC::JSPromiseDeferred::reject):
+ * runtime/JSPromiseDeferred.h:
+
2017-03-21 Zan Dobersek <zdober...@igalia.com>
[jsc] MacroAssemblerMIPS: implement the branchPtr(RelationalCondition, BaseIndex, RegisterID) overload.
Modified: trunk/Source/_javascript_Core/runtime/JSInternalPromiseDeferred.cpp (214217 => 214218)
--- trunk/Source/_javascript_Core/runtime/JSInternalPromiseDeferred.cpp 2017-03-21 09:43:14 UTC (rev 214217)
+++ trunk/Source/_javascript_Core/runtime/JSInternalPromiseDeferred.cpp 2017-03-21 11:16:47 UTC (rev 214218)
@@ -75,4 +75,9 @@
return promise();
}
+JSInternalPromise* JSInternalPromiseDeferred::reject(ExecState* exec, Exception* reason)
+{
+ return reject(exec, reason->value());
+}
+
} // namespace JSC
Modified: trunk/Source/_javascript_Core/runtime/JSInternalPromiseDeferred.h (214217 => 214218)
--- trunk/Source/_javascript_Core/runtime/JSInternalPromiseDeferred.h 2017-03-21 09:43:14 UTC (rev 214217)
+++ trunk/Source/_javascript_Core/runtime/JSInternalPromiseDeferred.h 2017-03-21 11:16:47 UTC (rev 214218)
@@ -48,6 +48,7 @@
JS_EXPORT_PRIVATE JSInternalPromise* promise() const;
JS_EXPORT_PRIVATE JSInternalPromise* resolve(ExecState*, JSValue);
JS_EXPORT_PRIVATE JSInternalPromise* reject(ExecState*, JSValue);
+ JS_EXPORT_PRIVATE JSInternalPromise* reject(ExecState*, Exception*);
private:
JSInternalPromiseDeferred(VM&);
Modified: trunk/Source/_javascript_Core/runtime/JSPromiseDeferred.cpp (214217 => 214218)
--- trunk/Source/_javascript_Core/runtime/JSPromiseDeferred.cpp 2017-03-21 09:43:14 UTC (rev 214217)
+++ trunk/Source/_javascript_Core/runtime/JSPromiseDeferred.cpp 2017-03-21 11:16:47 UTC (rev 214218)
@@ -106,6 +106,11 @@
callFunction(exec, m_reject.get(), reason);
}
+void JSPromiseDeferred::reject(ExecState* exec, Exception* reason)
+{
+ reject(exec, reason->value());
+}
+
void JSPromiseDeferred::finishCreation(VM& vm, JSObject* promise, JSValue resolve, JSValue reject)
{
Base::finishCreation(vm);
Modified: trunk/Source/_javascript_Core/runtime/JSPromiseDeferred.h (214217 => 214218)
--- trunk/Source/_javascript_Core/runtime/JSPromiseDeferred.h 2017-03-21 09:43:14 UTC (rev 214217)
+++ trunk/Source/_javascript_Core/runtime/JSPromiseDeferred.h 2017-03-21 11:16:47 UTC (rev 214218)
@@ -30,6 +30,7 @@
namespace JSC {
+class Exception;
class JSPromiseConstructor;
class JSPromiseDeferred : public JSCell {
@@ -53,6 +54,7 @@
JS_EXPORT_PRIVATE void resolve(ExecState*, JSValue);
JS_EXPORT_PRIVATE void reject(ExecState*, JSValue);
+ JS_EXPORT_PRIVATE void reject(ExecState*, Exception*);
protected:
JSPromiseDeferred(VM&, Structure*);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes