diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-06 08:00:30 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-06 08:00:30 +0000 |
commit | 7f412a7064bbe2e0dc7f894122e17ab73f304d94 (patch) | |
tree | e263784d61db60ba72188eeea575b7839ab37182 /chrome/browser/debugger | |
parent | 03974c2b1dfdd42e34b7f242e3a804aab03bd5eb (diff) | |
download | chromium_src-7f412a7064bbe2e0dc7f894122e17ab73f304d94.zip chromium_src-7f412a7064bbe2e0dc7f894122e17ab73f304d94.tar.gz chromium_src-7f412a7064bbe2e0dc7f894122e17ab73f304d94.tar.bz2 |
DevTools: preserve focus on activating dev tools window.
BUG=15912
Review URL: http://codereview.chromium.org/155068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19938 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/debugger')
-rw-r--r-- | chrome/browser/debugger/devtools_manager.cc | 10 | ||||
-rw-r--r-- | chrome/browser/debugger/devtools_manager.h | 1 | ||||
-rw-r--r-- | chrome/browser/debugger/devtools_window.cc | 8 | ||||
-rw-r--r-- | chrome/browser/debugger/devtools_window.h | 1 |
4 files changed, 20 insertions, 0 deletions
diff --git a/chrome/browser/debugger/devtools_manager.cc b/chrome/browser/debugger/devtools_manager.cc index 1f292b0..574e42c 100644 --- a/chrome/browser/debugger/devtools_manager.cc +++ b/chrome/browser/debugger/devtools_manager.cc @@ -93,6 +93,16 @@ void DevToolsManager::ForwardToDevToolsClient(RenderViewHost* inspected_rvh, client_host->SendMessageToClient(message); } +void DevToolsManager::ActivateWindow(RenderViewHost* client_rvh) { + DevToolsClientHost* client_host = FindOnwerDevToolsClientHost(client_rvh); + if (!client_host) { + return; + } + DevToolsWindow* window = client_host->AsDevToolsWindow(); + DCHECK(window); + window->Activate(); +} + void DevToolsManager::CloseWindow(RenderViewHost* client_rvh) { DevToolsClientHost* client_host = FindOnwerDevToolsClientHost(client_rvh); if (!client_host) { diff --git a/chrome/browser/debugger/devtools_manager.h b/chrome/browser/debugger/devtools_manager.h index af0d90e..5b6261c 100644 --- a/chrome/browser/debugger/devtools_manager.h +++ b/chrome/browser/debugger/devtools_manager.h @@ -47,6 +47,7 @@ class DevToolsManager : public DevToolsClientHost::CloseListener, void ForwardToDevToolsClient(RenderViewHost* inspected_rvh, const IPC::Message& message); + void ActivateWindow(RenderViewHost* client_rvn); void CloseWindow(RenderViewHost* client_rvn); void DockWindow(RenderViewHost* client_rvn); void UndockWindow(RenderViewHost* client_rvn); diff --git a/chrome/browser/debugger/devtools_window.cc b/chrome/browser/debugger/devtools_window.cc index ee57310a..144bb74 100644 --- a/chrome/browser/debugger/devtools_window.cc +++ b/chrome/browser/debugger/devtools_window.cc @@ -33,6 +33,7 @@ class FloatingWindow : public DevToolsWindow, FloatingWindow(Profile* profile); virtual ~FloatingWindow(); virtual void Show(); + virtual void Activate(); virtual void InspectedTabClosing(); // TabStripModelObserver implementation @@ -49,6 +50,7 @@ class DockedWindow : public DevToolsWindow, public: DockedWindow(Profile* profile, BrowserWindow* window); virtual ~DockedWindow(); + virtual void Activate() {} virtual void Show(); virtual void InspectedTabClosing(); @@ -216,6 +218,12 @@ FloatingWindow::FloatingWindow(Profile* profile) FloatingWindow::~FloatingWindow() { } +void FloatingWindow::Activate() { + if (!browser_->window()->IsActive()) { + browser_->window()->Activate(); + } +} + void FloatingWindow::Show() { browser_->window()->Show(); tab_contents_->view()->SetInitialFocus(); diff --git a/chrome/browser/debugger/devtools_window.h b/chrome/browser/debugger/devtools_window.h index 8538cda..b6d4236 100644 --- a/chrome/browser/debugger/devtools_window.h +++ b/chrome/browser/debugger/devtools_window.h @@ -32,6 +32,7 @@ class DevToolsWindow : public DevToolsClientHost, public NotificationObserver { virtual ~DevToolsWindow(); virtual void Show() = 0; + virtual void Activate() = 0; bool is_docked() { return docked_; }; RenderViewHost* GetRenderViewHost(); |