Index: chrome/browser/debugger/devtools_window.cc |
diff --git a/chrome/browser/debugger/devtools_window.cc b/chrome/browser/debugger/devtools_window.cc |
index 90bbf21211a9d30bdd9edbd12ecb02559e11e16d..ec0c1aa261ede8716d2e1d1eb2df3d99595d8b80 100644 |
--- a/chrome/browser/debugger/devtools_window.cc |
+++ b/chrome/browser/debugger/devtools_window.cc |
@@ -121,6 +121,7 @@ void DevToolsWindow::Show(bool open_console) { |
if (inspected_window) { |
tab_contents_->set_delegate(this); |
inspected_window->UpdateDevTools(); |
+ SetAttachedWindow(); |
tab_contents_->view()->SetInitialFocus(); |
return; |
} else { |
@@ -133,6 +134,7 @@ void DevToolsWindow::Show(bool open_console) { |
CreateDevToolsBrowser(); |
browser_->window()->Show(); |
+ SetAttachedWindow(); |
tab_contents_->view()->SetInitialFocus(); |
if (open_console) { |
@@ -141,6 +143,7 @@ void DevToolsWindow::Show(bool open_console) { |
else |
open_console_on_load_ = true; |
} |
+ |
} |
void DevToolsWindow::Activate() { |
@@ -159,6 +162,10 @@ void DevToolsWindow::SetDocked(bool docked) { |
if (docked_ == docked) { |
return; |
} |
+ if (docked && !GetInspectedBrowserWindow()) { |
+ // Cannot dock, avoid window flashing due to close-reopen cycle. |
+ return; |
+ } |
docked_ = docked; |
if (docked) { |
@@ -225,14 +232,18 @@ BrowserWindow* DevToolsWindow::GetInspectedBrowserWindow() { |
return NULL; |
} |
+void DevToolsWindow::SetAttachedWindow() { |
+ tab_contents_->render_view_host()-> |
+ ExecuteJavascriptInWebFrame( |
+ L"", docked_ ? L"WebInspector.setAttachedWindow(true);" : |
+ L"WebInspector.setAttachedWindow(false);"); |
+} |
+ |
void DevToolsWindow::Observe(NotificationType type, |
const NotificationSource& source, |
const NotificationDetails& details) { |
if (type == NotificationType::LOAD_STOP) { |
- tab_contents_->render_view_host()-> |
- ExecuteJavascriptInWebFrame( |
- L"", docked_ ? L"WebInspector.setAttachedWindow(true);" : |
- L"WebInspector.setAttachedWindow(false);"); |
+ SetAttachedWindow(); |
is_loaded_ = true; |
if (open_console_on_load_) { |
OpenConsole(); |