Chromium Code Reviews| Index: src/js/promise.js |
| diff --git a/src/js/promise.js b/src/js/promise.js |
| index 95ab793591c04e3f2c3932a89b85f2742842cadf..0d35043e09b06db587b5ade457ab54658a82a4db 100644 |
| --- a/src/js/promise.js |
| +++ b/src/js/promise.js |
| @@ -49,6 +49,7 @@ function PromiseAll(iterable) { |
| var instrumenting = DEBUG_IS_ACTIVE; |
| if (instrumenting) { |
| SET_PRIVATE(deferred.reject, promiseForwardingHandlerSymbol, true); |
| + %DebugSetNonBreakableAsyncEvents(true); |
|
Yang
2017/01/30 13:30:14
This is not particular elegant. Especially if Prom
kozy
2017/01/30 16:58:00
Done.
|
| } |
| function CreateResolveElementFunction(index, values, promiseCapability) { |
| @@ -92,6 +93,9 @@ function PromiseAll(iterable) { |
| } catch (e) { |
| %_Call(deferred.reject, UNDEFINED, e); |
| } |
| + if (instrumenting) { |
| + %DebugSetNonBreakableAsyncEvents(false); |
| + } |
| return deferred.promise; |
| } |
| @@ -111,6 +115,7 @@ function PromiseRace(iterable) { |
| var instrumenting = DEBUG_IS_ACTIVE; |
| if (instrumenting) { |
| SET_PRIVATE(deferred.reject, promiseForwardingHandlerSymbol, true); |
| + %DebugSetNonBreakableAsyncEvents(true); |
| } |
| try { |
| @@ -126,6 +131,9 @@ function PromiseRace(iterable) { |
| } catch (e) { |
| %_Call(deferred.reject, UNDEFINED, e); |
| } |
| + if (instrumenting) { |
| + %DebugSetNonBreakableAsyncEvents(false); |
| + } |
| return deferred.promise; |
| } |