summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-13 14:20:15 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-13 14:20:15 +0000
commit8c785c6f0110c9109af284db78156b0b0998a5b5 (patch)
treee4aeae8234a51c30d5309e9af5d738b9d6bc957b /webkit
parent3061ccf369ee2642d4d18ac396b6758acebc3509 (diff)
downloadchromium_src-8c785c6f0110c9109af284db78156b0b0998a5b5.zip
chromium_src-8c785c6f0110c9109af284db78156b0b0998a5b5.tar.gz
chromium_src-8c785c6f0110c9109af284db78156b0b0998a5b5.tar.bz2
DevTools: allow reload while on a breakpoint: detach agent on navigation attempt.
BUG=16606 Review URL: http://codereview.chromium.org/149529 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20480 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/devtools/debugger_agent_manager.cc7
-rw-r--r--webkit/glue/devtools/debugger_agent_manager.h2
-rw-r--r--webkit/glue/webdevtoolsagent.h2
-rw-r--r--webkit/glue/webdevtoolsagent_impl.cc4
-rw-r--r--webkit/glue/webdevtoolsagent_impl.h1
5 files changed, 16 insertions, 0 deletions
diff --git a/webkit/glue/devtools/debugger_agent_manager.cc b/webkit/glue/devtools/debugger_agent_manager.cc
index 791831c..12dd202 100644
--- a/webkit/glue/devtools/debugger_agent_manager.cc
+++ b/webkit/glue/devtools/debugger_agent_manager.cc
@@ -250,6 +250,13 @@ void DebuggerAgentManager::OnWebViewClosed(WebViewImpl* webview) {
}
// static
+void DebuggerAgentManager::OnNavigate() {
+ if (in_host_dispatch_handler_) {
+ DebuggerAgentManager::SendContinueCommandToV8();
+ }
+}
+
+// static
void DebuggerAgentManager::SendCommandToV8(const string16& cmd,
v8::Debug::ClientData* data) {
#if USE(V8)
diff --git a/webkit/glue/devtools/debugger_agent_manager.h b/webkit/glue/devtools/debugger_agent_manager.h
index e0cae0a..eb8b225 100644
--- a/webkit/glue/devtools/debugger_agent_manager.h
+++ b/webkit/glue/devtools/debugger_agent_manager.h
@@ -50,6 +50,8 @@ class DebuggerAgentManager {
static void OnWebViewClosed(WebViewImpl* webview);
+ static void OnNavigate();
+
private:
DebuggerAgentManager();
~DebuggerAgentManager();
diff --git a/webkit/glue/webdevtoolsagent.h b/webkit/glue/webdevtoolsagent.h
index 177ec2f..e5c060d 100644
--- a/webkit/glue/webdevtoolsagent.h
+++ b/webkit/glue/webdevtoolsagent.h
@@ -28,6 +28,8 @@ class WebDevToolsAgent {
virtual void Detach() = 0;
+ virtual void OnNavigate() = 0;
+
virtual void DispatchMessageFromClient(const std::string& class_name,
const std::string& method_name,
const std::string& raw_msg) = 0;
diff --git a/webkit/glue/webdevtoolsagent_impl.cc b/webkit/glue/webdevtoolsagent_impl.cc
index b84884b..5ff16ed 100644
--- a/webkit/glue/webdevtoolsagent_impl.cc
+++ b/webkit/glue/webdevtoolsagent_impl.cc
@@ -123,6 +123,10 @@ void WebDevToolsAgentImpl::Detach() {
attached_ = false;
}
+void WebDevToolsAgentImpl::OnNavigate() {
+ DebuggerAgentManager::OnNavigate();
+}
+
void WebDevToolsAgentImpl::SetMainFrameDocumentReady(bool ready) {
if (!attached_) {
return;
diff --git a/webkit/glue/webdevtoolsagent_impl.h b/webkit/glue/webdevtoolsagent_impl.h
index 64fd205..599bc0f 100644
--- a/webkit/glue/webdevtoolsagent_impl.h
+++ b/webkit/glue/webdevtoolsagent_impl.h
@@ -57,6 +57,7 @@ class WebDevToolsAgentImpl
// WebDevToolsAgent implementation.
virtual void Attach();
virtual void Detach();
+ virtual void OnNavigate();
virtual void DispatchMessageFromClient(const std::string& class_name,
const std::string& method_name,
const std::string& raw_msg);