| 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();
|
|
|