OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/debugger/devtools_manager.h" | 5 #include "chrome/browser/debugger/devtools_manager.h" |
6 | 6 |
7 #include "chrome/browser/debugger/devtools_window.h" | 7 #include "chrome/browser/debugger/devtools_window.h" |
8 #include "chrome/browser/debugger/devtools_client_host.h" | 8 #include "chrome/browser/debugger/devtools_client_host.h" |
| 9 #include "chrome/browser/profile.h" |
9 #include "chrome/browser/renderer_host/render_view_host.h" | 10 #include "chrome/browser/renderer_host/render_view_host.h" |
10 #include "chrome/browser/tab_contents/site_instance.h" | 11 #include "chrome/browser/tab_contents/site_instance.h" |
11 #include "chrome/common/devtools_messages.h" | 12 #include "chrome/common/devtools_messages.h" |
| 13 #include "chrome/common/pref_names.h" |
| 14 #include "chrome/common/pref_service.h" |
12 #include "googleurl/src/gurl.h" | 15 #include "googleurl/src/gurl.h" |
13 | 16 |
14 DevToolsManager::DevToolsManager() { | 17 DevToolsManager::DevToolsManager() { |
15 } | 18 } |
16 | 19 |
17 DevToolsManager::~DevToolsManager() { | 20 DevToolsManager::~DevToolsManager() { |
18 DCHECK(inspected_rvh_to_client_host_.empty()); | 21 DCHECK(inspected_rvh_to_client_host_.empty()); |
19 DCHECK(client_host_to_inspected_rvh_.empty()); | 22 DCHECK(client_host_to_inspected_rvh_.empty()); |
20 } | 23 } |
21 | 24 |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 DevToolsClientHost* client_host = GetDevToolsClientHostFor(inspected_rvh); | 81 DevToolsClientHost* client_host = GetDevToolsClientHostFor(inspected_rvh); |
79 if (!client_host) { | 82 if (!client_host) { |
80 // Client window was closed while there were messages | 83 // Client window was closed while there were messages |
81 // being sent to it. | 84 // being sent to it. |
82 return; | 85 return; |
83 } | 86 } |
84 client_host->SendMessageToClient(message); | 87 client_host->SendMessageToClient(message); |
85 } | 88 } |
86 | 89 |
87 void DevToolsManager::OpenDevToolsWindow(RenderViewHost* inspected_rvh) { | 90 void DevToolsManager::OpenDevToolsWindow(RenderViewHost* inspected_rvh) { |
| 91 EnableDevToolsInPrefs(inspected_rvh); |
88 DevToolsClientHost* host = GetDevToolsClientHostFor(inspected_rvh); | 92 DevToolsClientHost* host = GetDevToolsClientHostFor(inspected_rvh); |
89 if (!host) { | 93 if (!host) { |
90 host = new DevToolsWindow( | 94 host = new DevToolsWindow( |
91 inspected_rvh->site_instance()->browsing_instance()->profile()); | 95 inspected_rvh->site_instance()->browsing_instance()->profile()); |
92 RegisterDevToolsClientHostFor(inspected_rvh, host); | 96 RegisterDevToolsClientHostFor(inspected_rvh, host); |
93 } | 97 } |
94 DevToolsWindow* window = host->AsDevToolsWindow(); | 98 DevToolsWindow* window = host->AsDevToolsWindow(); |
95 if (window) | 99 if (window) |
96 window->Show(); | 100 window->Show(); |
97 } | 101 } |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 } | 162 } |
159 } | 163 } |
160 | 164 |
161 void DevToolsManager::SendDetachToAgent(RenderViewHost* inspected_rvh) { | 165 void DevToolsManager::SendDetachToAgent(RenderViewHost* inspected_rvh) { |
162 if (inspected_rvh) { | 166 if (inspected_rvh) { |
163 IPC::Message* m = new DevToolsAgentMsg_Detach(); | 167 IPC::Message* m = new DevToolsAgentMsg_Detach(); |
164 m->set_routing_id(inspected_rvh->routing_id()); | 168 m->set_routing_id(inspected_rvh->routing_id()); |
165 inspected_rvh->Send(m); | 169 inspected_rvh->Send(m); |
166 } | 170 } |
167 } | 171 } |
| 172 |
| 173 void DevToolsManager::EnableDevToolsInPrefs(RenderViewHost* inspected_rvh) { |
| 174 Profile* profile = inspected_rvh->site_instance()->browsing_instance()-> |
| 175 profile(); |
| 176 if (!profile->GetPrefs()->GetBoolean(prefs::kWebKitDeveloperExtrasEnabled)) { |
| 177 //TODO(pfeldman): Show message box with warning to the user. |
| 178 profile->GetPrefs()->SetBoolean(prefs::kWebKitDeveloperExtrasEnabled, |
| 179 true); |
| 180 } |
| 181 } |
OLD | NEW |