Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(434)

Side by Side Diff: chrome/browser/debugger/devtools_window.cc

Issue 10947037: DevTools: provide the debugger detach reason in chrome.debugger.onDetach extension API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reviewer comments addressed. Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/extensions/api/debugger/debugger_api.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <algorithm> 5 #include <algorithm>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
11 #include "base/stringprintf.h" 11 #include "base/stringprintf.h"
12 #include "base/utf_string_conversions.h" 12 #include "base/utf_string_conversions.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
15 #include "chrome/browser/debugger/devtools_window.h" 15 #include "chrome/browser/debugger/devtools_window.h"
16 #include "chrome/browser/extensions/api/debugger/debugger_api.h"
16 #include "chrome/browser/extensions/extension_service.h" 17 #include "chrome/browser/extensions/extension_service.h"
17 #include "chrome/browser/file_select_helper.h" 18 #include "chrome/browser/file_select_helper.h"
18 #include "chrome/browser/prefs/pref_service.h" 19 #include "chrome/browser/prefs/pref_service.h"
19 #include "chrome/browser/prefs/scoped_user_pref_update.h" 20 #include "chrome/browser/prefs/scoped_user_pref_update.h"
20 #include "chrome/browser/profiles/profile.h" 21 #include "chrome/browser/profiles/profile.h"
21 #include "chrome/browser/sessions/session_tab_helper.h" 22 #include "chrome/browser/sessions/session_tab_helper.h"
22 #include "chrome/browser/themes/theme_service.h" 23 #include "chrome/browser/themes/theme_service.h"
23 #include "chrome/browser/themes/theme_service_factory.h" 24 #include "chrome/browser/themes/theme_service_factory.h"
24 #include "chrome/browser/ui/browser.h" 25 #include "chrome/browser/ui/browser.h"
25 #include "chrome/browser/ui/browser_list.h" 26 #include "chrome/browser/ui/browser_list.h"
(...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 RenderViewHost* inspected_rvh, 622 RenderViewHost* inspected_rvh,
622 bool force_open, 623 bool force_open,
623 DevToolsToggleAction action) { 624 DevToolsToggleAction action) {
624 DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost( 625 DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost(
625 inspected_rvh); 626 inspected_rvh);
626 DevToolsManager* manager = DevToolsManager::GetInstance(); 627 DevToolsManager* manager = DevToolsManager::GetInstance();
627 DevToolsClientHost* host = manager->GetDevToolsClientHostFor(agent); 628 DevToolsClientHost* host = manager->GetDevToolsClientHostFor(agent);
628 DevToolsWindow* window = AsDevToolsWindow(host); 629 DevToolsWindow* window = AsDevToolsWindow(host);
629 if (host && !window) { 630 if (host && !window) {
630 // Break remote debugging / extension debugging session. 631 // Break remote debugging / extension debugging session.
632 DebuggerApi::MarkDevToolsClientHostAsReplaced(host);
631 manager->UnregisterDevToolsClientHostFor(agent); 633 manager->UnregisterDevToolsClientHostFor(agent);
632 } 634 }
633 635
634 bool do_open = force_open; 636 bool do_open = force_open;
635 if (!window) { 637 if (!window) {
636 Profile* profile = Profile::FromBrowserContext( 638 Profile* profile = Profile::FromBrowserContext(
637 inspected_rvh->GetProcess()->GetBrowserContext()); 639 inspected_rvh->GetProcess()->GetBrowserContext());
638 bool docked = profile->GetPrefs()->GetBoolean(prefs::kDevToolsOpenDocked); 640 bool docked = profile->GetPrefs()->GetBoolean(prefs::kDevToolsOpenDocked);
639 window = Create(profile, inspected_rvh, docked, false); 641 window = Create(profile, inspected_rvh, docked, false);
640 manager->RegisterDevToolsClientHostFor(agent, window->frontend_host_); 642 manager->RegisterDevToolsClientHostFor(agent, window->frontend_host_);
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 FileSelectHelper::RunFileChooser(web_contents, params); 783 FileSelectHelper::RunFileChooser(web_contents, params);
782 } 784 }
783 785
784 void DevToolsWindow::UpdateBrowserToolbar() { 786 void DevToolsWindow::UpdateBrowserToolbar() {
785 if (!inspected_tab_) 787 if (!inspected_tab_)
786 return; 788 return;
787 BrowserWindow* inspected_window = GetInspectedBrowserWindow(); 789 BrowserWindow* inspected_window = GetInspectedBrowserWindow();
788 if (inspected_window) 790 if (inspected_window)
789 inspected_window->UpdateToolbar(inspected_tab_, false); 791 inspected_window->UpdateToolbar(inspected_tab_, false);
790 } 792 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/extensions/api/debugger/debugger_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698