summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 14:58:38 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 14:58:38 +0000
commit9d03e7300b24129e53ac5f7894c003336c35f170 (patch)
tree1a5a8e5941c1365573a201044d4deb9f164d03bc /chrome/browser
parent390113a45ba7d8cf8a7bd4702d685bab003e2cf9 (diff)
downloadchromium_src-9d03e7300b24129e53ac5f7894c003336c35f170.zip
chromium_src-9d03e7300b24129e53ac5f7894c003336c35f170.tar.gz
chromium_src-9d03e7300b24129e53ac5f7894c003336c35f170.tar.bz2
DevTools: Support runtime property name/value pairs instead of feature names as navigation state.
Review URL: http://codereview.chromium.org/3110018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56348 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/debugger/devtools_manager.cc55
-rw-r--r--chrome/browser/debugger/devtools_manager.h19
-rw-r--r--chrome/browser/renderer_host/render_view_host.cc12
-rw-r--r--chrome/browser/renderer_host/render_view_host.h4
4 files changed, 44 insertions, 46 deletions
diff --git a/chrome/browser/debugger/devtools_manager.cc b/chrome/browser/debugger/devtools_manager.cc
index 823761f..d86e810 100644
--- a/chrome/browser/debugger/devtools_manager.cc
+++ b/chrome/browser/debugger/devtools_manager.cc
@@ -18,7 +18,6 @@
#include "chrome/browser/renderer_host/render_view_host.h"
#include "chrome/browser/renderer_host/site_instance.h"
#include "chrome/browser/tab_contents/tab_contents.h"
-#include "chrome/common/devtools_messages.h"
#include "chrome/common/pref_names.h"
#include "googleurl/src/gurl.h"
@@ -64,8 +63,8 @@ void DevToolsManager::RegisterDevToolsClientHostFor(
DevToolsClientHost* client_host) {
DCHECK(!GetDevToolsClientHostFor(inspected_rvh));
- RuntimeFeatures initial_features;
- BindClientHost(inspected_rvh, client_host, initial_features);
+ DevToolsRuntimeProperties initial_properties;
+ BindClientHost(inspected_rvh, client_host, initial_properties);
client_host->set_close_listener(this);
SendAttachToAgent(inspected_rvh);
}
@@ -143,20 +142,17 @@ void DevToolsManager::ToggleDevToolsWindow(
ToggleDevToolsWindow(inspected_rvh, false, action);
}
-void DevToolsManager::RuntimeFeatureStateChanged(RenderViewHost* inspected_rvh,
- const std::string& feature,
- bool enabled) {
- RuntimeFeaturesMap::iterator it = runtime_features_map_.find(inspected_rvh);
- if (it == runtime_features_map_.end()) {
- std::pair<RenderViewHost*, std::set<std::string> > value(
+void DevToolsManager::RuntimePropertyChanged(RenderViewHost* inspected_rvh,
+ const std::string& name,
+ const std::string& value) {
+ RuntimePropertiesMap::iterator it = runtime_properties_map_.find(inspected_rvh);
+ if (it == runtime_properties_map_.end()) {
+ std::pair<RenderViewHost*, DevToolsRuntimeProperties> value(
inspected_rvh,
- std::set<std::string>());
- it = runtime_features_map_.insert(value).first;
+ DevToolsRuntimeProperties());
+ it = runtime_properties_map_.insert(value).first;
}
- if (enabled)
- it->second.insert(feature);
- else
- it->second.erase(feature);
+ it->second[name] = value;
}
void DevToolsManager::InspectElement(RenderViewHost* inspected_rvh,
@@ -267,8 +263,8 @@ int DevToolsManager::DetachClientHost(RenderViewHost* from_rvh) {
int cookie = last_orphan_cookie_++;
orphan_client_hosts_[cookie] =
- std::pair<DevToolsClientHost*, RuntimeFeatures>(
- client_host, runtime_features_map_[from_rvh]);
+ std::pair<DevToolsClientHost*, DevToolsRuntimeProperties>(
+ client_host, runtime_properties_map_[from_rvh]);
UnbindClientHost(from_rvh, client_host);
return cookie;
@@ -293,14 +289,14 @@ void DevToolsManager::SendAttachToAgent(RenderViewHost* inspected_rvh) {
ChildProcessSecurityPolicy::GetInstance()->GrantReadRawCookies(
inspected_rvh->process()->id());
- std::vector<std::string> features;
- RuntimeFeaturesMap::iterator it =
- runtime_features_map_.find(inspected_rvh);
- if (it != runtime_features_map_.end()) {
- features = std::vector<std::string>(it->second.begin(),
- it->second.end());
+ DevToolsRuntimeProperties properties;
+ RuntimePropertiesMap::iterator it =
+ runtime_properties_map_.find(inspected_rvh);
+ if (it != runtime_properties_map_.end()) {
+ properties = DevToolsRuntimeProperties(it->second.begin(),
+ it->second.end());
}
- IPC::Message* m = new DevToolsAgentMsg_Attach(features);
+ IPC::Message* m = new DevToolsAgentMsg_Attach(properties);
m->set_routing_id(inspected_rvh->routing_id());
inspected_rvh->Send(m);
}
@@ -381,9 +377,10 @@ void DevToolsManager::ToggleDevToolsWindow(
}
}
-void DevToolsManager::BindClientHost(RenderViewHost* inspected_rvh,
- DevToolsClientHost* client_host,
- const RuntimeFeatures& runtime_features) {
+void DevToolsManager::BindClientHost(
+ RenderViewHost* inspected_rvh,
+ DevToolsClientHost* client_host,
+ const DevToolsRuntimeProperties& runtime_properties) {
DCHECK(inspected_rvh_to_client_host_.find(inspected_rvh) ==
inspected_rvh_to_client_host_.end());
DCHECK(client_host_to_inspected_rvh_.find(client_host) ==
@@ -391,7 +388,7 @@ void DevToolsManager::BindClientHost(RenderViewHost* inspected_rvh,
inspected_rvh_to_client_host_[inspected_rvh] = client_host;
client_host_to_inspected_rvh_[client_host] = inspected_rvh;
- runtime_features_map_[inspected_rvh] = runtime_features;
+ runtime_properties_map_[inspected_rvh] = runtime_properties;
}
void DevToolsManager::UnbindClientHost(RenderViewHost* inspected_rvh,
@@ -403,5 +400,5 @@ void DevToolsManager::UnbindClientHost(RenderViewHost* inspected_rvh,
inspected_rvh_to_client_host_.erase(inspected_rvh);
client_host_to_inspected_rvh_.erase(client_host);
- runtime_features_map_.erase(inspected_rvh);
+ runtime_properties_map_.erase(inspected_rvh);
}
diff --git a/chrome/browser/debugger/devtools_manager.h b/chrome/browser/debugger/devtools_manager.h
index 3fb5bf4..90144e1 100644
--- a/chrome/browser/debugger/devtools_manager.h
+++ b/chrome/browser/debugger/devtools_manager.h
@@ -13,6 +13,7 @@
#include "base/ref_counted.h"
#include "chrome/browser/debugger/devtools_client_host.h"
#include "chrome/browser/debugger/devtools_toggle_action.h"
+#include "chrome/common/devtools_messages.h"
namespace IPC {
class Message;
@@ -58,9 +59,9 @@ class DevToolsManager : public DevToolsClientHost::CloseListener,
void OpenDevToolsWindow(RenderViewHost* inspected_rvh);
void ToggleDevToolsWindow(RenderViewHost* inspected_rvh,
DevToolsToggleAction action);
- void RuntimeFeatureStateChanged(RenderViewHost* inspected_rvh,
- const std::string& feature,
- bool enabled);
+ void RuntimePropertyChanged(RenderViewHost* inspected_rvh,
+ const std::string& name,
+ const std::string& value);
// Starts element inspection in the devtools client.
// Creates one by means of OpenDevToolsWindow if no client
@@ -83,7 +84,6 @@ class DevToolsManager : public DevToolsClientHost::CloseListener,
private:
friend class base::RefCounted<DevToolsManager>;
- typedef std::set<std::string> RuntimeFeatures;
virtual ~DevToolsManager();
@@ -112,7 +112,7 @@ class DevToolsManager : public DevToolsClientHost::CloseListener,
void BindClientHost(RenderViewHost* inspected_rvh,
DevToolsClientHost* client_host,
- const RuntimeFeatures& runtime_features);
+ const DevToolsRuntimeProperties& runtime_properties);
void UnbindClientHost(RenderViewHost* inspected_rvh,
DevToolsClientHost* client_host);
@@ -133,14 +133,15 @@ class DevToolsManager : public DevToolsClientHost::CloseListener,
ClientHostToInspectedRvhMap;
ClientHostToInspectedRvhMap client_host_to_inspected_rvh_;
- typedef std::map<RenderViewHost*, RuntimeFeatures>
- RuntimeFeaturesMap;
- RuntimeFeaturesMap runtime_features_map_;
+ typedef std::map<RenderViewHost*, DevToolsRuntimeProperties>
+ RuntimePropertiesMap;
+ RuntimePropertiesMap runtime_properties_map_;
RenderViewHost* inspected_rvh_for_reopen_;
bool in_initial_show_;
- typedef std::map<int, std::pair<DevToolsClientHost*, RuntimeFeatures> >
+ typedef std::map<int,
+ std::pair<DevToolsClientHost*, DevToolsRuntimeProperties> >
OrphanClientHosts;
OrphanClientHosts orphan_client_hosts_;
int last_orphan_cookie_;
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc
index baa7de7..b5bb1cb 100644
--- a/chrome/browser/renderer_host/render_view_host.cc
+++ b/chrome/browser/renderer_host/render_view_host.cc
@@ -796,8 +796,8 @@ void RenderViewHost::OnMessageReceived(const IPC::Message& msg) {
OnRequestDockDevToolsWindow);
IPC_MESSAGE_HANDLER(ViewHostMsg_RequestUndockDevToolsWindow,
OnRequestUndockDevToolsWindow);
- IPC_MESSAGE_HANDLER(ViewHostMsg_DevToolsRuntimeFeatureStateChanged,
- OnDevToolsRuntimeFeatureStateChanged);
+ IPC_MESSAGE_HANDLER(ViewHostMsg_DevToolsRuntimePropertyChanged,
+ OnDevToolsRuntimePropertyChanged);
IPC_MESSAGE_HANDLER(ViewHostMsg_UserMetricsRecordAction,
OnUserMetricsRecordAction)
IPC_MESSAGE_HANDLER(ViewHostMsg_MissingPluginStatus, OnMissingPluginStatus);
@@ -1502,11 +1502,11 @@ void RenderViewHost::OnRequestUndockDevToolsWindow() {
DevToolsManager::GetInstance()->RequestUndockWindow(this);
}
-void RenderViewHost::OnDevToolsRuntimeFeatureStateChanged(
- const std::string& feature,
- bool enabled) {
+void RenderViewHost::OnDevToolsRuntimePropertyChanged(
+ const std::string& name,
+ const std::string& value) {
DevToolsManager::GetInstance()->
- RuntimeFeatureStateChanged(this, feature, enabled);
+ RuntimePropertyChanged(this, name, value);
}
void RenderViewHost::OnUserMetricsRecordAction(const std::string& action) {
diff --git a/chrome/browser/renderer_host/render_view_host.h b/chrome/browser/renderer_host/render_view_host.h
index 7196756..d94ae8d 100644
--- a/chrome/browser/renderer_host/render_view_host.h
+++ b/chrome/browser/renderer_host/render_view_host.h
@@ -592,8 +592,8 @@ class RenderViewHost : public RenderWidgetHost {
void OnCloseDevToolsWindow();
void OnRequestDockDevToolsWindow();
void OnRequestUndockDevToolsWindow();
- void OnDevToolsRuntimeFeatureStateChanged(const std::string& feature,
- bool enabled);
+ void OnDevToolsRuntimePropertyChanged(const std::string& name,
+ const std::string& value);
void OnUserMetricsRecordAction(const std::string& action);
void OnMissingPluginStatus(int status);