Chromium Code Reviews| Index: src/runtime/runtime-internal.cc |
| diff --git a/src/runtime/runtime-internal.cc b/src/runtime/runtime-internal.cc |
| index 1bc6fcdaf97d55a21ad1495c99cb3ce5492c15e3..d6f6f09f5c18cda33bd76d799c594c66ce214b95 100644 |
| --- a/src/runtime/runtime-internal.cc |
| +++ b/src/runtime/runtime-internal.cc |
| @@ -274,7 +274,7 @@ RUNTIME_FUNCTION(Runtime_ThrowApplyNonFunction) { |
| namespace { |
| void PromiseRejectEvent(Isolate* isolate, Handle<JSObject> promise, |
| - Handle<JSObject> rejected_promise, Handle<Object> value, |
| + Handle<Object> rejected_promise, Handle<Object> value, |
| bool debug_event) { |
| if (isolate->debug()->is_active() && debug_event) { |
| isolate->debug()->OnPromiseReject(rejected_promise, value); |
| @@ -306,12 +306,12 @@ RUNTIME_FUNCTION(Runtime_PromiseRejectEventFromStack) { |
| CONVERT_ARG_HANDLE_CHECKED(JSObject, promise, 0); |
| CONVERT_ARG_HANDLE_CHECKED(Object, value, 1); |
| - Handle<JSObject> rejected_promise = promise; |
| + Handle<Object> rejected_promise = promise; |
| if (isolate->debug()->is_active()) { |
| - Handle<Object> promise_on_stack = isolate->GetPromiseOnStackOnThrow(); |
| - if (promise_on_stack->IsJSObject()) { |
| - rejected_promise = Handle<JSObject>::cast(promise_on_stack); |
| - } |
| + // If the Promise.reject call is caught, then this will return |
| + // undefined, which will be interpreted by uncaught as being a |
|
jgruber
2016/09/12 10:27:31
'interpreted by uncaught' -> Typo?
Dan Ehrenberg
2016/09/12 22:12:11
Fixed
|
| + // caught exception event. |
| + rejected_promise = isolate->GetPromiseOnStackOnThrow(); |
| } |
| PromiseRejectEvent(isolate, promise, rejected_promise, value, true); |
| return isolate->heap()->undefined_value(); |