summaryrefslogtreecommitdiffstats
path: root/chrome/browser/debugger/devtools_window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/debugger/devtools_window.cc')
-rw-r--r--chrome/browser/debugger/devtools_window.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/chrome/browser/debugger/devtools_window.cc b/chrome/browser/debugger/devtools_window.cc
index 41e6f5f..26c1025 100644
--- a/chrome/browser/debugger/devtools_window.cc
+++ b/chrome/browser/debugger/devtools_window.cc
@@ -136,7 +136,8 @@ void DevToolsWindow::Show(DevToolsToggleAction action) {
Browser* inspected_browser;
int inspected_tab_index;
// Tell inspected browser to update splitter and switch to inspected panel.
- if (FindInspectedBrowserAndTabIndex(&inspected_browser,
+ if (!IsInspectedBrowserPopup() &&
+ FindInspectedBrowserAndTabIndex(&inspected_browser,
&inspected_tab_index)) {
BrowserWindow* inspected_window = inspected_browser->window();
tab_contents_->tab_contents()->set_delegate(this);
@@ -186,7 +187,7 @@ void DevToolsWindow::Activate() {
void DevToolsWindow::SetDocked(bool docked) {
if (docked_ == docked)
return;
- if (docked && !GetInspectedBrowserWindow()) {
+ if (docked && (!GetInspectedBrowserWindow() || IsInspectedBrowserPopup())) {
// Cannot dock, avoid window flashing due to close-reopen cycle.
return;
}
@@ -265,6 +266,15 @@ BrowserWindow* DevToolsWindow::GetInspectedBrowserWindow() {
browser->window() : NULL;
}
+bool DevToolsWindow::IsInspectedBrowserPopup() {
+ Browser* browser = NULL;
+ int tab;
+ if (!FindInspectedBrowserAndTabIndex(&browser, &tab))
+ return false;
+
+ return (browser->type() & Browser::TYPE_POPUP) != 0;
+}
+
void DevToolsWindow::SetAttachedWindow() {
tab_contents_->render_view_host()->
ExecuteJavascriptInWebFrame(