diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-18 09:58:25 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-18 09:58:25 +0000 |
commit | 7f3927541dbe7510c487035c8f857ec3ac45437a (patch) | |
tree | 06995af305093d368af9db1c0815c1f03b63f7cf /webkit | |
parent | d06499ed4d61acec7e2e0d82b6c937713f76dfae (diff) | |
download | chromium_src-7f3927541dbe7510c487035c8f857ec3ac45437a.zip chromium_src-7f3927541dbe7510c487035c8f857ec3ac45437a.tar.gz chromium_src-7f3927541dbe7510c487035c8f857ec3ac45437a.tar.bz2 |
Merge 32174 - Adds auto continue option on Debugger Agent to avoid pausing the.
Original review: http://codereview.chromium.org/395027.
TBR=knorton
Review URL: http://codereview.chromium.org/402014
TBR=pfeldman@chromium.org
Review URL: http://codereview.chromium.org/402046
git-svn-id: svn://svn.chromium.org/chrome/branches/249/src@32312 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/devtools/debugger_agent_impl.cc | 3 | ||||
-rw-r--r-- | webkit/glue/devtools/debugger_agent_impl.h | 7 | ||||
-rw-r--r-- | webkit/glue/devtools/debugger_agent_manager.cc | 6 | ||||
-rw-r--r-- | webkit/glue/webdevtoolsagent_impl.cc | 1 |
4 files changed, 16 insertions, 1 deletions
diff --git a/webkit/glue/devtools/debugger_agent_impl.cc b/webkit/glue/devtools/debugger_agent_impl.cc index 5ffa541..8957cb3 100644 --- a/webkit/glue/devtools/debugger_agent_impl.cc +++ b/webkit/glue/devtools/debugger_agent_impl.cc @@ -44,7 +44,8 @@ DebuggerAgentImpl::DebuggerAgentImpl( : web_view_impl_(web_view_impl), delegate_(delegate), webdevtools_agent_(webdevtools_agent), - profiler_log_position_(0) { + profiler_log_position_(0), + auto_continue_on_exception_(false) { DebuggerAgentManager::DebugAttach(this); } diff --git a/webkit/glue/devtools/debugger_agent_impl.h b/webkit/glue/devtools/debugger_agent_impl.h index 95ea2d8..412e898 100644 --- a/webkit/glue/devtools/debugger_agent_impl.h +++ b/webkit/glue/devtools/debugger_agent_impl.h @@ -49,6 +49,12 @@ class DebuggerAgentImpl : public DebuggerAgent { void DebuggerOutput(const WebCore::String& out); + void set_auto_continue_on_exception(bool auto_continue) { + auto_continue_on_exception_ = auto_continue; + } + + bool auto_continue_on_exception() { return auto_continue_on_exception_; } + // Executes function with the given name in the utility context. Passes node // and json args as parameters. Note that the function called must be // implemented in the inject_dispatch.js file. @@ -76,6 +82,7 @@ class DebuggerAgentImpl : public DebuggerAgent { DebuggerAgentDelegate* delegate_; WebDevToolsAgentImpl* webdevtools_agent_; int profiler_log_position_; + bool auto_continue_on_exception_; }; #endif // WEBKIT_GLUE_DEVTOOLS_DEBUGGER_AGENT_IMPL_H_ diff --git a/webkit/glue/devtools/debugger_agent_manager.cc b/webkit/glue/devtools/debugger_agent_manager.cc index 3c84743..1adb171 100644 --- a/webkit/glue/devtools/debugger_agent_manager.cc +++ b/webkit/glue/devtools/debugger_agent_manager.cc @@ -228,6 +228,12 @@ void DebuggerAgentManager::OnV8DebugMessage(const v8::Debug::Message& message) { if (host_id != -1) { DebuggerAgentImpl* agent = DebuggerAgentForHostId(host_id); if (agent) { + if (agent->auto_continue_on_exception() + && message.GetEvent() == v8::Exception) { + SendContinueCommandToV8(); + return; + } + agent->DebuggerOutput(out); return; } diff --git a/webkit/glue/webdevtoolsagent_impl.cc b/webkit/glue/webdevtoolsagent_impl.cc index da6055c..df1fa7b 100644 --- a/webkit/glue/webdevtoolsagent_impl.cc +++ b/webkit/glue/webdevtoolsagent_impl.cc @@ -401,6 +401,7 @@ void WebDevToolsAgentImpl::setApuAgentEnabled(bool enabled) { // user could turn off resource tracking while apu agent is on. ic->enableResourceTracking(false, false); } + debugger_agent_impl_->set_auto_continue_on_exception(true); } else { ic->stopTimelineProfiler(); if (!resource_tracking_was_enabled_) { |