| Index: src/js/promise.js
|
| diff --git a/src/js/promise.js b/src/js/promise.js
|
| index eb63c280a181649e52877550c4e03bc43098ab67..835934a9b256f2c5c0ef78fb78521f3479694866 100644
|
| --- a/src/js/promise.js
|
| +++ b/src/js/promise.js
|
| @@ -18,8 +18,6 @@ var promiseHandledBySymbol =
|
| utils.ImportNow("promise_handled_by_symbol");
|
| var promiseForwardingHandlerSymbol =
|
| utils.ImportNow("promise_forwarding_handler_symbol");
|
| -var promiseHandledHintSymbol =
|
| - utils.ImportNow("promise_handled_hint_symbol");
|
| var ObjectHasOwnProperty; // Used by HAS_PRIVATE.
|
| var GlobalPromise = global.Promise;
|
|
|
| @@ -263,68 +261,6 @@ function PromiseRace(iterable) {
|
| return deferred.promise;
|
| }
|
|
|
| -
|
| -// Utility for debugger
|
| -
|
| -function PromiseHasUserDefinedRejectHandlerCheck(handler, deferred) {
|
| - // Recurse to the forwarding Promise, if any. This may be due to
|
| - // - await reaction forwarding to the throwaway Promise, which has
|
| - // a dependency edge to the outer Promise.
|
| - // - PromiseIdResolveHandler forwarding to the output of .then
|
| - // - Promise.all/Promise.race forwarding to a throwaway Promise, which
|
| - // has a dependency edge to the generated outer Promise.
|
| - if (GET_PRIVATE(handler, promiseForwardingHandlerSymbol)) {
|
| - return PromiseHasUserDefinedRejectHandlerRecursive(deferred.promise);
|
| - }
|
| -
|
| - // Otherwise, this is a real reject handler for the Promise
|
| - return true;
|
| -}
|
| -
|
| -function PromiseHasUserDefinedRejectHandlerRecursive(promise) {
|
| - // If this promise was marked as being handled by a catch block
|
| - // in an async function, then it has a user-defined reject handler.
|
| - if (GET_PRIVATE(promise, promiseHandledHintSymbol)) return true;
|
| -
|
| - // If this Promise is subsumed by another Promise (a Promise resolved
|
| - // with another Promise, or an intermediate, hidden, throwaway Promise
|
| - // within async/await), then recurse on the outer Promise.
|
| - // In this case, the dependency is one possible way that the Promise
|
| - // could be resolved, so it does not subsume the other following cases.
|
| - var outerPromise = GET_PRIVATE(promise, promiseHandledBySymbol);
|
| - if (outerPromise &&
|
| - PromiseHasUserDefinedRejectHandlerRecursive(outerPromise)) {
|
| - return true;
|
| - }
|
| -
|
| - if (!%is_promise(promise)) return false;
|
| -
|
| - var queue = %PromiseRejectReactions(promise);
|
| - var deferred = %PromiseDeferred(promise);
|
| -
|
| - if (IS_UNDEFINED(queue)) return false;
|
| -
|
| - if (!IS_ARRAY(queue)) {
|
| - return PromiseHasUserDefinedRejectHandlerCheck(queue, deferred);
|
| - }
|
| -
|
| - for (var i = 0; i < queue.length; i++) {
|
| - if (PromiseHasUserDefinedRejectHandlerCheck(queue[i], deferred[i])) {
|
| - return true;
|
| - }
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -// Return whether the promise will be handled by a user-defined reject
|
| -// handler somewhere down the promise chain. For this, we do a depth-first
|
| -// search for a reject handler that's not the default PromiseIdRejectHandler.
|
| -// This function also traverses dependencies of one Promise on another,
|
| -// set up through async/await and Promises resolved with Promises.
|
| -function PromiseHasUserDefinedRejectHandler() {
|
| - return PromiseHasUserDefinedRejectHandlerRecursive(this);
|
| -};
|
| -
|
| function MarkPromiseAsHandled(promise) {
|
| %PromiseMarkAsHandled(promise);
|
| }
|
| @@ -341,7 +277,6 @@ utils.InstallFunctions(GlobalPromise, DONT_ENUM, [
|
|
|
| %InstallToContext([
|
| "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,
|
|
|