OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/devtools/devtools_window.h" | 5 #include "chrome/browser/devtools/devtools_window.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 // static | 206 // static |
207 DevToolsWindow* DevToolsWindow::GetDockedInstanceForInspectedTab( | 207 DevToolsWindow* DevToolsWindow::GetDockedInstanceForInspectedTab( |
208 WebContents* inspected_web_contents) { | 208 WebContents* inspected_web_contents) { |
209 if (!inspected_web_contents) | 209 if (!inspected_web_contents) |
210 return NULL; | 210 return NULL; |
211 | 211 |
212 if (!DevToolsAgentHost::HasFor(inspected_web_contents->GetRenderViewHost())) | 212 if (!DevToolsAgentHost::HasFor(inspected_web_contents->GetRenderViewHost())) |
213 return NULL; | 213 return NULL; |
214 scoped_refptr<DevToolsAgentHost> agent(DevToolsAgentHost::GetOrCreateFor( | 214 scoped_refptr<DevToolsAgentHost> agent(DevToolsAgentHost::GetOrCreateFor( |
215 inspected_web_contents->GetRenderViewHost())); | 215 inspected_web_contents->GetRenderViewHost())); |
216 DevToolsWindow* window = FindDevToolsWindow(agent); | 216 DevToolsWindow* window = FindDevToolsWindow(agent.get()); |
217 return window && window->IsDocked() ? window : NULL; | 217 return window && window->IsDocked() ? window : NULL; |
218 } | 218 } |
219 | 219 |
220 // static | 220 // static |
221 bool DevToolsWindow::IsDevToolsWindow(RenderViewHost* window_rvh) { | 221 bool DevToolsWindow::IsDevToolsWindow(RenderViewHost* window_rvh) { |
222 return AsDevToolsWindow(window_rvh) != NULL; | 222 return AsDevToolsWindow(window_rvh) != NULL; |
223 } | 223 } |
224 | 224 |
225 // static | 225 // static |
226 DevToolsWindow* DevToolsWindow::OpenDevToolsWindowForWorker( | 226 DevToolsWindow* DevToolsWindow::OpenDevToolsWindowForWorker( |
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 if (!params.url.SchemeIs(chrome::kChromeDevToolsScheme)) { | 623 if (!params.url.SchemeIs(chrome::kChromeDevToolsScheme)) { |
624 content::WebContents* inspected_web_contents = GetInspectedWebContents(); | 624 content::WebContents* inspected_web_contents = GetInspectedWebContents(); |
625 if (inspected_web_contents) | 625 if (inspected_web_contents) |
626 return inspected_web_contents->OpenURL(params); | 626 return inspected_web_contents->OpenURL(params); |
627 return NULL; | 627 return NULL; |
628 } | 628 } |
629 | 629 |
630 DevToolsManager* manager = DevToolsManager::GetInstance(); | 630 DevToolsManager* manager = DevToolsManager::GetInstance(); |
631 scoped_refptr<DevToolsAgentHost> agent_host( | 631 scoped_refptr<DevToolsAgentHost> agent_host( |
632 manager->GetDevToolsAgentHostFor(frontend_host_.get())); | 632 manager->GetDevToolsAgentHostFor(frontend_host_.get())); |
633 if (!agent_host) | 633 if (!agent_host.get()) |
634 return NULL; | 634 return NULL; |
635 manager->ClientHostClosing(frontend_host_.get()); | 635 manager->ClientHostClosing(frontend_host_.get()); |
636 manager->RegisterDevToolsClientHostFor(agent_host, frontend_host_.get()); | 636 manager->RegisterDevToolsClientHostFor(agent_host.get(), |
| 637 frontend_host_.get()); |
637 | 638 |
638 chrome::NavigateParams nav_params(profile_, params.url, params.transition); | 639 chrome::NavigateParams nav_params(profile_, params.url, params.transition); |
639 FillNavigateParamsFromOpenURLParams(&nav_params, params); | 640 FillNavigateParamsFromOpenURLParams(&nav_params, params); |
640 nav_params.source_contents = source; | 641 nav_params.source_contents = source; |
641 nav_params.tabstrip_add_types = TabStripModel::ADD_NONE; | 642 nav_params.tabstrip_add_types = TabStripModel::ADD_NONE; |
642 nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW; | 643 nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW; |
643 nav_params.user_gesture = true; | 644 nav_params.user_gesture = true; |
644 chrome::Navigate(&nav_params); | 645 chrome::Navigate(&nav_params); |
645 return nav_params.target_contents; | 646 return nav_params.target_contents; |
646 } | 647 } |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 } | 809 } |
809 | 810 |
810 // static | 811 // static |
811 DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow( | 812 DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow( |
812 RenderViewHost* inspected_rvh, | 813 RenderViewHost* inspected_rvh, |
813 bool force_open, | 814 bool force_open, |
814 DevToolsToggleAction action) { | 815 DevToolsToggleAction action) { |
815 scoped_refptr<DevToolsAgentHost> agent( | 816 scoped_refptr<DevToolsAgentHost> agent( |
816 DevToolsAgentHost::GetOrCreateFor(inspected_rvh)); | 817 DevToolsAgentHost::GetOrCreateFor(inspected_rvh)); |
817 DevToolsManager* manager = DevToolsManager::GetInstance(); | 818 DevToolsManager* manager = DevToolsManager::GetInstance(); |
818 DevToolsWindow* window = FindDevToolsWindow(agent); | 819 DevToolsWindow* window = FindDevToolsWindow(agent.get()); |
819 bool do_open = force_open; | 820 bool do_open = force_open; |
820 if (!window) { | 821 if (!window) { |
821 Profile* profile = Profile::FromBrowserContext( | 822 Profile* profile = Profile::FromBrowserContext( |
822 inspected_rvh->GetProcess()->GetBrowserContext()); | 823 inspected_rvh->GetProcess()->GetBrowserContext()); |
823 DevToolsDockSide dock_side = GetDockSideFromPrefs(profile); | 824 DevToolsDockSide dock_side = GetDockSideFromPrefs(profile); |
824 window = Create(profile, GURL(), inspected_rvh, dock_side, false); | 825 window = Create(profile, GURL(), inspected_rvh, dock_side, false); |
825 manager->RegisterDevToolsClientHostFor(agent, window->frontend_host_.get()); | 826 manager->RegisterDevToolsClientHostFor(agent.get(), |
| 827 window->frontend_host_.get()); |
826 do_open = true; | 828 do_open = true; |
827 } | 829 } |
828 | 830 |
829 // Update toolbar to reflect DevTools changes. | 831 // Update toolbar to reflect DevTools changes. |
830 window->UpdateBrowserToolbar(); | 832 window->UpdateBrowserToolbar(); |
831 | 833 |
832 // If window is docked and visible, we hide it on toggle. If window is | 834 // If window is docked and visible, we hide it on toggle. If window is |
833 // undocked, we show (activate) it. If window is minimized, we maximize it. | 835 // undocked, we show (activate) it. If window is minimized, we maximize it. |
834 if (window->dock_side_ == DEVTOOLS_DOCK_SIDE_MINIMIZED) | 836 if (window->dock_side_ == DEVTOOLS_DOCK_SIDE_MINIMIZED) |
835 window->Restore(); | 837 window->Restore(); |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1172 DevToolsDockSide DevToolsWindow::SideFromString( | 1174 DevToolsDockSide DevToolsWindow::SideFromString( |
1173 const std::string& dock_side) { | 1175 const std::string& dock_side) { |
1174 if (dock_side == kDockSideRight) | 1176 if (dock_side == kDockSideRight) |
1175 return DEVTOOLS_DOCK_SIDE_RIGHT; | 1177 return DEVTOOLS_DOCK_SIDE_RIGHT; |
1176 if (dock_side == kDockSideBottom) | 1178 if (dock_side == kDockSideBottom) |
1177 return DEVTOOLS_DOCK_SIDE_BOTTOM; | 1179 return DEVTOOLS_DOCK_SIDE_BOTTOM; |
1178 if (dock_side == kDockSideMinimized) | 1180 if (dock_side == kDockSideMinimized) |
1179 return DEVTOOLS_DOCK_SIDE_MINIMIZED; | 1181 return DEVTOOLS_DOCK_SIDE_MINIMIZED; |
1180 return DEVTOOLS_DOCK_SIDE_UNDOCKED; | 1182 return DEVTOOLS_DOCK_SIDE_UNDOCKED; |
1181 } | 1183 } |
OLD | NEW |