diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-09 16:09:43 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-09 16:09:43 +0000 |
commit | 90ca36995f2484d10a68115b798c10f51d70fca4 (patch) | |
tree | d69bfe14150a811ae5260b95127ab5c3a28f005a /chrome | |
parent | c38aeeeb04c53a4d1c53673ec5575562d3bfe313 (diff) | |
download | chromium_src-90ca36995f2484d10a68115b798c10f51d70fca4.zip chromium_src-90ca36995f2484d10a68115b798c10f51d70fca4.tar.gz chromium_src-90ca36995f2484d10a68115b798c10f51d70fca4.tar.bz2 |
DevTools: Cache resources before attach, hide agents behind the flag.
Review URL: http://codereview.chromium.org/65010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13423 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/renderer_host/browser_render_process_host.cc | 1 | ||||
-rw-r--r-- | chrome/renderer/devtools_agent.cc | 1 | ||||
-rw-r--r-- | chrome/renderer/render_view.cc | 23 |
3 files changed, 17 insertions, 8 deletions
diff --git a/chrome/browser/renderer_host/browser_render_process_host.cc b/chrome/browser/renderer_host/browser_render_process_host.cc index 2082c0c..141bf3e 100644 --- a/chrome/browser/renderer_host/browser_render_process_host.cc +++ b/chrome/browser/renderer_host/browser_render_process_host.cc @@ -270,6 +270,7 @@ bool BrowserRenderProcessHost::Init() { switches::kEnableWebWorkers, switches::kEnableStatsTable, switches::kEnableExtensions, + switches::kEnableOutOfProcessDevTools, }; for (size_t i = 0; i < arraysize(switch_names); ++i) { diff --git a/chrome/renderer/devtools_agent.cc b/chrome/renderer/devtools_agent.cc index 633203c..046b755 100644 --- a/chrome/renderer/devtools_agent.cc +++ b/chrome/renderer/devtools_agent.cc @@ -61,6 +61,7 @@ void DevToolsAgent::OnRpcMessage(const std::string& raw_msg) { void DevToolsAgent::OnInspectElement(int x, int y) { WebDevToolsAgent* web_agent = GetWebAgent(); if (web_agent) { + web_agent->Attach(); web_agent->InspectElement(x, y); } } diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index b4fc6d5..9cebf46 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -212,7 +212,8 @@ RenderView::~RenderView() { } render_thread_->RemoveFilter(debug_message_handler_); - render_thread_->RemoveFilter(devtools_agent_filter_); + if (devtools_agent_filter_.get()) + render_thread_->RemoveFilter(devtools_agent_filter_); #ifdef CHROME_PERSONALIZATION Personalization::CleanupRendererPersonalization(personalization_); @@ -299,13 +300,19 @@ void RenderView::Init(gfx::NativeViewId parent_hwnd, decrement_shared_popup_at_destruction_ = false; } - devtools_agent_.reset(new DevToolsAgent(routing_id, this)); + const CommandLine& command_line = *CommandLine::ForCurrentProcess(); + + bool dev_tools_enabled = command_line.HasSwitch( + switches::kEnableOutOfProcessDevTools); + if (dev_tools_enabled) + devtools_agent_.reset(new DevToolsAgent(routing_id, this)); webwidget_ = WebView::Create(this, webkit_prefs); - devtools_agent_filter_ = new DevToolsAgentFilter( - webview()->GetWebDevToolsAgent(), - routing_id); + if (dev_tools_enabled) + devtools_agent_filter_ = new DevToolsAgentFilter( + webview()->GetWebDevToolsAgent(), + routing_id); #if defined(OS_LINUX) // We have to enable ourselves as the editor delegate on linux so we can copy @@ -334,7 +341,6 @@ void RenderView::Init(gfx::NativeViewId parent_hwnd, host_window_ = parent_hwnd; modal_dialog_event_.reset(modal_dialog_event); - const CommandLine& command_line = *CommandLine::ForCurrentProcess(); if (command_line.HasSwitch(switches::kDomAutomationController)) enabled_bindings_ |= BindingsPolicy::DOM_AUTOMATION; disable_popup_blocking_ = @@ -342,7 +348,8 @@ void RenderView::Init(gfx::NativeViewId parent_hwnd, debug_message_handler_ = new DebugMessageHandler(this); render_thread_->AddFilter(debug_message_handler_); - render_thread_->AddFilter(devtools_agent_filter_); + if (dev_tools_enabled) + render_thread_->AddFilter(devtools_agent_filter_); } void RenderView::OnMessageReceived(const IPC::Message& message) { @@ -353,7 +360,7 @@ void RenderView::OnMessageReceived(const IPC::Message& message) { // If this is developer tools renderer intercept tools messages first. if (devtools_client_.get() && devtools_client_->OnMessageReceived(message)) return; - if (devtools_agent_->OnMessageReceived(message)) + if (devtools_agent_.get() && devtools_agent_->OnMessageReceived(message)) return; IPC_BEGIN_MESSAGE_MAP(RenderView, message) |