diff options
author | prasadt@chromium.org <prasadt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 23:57:03 +0000 |
---|---|---|
committer | prasadt@chromium.org <prasadt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 23:57:03 +0000 |
commit | db11d60366b8e3c4ef1ebf114e443f77dbbd51ee (patch) | |
tree | b40cd38cd14ca163fb6ac1900386b31649b78801 /chrome | |
parent | 883ce2fa8fc0b8f8bf15fb4279ea2464a22cc052 (diff) | |
download | chromium_src-db11d60366b8e3c4ef1ebf114e443f77dbbd51ee.zip chromium_src-db11d60366b8e3c4ef1ebf114e443f77dbbd51ee.tar.gz chromium_src-db11d60366b8e3c4ef1ebf114e443f77dbbd51ee.tar.bz2 |
Currently BrowserWindowGtk does a lot of work in the constructor making it
difficult for a derived class to customize it. We need that ability for panel
windows which will derive from BrowserWindowGtk. Doing a minor refactor to get
the code out of the constructor and moving it into a virtual Init() function.
BUG=73936
TEST=none
modified: chrome/browser/ui/gtk/browser_window_factory_gtk.cc
modified: chrome/browser/ui/gtk/browser_window_gtk.cc
modified: chrome/browser/ui/gtk/browser_window_gtk.h
R=erg@chromium.org
Review URL: http://codereview.chromium.org/6682035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78130 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/ui/gtk/browser_window_factory_gtk.cc | 4 | ||||
-rw-r--r-- | chrome/browser/ui/gtk/browser_window_gtk.cc | 15 | ||||
-rw-r--r-- | chrome/browser/ui/gtk/browser_window_gtk.h | 2 |
3 files changed, 14 insertions, 7 deletions
diff --git a/chrome/browser/ui/gtk/browser_window_factory_gtk.cc b/chrome/browser/ui/gtk/browser_window_factory_gtk.cc index 97d1907..a466ec6 100644 --- a/chrome/browser/ui/gtk/browser_window_factory_gtk.cc +++ b/chrome/browser/ui/gtk/browser_window_factory_gtk.cc @@ -9,7 +9,9 @@ #include "chrome/browser/ui/gtk/find_bar_gtk.h" BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) { - return new BrowserWindowGtk(browser); + BrowserWindowGtk* browser_window_gtk = new BrowserWindowGtk(browser); + browser_window_gtk->Init(); + return browser_window_gtk; } FindBar* BrowserWindow::CreateFindBar(Browser* browser) { diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc index 2a418b6..032d1f2 100644 --- a/chrome/browser/ui/gtk/browser_window_gtk.cc +++ b/chrome/browser/ui/gtk/browser_window_gtk.cc @@ -260,6 +260,15 @@ BrowserWindowGtk::BrowserWindowGtk(Browser* browser) suppress_window_raise_(false), accel_group_(NULL), infobar_arrow_model_(this) { +} + +BrowserWindowGtk::~BrowserWindowGtk() { + ui::ActiveWindowWatcherX::RemoveObserver(this); + + browser_->tabstrip_model()->RemoveObserver(this); +} + +void BrowserWindowGtk::Init() { // We register first so that other views like the toolbar can use the // is_active() function in their ActiveWindowChanged() handlers. ui::ActiveWindowWatcherX::AddObserver(this); @@ -317,12 +326,6 @@ BrowserWindowGtk::BrowserWindowGtk(Browser* browser) NotificationService::AllSources()); } -BrowserWindowGtk::~BrowserWindowGtk() { - ui::ActiveWindowWatcherX::RemoveObserver(this); - - browser_->tabstrip_model()->RemoveObserver(this); -} - gboolean BrowserWindowGtk::OnCustomFrameExpose(GtkWidget* widget, GdkEventExpose* event) { // Draw the default background. diff --git a/chrome/browser/ui/gtk/browser_window_gtk.h b/chrome/browser/ui/gtk/browser_window_gtk.h index 0d2fc16..7866cf9 100644 --- a/chrome/browser/ui/gtk/browser_window_gtk.h +++ b/chrome/browser/ui/gtk/browser_window_gtk.h @@ -50,6 +50,8 @@ class BrowserWindowGtk : public BrowserWindow, explicit BrowserWindowGtk(Browser* browser); virtual ~BrowserWindowGtk(); + virtual void Init(); + // Overridden from BrowserWindow virtual void Show(); virtual void SetBounds(const gfx::Rect& bounds); |