summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authoryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-05 07:35:51 +0000
committeryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-05 07:35:51 +0000
commit331b01d23d2d1af36bf3a144d53f5bb1c2e01f61 (patch)
treed335950b28e77c3c5d92d96857659c6b147ab6f5 /content/renderer
parent5cbe0d872f2d45ae3fbfa463c32c414721033079 (diff)
downloadchromium_src-331b01d23d2d1af36bf3a144d53f5bb1c2e01f61.zip
chromium_src-331b01d23d2d1af36bf3a144d53f5bb1c2e01f61.tar.gz
chromium_src-331b01d23d2d1af36bf3a144d53f5bb1c2e01f61.tar.bz2
Now that WebKit r96590 is rolled, reapply http://codereview.chromium.org/8135002/ which was reverted due to compilation errors.
We want agent to save its state into a string instead of using a map of runtime properties. Also the serialized state should be taken into account only when existing client is reattached from one agent to another, this is why we introduce Reattach message. Also see https://bugs.webkit.org/show_bug.cgi?id=69335 BUG=None TEST=None TBR=pfeldman,jam Review URL: http://codereview.chromium.org/8136029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104072 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r--content/renderer/devtools_agent.cc37
-rw-r--r--content/renderer/devtools_agent.h8
-rw-r--r--content/renderer/worker_devtools_agent_proxy.cc2
3 files changed, 17 insertions, 30 deletions
diff --git a/content/renderer/devtools_agent.cc b/content/renderer/devtools_agent.cc
index c9a27bb..1934641 100644
--- a/content/renderer/devtools_agent.cc
+++ b/content/renderer/devtools_agent.cc
@@ -78,6 +78,7 @@ bool DevToolsAgent::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(DevToolsAgent, message)
IPC_MESSAGE_HANDLER(DevToolsAgentMsg_Attach, OnAttach)
+ IPC_MESSAGE_HANDLER(DevToolsAgentMsg_Reattach, OnReattach)
IPC_MESSAGE_HANDLER(DevToolsAgentMsg_Detach, OnDetach)
IPC_MESSAGE_HANDLER(DevToolsAgentMsg_FrontendLoaded, OnFrontendLoaded)
IPC_MESSAGE_HANDLER(DevToolsAgentMsg_DispatchOnInspectorBackend,
@@ -111,22 +112,9 @@ int DevToolsAgent::hostIdentifier() {
return routing_id();
}
-void DevToolsAgent::runtimeFeatureStateChanged(
- const WebKit::WebString& feature,
- bool enabled) {
- Send(new DevToolsHostMsg_RuntimePropertyChanged(
- routing_id(),
- feature.utf8(),
- enabled ? "true" : "false"));
-}
-
-void DevToolsAgent::runtimePropertyChanged(
- const WebKit::WebString& name,
- const WebKit::WebString& value) {
- Send(new DevToolsHostMsg_RuntimePropertyChanged(
- routing_id(),
- name.utf8(),
- value.utf8()));
+void DevToolsAgent::saveAgentRuntimeState(
+ const WebKit::WebString& state) {
+ Send(new DevToolsHostMsg_SaveAgentRuntimeState(routing_id(), state.utf8()));
}
WebKit::WebDevToolsAgentClient::WebKitClientMessageLoop*
@@ -156,18 +144,19 @@ DevToolsAgent* DevToolsAgent::FromHostId(int host_id) {
return NULL;
}
-void DevToolsAgent::OnAttach(
- const DevToolsRuntimeProperties& runtime_properties) {
+void DevToolsAgent::OnAttach() {
WebDevToolsAgent* web_agent = GetWebAgent();
if (web_agent) {
web_agent->attach();
is_attached_ = true;
- for (DevToolsRuntimeProperties::const_iterator it =
- runtime_properties.begin();
- it != runtime_properties.end(); ++it) {
- web_agent->setRuntimeProperty(WebString::fromUTF8(it->first),
- WebString::fromUTF8(it->second));
- }
+ }
+}
+
+void DevToolsAgent::OnReattach(const std::string& agent_state) {
+ WebDevToolsAgent* web_agent = GetWebAgent();
+ if (web_agent) {
+ web_agent->reattach(WebString::fromUTF8(agent_state));
+ is_attached_ = true;
}
}
diff --git a/content/renderer/devtools_agent.h b/content/renderer/devtools_agent.h
index 64d6254..a527569 100644
--- a/content/renderer/devtools_agent.h
+++ b/content/renderer/devtools_agent.h
@@ -49,17 +49,15 @@ class DevToolsAgent : public content::RenderViewObserver,
virtual void sendDebuggerOutput(const WebKit::WebString& data);
virtual int hostIdentifier();
- virtual void runtimeFeatureStateChanged(const WebKit::WebString& feature,
- bool enabled);
- virtual void runtimePropertyChanged(const WebKit::WebString& name,
- const WebKit::WebString& value);
+ virtual void saveAgentRuntimeState(const WebKit::WebString& state);
virtual WebKit::WebDevToolsAgentClient::WebKitClientMessageLoop*
createClientMessageLoop();
virtual bool exposeV8DebuggerProtocol();
virtual void clearBrowserCache();
virtual void clearBrowserCookies();
- void OnAttach(const DevToolsRuntimeProperties& runtime_properties);
+ void OnAttach();
+ void OnReattach(const std::string& agent_state);
void OnDetach();
void OnFrontendLoaded();
void OnDispatchOnInspectorBackend(const std::string& message);
diff --git a/content/renderer/worker_devtools_agent_proxy.cc b/content/renderer/worker_devtools_agent_proxy.cc
index 6a1907b..7f898ad 100644
--- a/content/renderer/worker_devtools_agent_proxy.cc
+++ b/content/renderer/worker_devtools_agent_proxy.cc
@@ -44,7 +44,7 @@ bool WorkerDevToolsAgentProxy::OnMessageReceived(const IPC::Message& message) {
}
void WorkerDevToolsAgentProxy::AttachDevTools() {
- Send(new DevToolsAgentMsg_Attach(route_id_, DevToolsRuntimeProperties()));
+ Send(new DevToolsAgentMsg_Attach(route_id_));
}
void WorkerDevToolsAgentProxy::DetachDevTools() {