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/2490023004 .

Cr-Commit-Position: refs/branch-heads/5.4@{v8#81}
Cr-Branched-From: 5ce2827-refs/heads/5.4.500@{#2}
Cr-Branched-From: ad07b49-refs/heads/master@{#38841}
  • Loading branch information
schuay committed Nov 11, 2016
1 parent f8cbe27 commit 1ff807a
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 @@ -1701,6 +1701,11 @@ MaybeHandle<Object> Debug::PromiseHasUserDefinedRejectHandler(


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 1ff807a

Please sign in to comment.