| 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 |