Skip to content
This repository has been archived by the owner on Mar 25, 2018. It is now read-only.

Commit

Permalink
Merged: [debug] Disable debug events if JS execution is disallowed
Browse files Browse the repository at this point in the history
Revision: 8f22fce

BUG=chromium:662674
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/2498533002 .

Cr-Commit-Position: refs/branch-heads/5.5@{v8#38}
Cr-Branched-From: 3cbd583-refs/heads/5.5.372@{#1}
Cr-Branched-From: b3c8b0c-refs/heads/master@{#40015}
  • Loading branch information
schuay committed Nov 11, 2016
1 parent a4cf5cc commit be4f2bb
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/debug/debug.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1697,6 +1697,11 @@ void Debug::OnPromiseReject(Handle<Object> promise, Handle<Object> value) {


void Debug::OnException(Handle<Object> exception, Handle<Object> promise) {
// We cannot generate debug events when JS execution is disallowed.
// TODO(5530): Reenable debug events within DisallowJSScopes once relevant
// code (MakeExceptionEvent and ProcessDebugEvent) have been moved to C++.
if (!AllowJavascriptExecution::IsAllowed(isolate_)) return;

Isolate::CatchType catch_type = isolate_->PredictExceptionCatcher();

// Don't notify listener of exceptions that are internal to a desugaring.
Expand Down
14 changes: 14 additions & 0 deletions test/debugger/debug/regress/regress-662674.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Flags: --stack-size=100

Debug = debug.Debug

function overflow() {
return overflow();
}

Debug.setBreakOnException();
assertThrows(overflow, RangeError);

0 comments on commit be4f2bb

Please sign in to comment.