Chromium Code Reviews| Index: src/debug.h |
| diff --git a/src/debug.h b/src/debug.h |
| index b8348fd52af0dbd4656e4ea88ec3535d1656591b..7aa2f1387a5972bbd5b567c4ec349eeb282442b9 100644 |
| --- a/src/debug.h |
| +++ b/src/debug.h |
| @@ -515,6 +515,9 @@ class Debug { |
| // Check whether there are commands in the command queue. |
| inline bool has_commands() const { return !command_queue_.IsEmpty(); } |
| inline bool ignore_events() const { return is_suppressed_ || !is_active_; } |
| + inline bool break_disabled() const { |
| + return break_disabled_ || break_disabled_for_event_; |
| + } |
| void OnException(Handle<Object> exception, bool uncaught, |
| Handle<Object> promise); |
| @@ -592,6 +595,7 @@ class Debug { |
| bool live_edit_enabled_; |
| bool has_break_points_; |
| bool break_disabled_; |
| + bool break_disabled_for_event_; |
|
yurys
2014/11/18 12:53:33
I'd rather call it something like in_debug_listene
|
| bool break_on_exception_; |
| bool break_on_uncaught_exception_; |
| @@ -702,14 +706,21 @@ class DebugScope BASE_EMBEDDED { |
| class DisableBreak BASE_EMBEDDED { |
| public: |
| explicit DisableBreak(Debug* debug, bool disable_break) |
| - : debug_(debug), old_state_(debug->break_disabled_) { |
| + : debug_(debug), |
| + previous_break_disabled_(debug->break_disabled_), |
| + previous_break_disabled_for_event_(debug->break_disabled_for_event_) { |
| debug_->break_disabled_ = disable_break; |
| + debug_->break_disabled_for_event_ = disable_break; |
| + } |
| + ~DisableBreak() { |
| + debug_->break_disabled_ = previous_break_disabled_; |
| + debug_->break_disabled_for_event_ = previous_break_disabled_for_event_; |
| } |
| - ~DisableBreak() { debug_->break_disabled_ = old_state_; } |
| private: |
| Debug* debug_; |
| - bool old_state_; |
| + bool previous_break_disabled_ : 1; |
|
yurys
2014/11/18 12:53:33
Does it really make sense to use bit fields here?
|
| + bool previous_break_disabled_for_event_ : 1; |
| DISALLOW_COPY_AND_ASSIGN(DisableBreak); |
| }; |