diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-19 12:43:13 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-19 12:43:13 +0000 |
commit | 91de58ee5e168df8a33291ed1d66803c4927de01 (patch) | |
tree | e3f792b2a1ca0cf27b126dc9e2cd23c44b15af73 /chrome/browser/ui/gtk/browser_window_gtk.cc | |
parent | 8282b5cab31bec44f3f2c16a980e4c61a6623a45 (diff) | |
download | chromium_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.cc | 24 |
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); |