summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/devtools_agent.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/devtools_agent.cc')
-rw-r--r--chrome/renderer/devtools_agent.cc29
1 files changed, 22 insertions, 7 deletions
diff --git a/chrome/renderer/devtools_agent.cc b/chrome/renderer/devtools_agent.cc
index ca70cc1..87dc832 100644
--- a/chrome/renderer/devtools_agent.cc
+++ b/chrome/renderer/devtools_agent.cc
@@ -10,6 +10,7 @@
#include "webkit/api/public/WebDevToolsAgent.h"
#include "webkit/api/public/WebPoint.h"
#include "webkit/api/public/WebString.h"
+#include "webkit/glue/glue_util.h"
using WebKit::WebDevToolsAgent;
using WebKit::WebPoint;
@@ -19,9 +20,9 @@ using WebKit::WebView;
// static
std::map<int, DevToolsAgent*> DevToolsAgent::agent_for_routing_id_;
-DevToolsAgent::DevToolsAgent(int routing_id, RenderView* view)
+DevToolsAgent::DevToolsAgent(int routing_id, RenderView* render_view)
: routing_id_(routing_id),
- view_(view) {
+ render_view_(render_view) {
agent_for_routing_id_[routing_id] = this;
}
@@ -64,7 +65,7 @@ void DevToolsAgent::sendMessageToFrontend(const WebString& class_name,
param1.utf8(),
param2.utf8(),
param3.utf8()));
- view_->Send(m);
+ render_view_->Send(m);
}
int DevToolsAgent::hostIdentifier() {
@@ -72,7 +73,15 @@ int DevToolsAgent::hostIdentifier() {
}
void DevToolsAgent::forceRepaint() {
- view_->GenerateFullRepaint();
+ render_view_->GenerateFullRepaint();
+}
+
+void DevToolsAgent::runtimeFeatureStateChanged(const WebKit::WebString& feature,
+ bool enabled) {
+ render_view_->Send(new ViewHostMsg_DevToolsRuntimeFeatureStateChanged(
+ routing_id_,
+ feature.utf8(),
+ enabled));
}
// static
@@ -85,10 +94,14 @@ DevToolsAgent* DevToolsAgent::FromHostId(int host_id) {
return NULL;
}
-void DevToolsAgent::OnAttach() {
+void DevToolsAgent::OnAttach(const std::vector<std::string>& runtime_features) {
WebDevToolsAgent* web_agent = GetWebAgent();
if (web_agent) {
web_agent->attach();
+ for (std::vector<std::string>::const_iterator it = runtime_features.begin();
+ it != runtime_features.end(); ++it) {
+ web_agent->setRuntimeFeatureEnabled(WebString::fromUTF8(*it), true);
+ }
}
}
@@ -126,12 +139,14 @@ void DevToolsAgent::OnInspectElement(int x, int y) {
void DevToolsAgent::OnSetApuAgentEnabled(bool enabled) {
WebDevToolsAgent* web_agent = GetWebAgent();
if (web_agent) {
- web_agent->setApuAgentEnabled(enabled);
+ web_agent->setRuntimeFeatureEnabled(
+ webkit_glue::StdStringToWebString("apu-agent"),
+ enabled);
}
}
WebDevToolsAgent* DevToolsAgent::GetWebAgent() {
- WebView* web_view = view_->webview();
+ WebView* web_view = render_view_->webview();
if (!web_view)
return NULL;
return web_view->devToolsAgent();