summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/gtk/browser_window_gtk.cc
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-19 12:43:13 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-19 12:43:13 +0000
commit91de58ee5e168df8a33291ed1d66803c4927de01 (patch)
treee3f792b2a1ca0cf27b126dc9e2cd23c44b15af73 /chrome/browser/ui/gtk/browser_window_gtk.cc
parent8282b5cab31bec44f3f2c16a980e4c61a6623a45 (diff)
downloadchromium_src-91de58ee5e168df8a33291ed1d66803c4927de01.zip
chromium_src-91de58ee5e168df8a33291ed1d66803c4927de01.tar.gz
chromium_src-91de58ee5e168df8a33291ed1d66803c4927de01.tar.bz2
DevTools: merge is_docked and dock_side into single dock_side state.
As of today, we manage devtools window state in a weird way: it can be either docked or undocked, and while docked it can attach to bottom or to the right. These two levels of setting makes it hard to manage code, we'd like devtools window to have enum of equal states: bottom, right, undocked (so far). This change makes it happen. Review URL: https://chromiumcodereview.appspot.com/11189060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162982 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/gtk/browser_window_gtk.cc')
-rw-r--r--chrome/browser/ui/gtk/browser_window_gtk.cc24
1 files changed, 15 insertions, 9 deletions
diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc
index df19e4f..314feac 100644
--- a/chrome/browser/ui/gtk/browser_window_gtk.cc
+++ b/chrome/browser/ui/gtk/browser_window_gtk.cc
@@ -27,7 +27,6 @@
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/debugger/devtools_window.h"
#include "chrome/browser/download/download_item_model.h"
#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/infobars/infobar_tab_helper.h"
@@ -744,8 +743,7 @@ void BrowserWindowGtk::SetDevToolsDockSide(DevToolsDockSide side) {
if (devtools_container_->tab()) {
HideDevToolsContainer();
- devtools_dock_side_ = side;
- ShowDevToolsContainer();
+ ShowDevToolsContainer(side);
} else {
devtools_dock_side_ = side;
}
@@ -1320,10 +1318,17 @@ extensions::ActiveTabPermissionGranter*
void BrowserWindowGtk::UpdateDevToolsForContents(WebContents* contents) {
TRACE_EVENT0("ui::gtk", "BrowserWindowGtk::UpdateDevToolsForContents");
TabContents* old_devtools = devtools_container_->tab();
- TabContents* devtools_contents = contents ?
- DevToolsWindow::GetDevToolsContents(contents) : NULL;
- if (old_devtools == devtools_contents)
+ DevToolsWindow* devtools_window = contents ?
+ DevToolsWindow::GetDockedInstanceForInspectedTab(contents) : NULL;
+ TabContents* devtools_contents =
+ devtools_window ? devtools_window->tab_contents() : NULL;
+
+ if (old_devtools == devtools_contents) {
+ if (devtools_contents &&
+ devtools_window->dock_side() != devtools_dock_side_)
+ SetDevToolsDockSide(devtools_window->dock_side());
return;
+ }
if (old_devtools)
devtools_container_->DetachTab(old_devtools);
@@ -1341,13 +1346,14 @@ void BrowserWindowGtk::UpdateDevToolsForContents(WebContents* contents) {
bool should_hide = old_devtools != NULL && devtools_contents == NULL;
if (should_show)
- ShowDevToolsContainer();
+ ShowDevToolsContainer(devtools_window->dock_side());
else if (should_hide)
HideDevToolsContainer();
}
-void BrowserWindowGtk::ShowDevToolsContainer() {
- bool dock_to_right = devtools_dock_side_ == DEVTOOLS_DOCK_SIDE_RIGHT;
+void BrowserWindowGtk::ShowDevToolsContainer(DevToolsDockSide dock_side) {
+ devtools_dock_side_ = dock_side;
+ bool dock_to_right = dock_side == DEVTOOLS_DOCK_SIDE_RIGHT;
GtkAllocation contents_rect;
gtk_widget_get_allocation(contents_vsplit_, &contents_rect);