Chromium Code Reviews| Index: src/js/promise.js |
| diff --git a/src/js/promise.js b/src/js/promise.js |
| index 75ec6e1c57683f56c9107e5f8754590b532c46d3..47d07e4ba484a8a09697c651efd71205a31ef3a9 100644 |
| --- a/src/js/promise.js |
| +++ b/src/js/promise.js |
| @@ -52,30 +52,7 @@ const kRejected = +2; |
| // ES#sec-createresolvingfunctions |
| // CreateResolvingFunctions ( promise ) |
| function CreateResolvingFunctions(promise, debugEvent) { |
|
adamk
2016/11/08 18:09:55
Why do we still need this wrapper function?
gsathya
2016/11/08 20:03:19
Done.
|
| - var alreadyResolved = false; |
| - |
| - // ES#sec-promise-resolve-functions |
| - // Promise Resolve Functions |
| - var resolve = value => { |
| - if (alreadyResolved === true) return; |
| - alreadyResolved = true; |
| - ResolvePromise(promise, value); |
| - }; |
| - |
| - // ES#sec-promise-reject-functions |
| - // Promise Reject Functions |
| - var reject = reason => { |
| - if (alreadyResolved === true) return; |
| - alreadyResolved = true; |
| - %PromiseReject(promise, reason, debugEvent); |
| - PromiseSet(promise, kRejected, reason); |
| - }; |
| - |
| - return { |
| - __proto__: null, |
| - resolve: resolve, |
| - reject: reject |
| - }; |
| + return %create_resolving_functions(promise, debugEvent); |
| } |
| @@ -307,8 +284,8 @@ function ResolvePromise(promise, resolution) { |
| } |
| // Only used by async-await.js |
| -function RejectPromise(promise, reason) { |
| - %PromiseReject(promise, reason, false); |
| +function RejectPromise(promise, reason, debugEvent) { |
| + %PromiseReject(promise, reason, debugEvent); |
| PromiseSet(promise, kRejected, reason); |
| } |
| @@ -643,6 +620,8 @@ utils.InstallFunctions(GlobalPromise.prototype, DONT_ENUM, [ |
| "promise_create", PromiseCreate, |
| "promise_has_user_defined_reject_handler", PromiseHasUserDefinedRejectHandler, |
| "promise_reject", DoRejectPromise, |
| + //TODO(gsathya): Remove this once we update the promise builtin. |
| + "promise_internal_reject", RejectPromise, |
| "promise_resolve", ResolvePromise, |
| "promise_then", PromiseThen, |
| "promise_handle", PromiseHandle, |