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 #ifndef CHROME_BROWSER_DEVTOOLS_DEVTOOLS_WINDOW_H_ | 5 #ifndef CHROME_BROWSER_DEVTOOLS_DEVTOOLS_WINDOW_H_ |
6 #define CHROME_BROWSER_DEVTOOLS_DEVTOOLS_WINDOW_H_ | 6 #define CHROME_BROWSER_DEVTOOLS_DEVTOOLS_WINDOW_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "chrome/browser/devtools/devtools_contents_resizing_strategy.h" | 9 #include "chrome/browser/devtools/devtools_contents_resizing_strategy.h" |
10 #include "chrome/browser/devtools/devtools_toggle_action.h" | 10 #include "chrome/browser/devtools/devtools_toggle_action.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 // How to get pointer to the created window see comments for | 70 // How to get pointer to the created window see comments for |
71 // ToggleDevToolsWindow(). | 71 // ToggleDevToolsWindow(). |
72 static void OpenDevToolsWindow(content::WebContents* inspected_web_contents, | 72 static void OpenDevToolsWindow(content::WebContents* inspected_web_contents, |
73 const DevToolsToggleAction& action); | 73 const DevToolsToggleAction& action); |
74 | 74 |
75 // Open or reveal DevTools window, with no special action. | 75 // Open or reveal DevTools window, with no special action. |
76 // How to get pointer to the created window see comments for | 76 // How to get pointer to the created window see comments for |
77 // ToggleDevToolsWindow(). | 77 // ToggleDevToolsWindow(). |
78 static void OpenDevToolsWindow(content::WebContents* inspected_web_contents); | 78 static void OpenDevToolsWindow(content::WebContents* inspected_web_contents); |
79 | 79 |
80 // Open or reveal DevTools window. This window will be undocked. | 80 // Open or reveal DevTools window, with no special action. Use |profile| to |
| 81 // open client window in, default to |host|'s profile if none given. |
81 static void OpenDevToolsWindow( | 82 static void OpenDevToolsWindow( |
82 Profile* profile, | 83 scoped_refptr<content::DevToolsAgentHost> host, |
83 const scoped_refptr<content::DevToolsAgentHost>& agent_host); | 84 Profile* profile); |
84 | 85 |
85 // Perform specified action for current WebContents inside a |browser|. | 86 // Perform specified action for current WebContents inside a |browser|. |
86 // This may close currently open DevTools window. | 87 // This may close currently open DevTools window. |
87 // If DeveloperToolsDisabled policy is set, no DevTools window created. | 88 // If DeveloperToolsDisabled policy is set, no DevTools window created. |
88 // In case if needed pointer to the created window one should use | 89 // In case if needed pointer to the created window one should use |
89 // DevToolsAgentHost and DevToolsWindow::FindDevToolsWindow(). E.g.: | 90 // DevToolsAgentHost and DevToolsWindow::FindDevToolsWindow(). E.g.: |
90 // | 91 // |
91 // scoped_refptr<content::DevToolsAgentHost> agent( | 92 // scoped_refptr<content::DevToolsAgentHost> agent( |
92 // content::DevToolsAgentHost::GetOrCreateFor(inspected_web_contents)); | 93 // content::DevToolsAgentHost::GetOrCreateFor(inspected_web_contents)); |
93 // DevToolsWindow::ToggleDevToolsWindow( | 94 // DevToolsWindow::ToggleDevToolsWindow( |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 content::WebContents* GetInspectedWebContents(); | 211 content::WebContents* GetInspectedWebContents(); |
211 | 212 |
212 private: | 213 private: |
213 friend class DevToolsWindowTesting; | 214 friend class DevToolsWindowTesting; |
214 friend class DevToolsWindowCreationObserver; | 215 friend class DevToolsWindowCreationObserver; |
215 | 216 |
216 using CreationCallback = base::Callback<void(DevToolsWindow*)>; | 217 using CreationCallback = base::Callback<void(DevToolsWindow*)>; |
217 static void AddCreationCallbackForTest(const CreationCallback& callback); | 218 static void AddCreationCallbackForTest(const CreationCallback& callback); |
218 static void RemoveCreationCallbackForTest(const CreationCallback& callback); | 219 static void RemoveCreationCallbackForTest(const CreationCallback& callback); |
219 | 220 |
| 221 static void OpenDevToolsWindowForFrame( |
| 222 Profile* profile, |
| 223 const scoped_refptr<content::DevToolsAgentHost>& agent_host); |
| 224 |
220 // DevTools lifecycle typically follows this way: | 225 // DevTools lifecycle typically follows this way: |
221 // - Toggle/Open: client call; | 226 // - Toggle/Open: client call; |
222 // - Create; | 227 // - Create; |
223 // - ScheduleShow: setup window to be functional, but not yet show; | 228 // - ScheduleShow: setup window to be functional, but not yet show; |
224 // - DocumentOnLoadCompletedInMainFrame: frontend loaded; | 229 // - DocumentOnLoadCompletedInMainFrame: frontend loaded; |
225 // - SetIsDocked: frontend decided on docking state; | 230 // - SetIsDocked: frontend decided on docking state; |
226 // - OnLoadCompleted: ready to present frontend; | 231 // - OnLoadCompleted: ready to present frontend; |
227 // - Show: actually placing frontend WebContents to a Browser or docked place; | 232 // - Show: actually placing frontend WebContents to a Browser or docked place; |
228 // - DoAction: perform action passed in Toggle/Open; | 233 // - DoAction: perform action passed in Toggle/Open; |
229 // - ...; | 234 // - ...; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 SkColor color, | 302 SkColor color, |
298 const std::vector<content::ColorSuggestion>& suggestions) override; | 303 const std::vector<content::ColorSuggestion>& suggestions) override; |
299 void RunFileChooser(content::RenderFrameHost* render_frame_host, | 304 void RunFileChooser(content::RenderFrameHost* render_frame_host, |
300 const content::FileChooserParams& params) override; | 305 const content::FileChooserParams& params) override; |
301 bool PreHandleGestureEvent(content::WebContents* source, | 306 bool PreHandleGestureEvent(content::WebContents* source, |
302 const blink::WebGestureEvent& event) override; | 307 const blink::WebGestureEvent& event) override; |
303 | 308 |
304 // content::DevToolsUIBindings::Delegate overrides | 309 // content::DevToolsUIBindings::Delegate overrides |
305 void ActivateWindow() override; | 310 void ActivateWindow() override; |
306 void CloseWindow() override; | 311 void CloseWindow() override; |
| 312 void Inspect(scoped_refptr<content::DevToolsAgentHost> host) override; |
307 void SetInspectedPageBounds(const gfx::Rect& rect) override; | 313 void SetInspectedPageBounds(const gfx::Rect& rect) override; |
308 void InspectElementCompleted() override; | 314 void InspectElementCompleted() override; |
309 void SetIsDocked(bool is_docked) override; | 315 void SetIsDocked(bool is_docked) override; |
310 void OpenInNewTab(const std::string& url) override; | 316 void OpenInNewTab(const std::string& url) override; |
311 void SetWhitelistedShortcuts(const std::string& message) override; | 317 void SetWhitelistedShortcuts(const std::string& message) override; |
312 void InspectedContentsClosing() override; | 318 void InspectedContentsClosing() override; |
313 void OnLoadCompleted() override; | 319 void OnLoadCompleted() override; |
314 void ReadyForTest() override; | 320 void ReadyForTest() override; |
315 InfoBarService* GetInfoBarService() override; | 321 InfoBarService* GetInfoBarService() override; |
316 void RenderProcessGone(bool crashed) override; | 322 void RenderProcessGone(bool crashed) override; |
(...skipping 28 matching lines...) Expand all Loading... |
345 base::Closure ready_for_test_callback_; | 351 base::Closure ready_for_test_callback_; |
346 | 352 |
347 base::TimeTicks inspect_element_start_time_; | 353 base::TimeTicks inspect_element_start_time_; |
348 std::unique_ptr<DevToolsEventForwarder> event_forwarder_; | 354 std::unique_ptr<DevToolsEventForwarder> event_forwarder_; |
349 | 355 |
350 friend class DevToolsEventForwarder; | 356 friend class DevToolsEventForwarder; |
351 DISALLOW_COPY_AND_ASSIGN(DevToolsWindow); | 357 DISALLOW_COPY_AND_ASSIGN(DevToolsWindow); |
352 }; | 358 }; |
353 | 359 |
354 #endif // CHROME_BROWSER_DEVTOOLS_DEVTOOLS_WINDOW_H_ | 360 #endif // CHROME_BROWSER_DEVTOOLS_DEVTOOLS_WINDOW_H_ |
OLD | NEW |