diff options
author | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-05 07:35:51 +0000 |
---|---|---|
committer | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-05 07:35:51 +0000 |
commit | 331b01d23d2d1af36bf3a144d53f5bb1c2e01f61 (patch) | |
tree | d335950b28e77c3c5d92d96857659c6b147ab6f5 /content/renderer | |
parent | 5cbe0d872f2d45ae3fbfa463c32c414721033079 (diff) | |
download | chromium_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.cc | 37 | ||||
-rw-r--r-- | content/renderer/devtools_agent.h | 8 | ||||
-rw-r--r-- | content/renderer/worker_devtools_agent_proxy.cc | 2 |
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() { |