summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/gtk
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-09 06:10:57 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-09 06:10:57 +0000
commit68eeede20e63fbb9a8756ed73e482b87dde57c72 (patch)
tree26d1bd889cbfd7b32131d585a97dcb9b447b8733 /chrome/browser/ui/gtk
parentc2ff9b4ec2549c5b3b36c11fe2fca7b5495adf9a (diff)
downloadchromium_src-68eeede20e63fbb9a8756ed73e482b87dde57c72.zip
chromium_src-68eeede20e63fbb9a8756ed73e482b87dde57c72.tar.gz
chromium_src-68eeede20e63fbb9a8756ed73e482b87dde57c72.tar.bz2
Save and restore State for ShellWindows, including panels
This replaces ShellWindow::CreateParams::State with ui::WindowShowState for simplicty and consistency with Browser session restore. BUG=233556 TBR=flackr@chromium.org, skuhne@chromium.org, sky@chromium.org Original CL: https://codereview.chromium.org/14031021/ + disabled flakey browser tests on linux Review URL: https://chromiumcodereview.appspot.com/14663010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199145 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/gtk')
-rw-r--r--chrome/browser/ui/gtk/browser_window_gtk.cc8
-rw-r--r--chrome/browser/ui/gtk/browser_window_gtk.h15
-rw-r--r--chrome/browser/ui/gtk/extensions/native_app_window_gtk.cc10
-rw-r--r--chrome/browser/ui/gtk/extensions/native_app_window_gtk.h2
4 files changed, 28 insertions, 7 deletions
diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc
index e594a6c..22ac92a 100644
--- a/chrome/browser/ui/gtk/browser_window_gtk.cc
+++ b/chrome/browser/ui/gtk/browser_window_gtk.cc
@@ -799,6 +799,14 @@ gfx::Rect BrowserWindowGtk::GetRestoredBounds() const {
return restored_bounds_;
}
+ui::WindowShowState BrowserWindowGtk::GetRestoredState() const {
+ if (IsMaximized())
+ return ui::SHOW_STATE_MAXIMIZED;
+ if (IsMinimized())
+ return ui::SHOW_STATE_MINIMIZED;
+ return ui::SHOW_STATE_NORMAL;
+}
+
gfx::Rect BrowserWindowGtk::GetBounds() const {
return bounds_;
}
diff --git a/chrome/browser/ui/gtk/browser_window_gtk.h b/chrome/browser/ui/gtk/browser_window_gtk.h
index 5ff445f..67dac6b 100644
--- a/chrome/browser/ui/gtk/browser_window_gtk.h
+++ b/chrome/browser/ui/gtk/browser_window_gtk.h
@@ -59,13 +59,13 @@ class PrefRegistrySyncable;
// An implementation of BrowserWindow for GTK. Cross-platform code will interact
// with this object when it needs to manipulate the window.
-class BrowserWindowGtk :
- public BrowserWindow,
- public content::NotificationObserver,
- public TabStripModelObserver,
- public ui::ActiveWindowWatcherXObserver,
- public InfoBarContainer::Delegate,
- public extensions::ExtensionKeybindingRegistry::Delegate {
+class BrowserWindowGtk
+ : public BrowserWindow,
+ public content::NotificationObserver,
+ public TabStripModelObserver,
+ public ui::ActiveWindowWatcherXObserver,
+ public InfoBarContainer::Delegate,
+ public extensions::ExtensionKeybindingRegistry::Delegate {
public:
explicit BrowserWindowGtk(Browser* browser);
virtual ~BrowserWindowGtk();
@@ -95,6 +95,7 @@ class BrowserWindowGtk :
virtual void SetStarredState(bool is_starred) OVERRIDE;
virtual void ZoomChangedForActiveTab(bool can_show_bubble) OVERRIDE;
virtual gfx::Rect GetRestoredBounds() const OVERRIDE;
+ virtual ui::WindowShowState GetRestoredState() const OVERRIDE;
virtual gfx::Rect GetBounds() const OVERRIDE;
virtual bool IsMaximized() const OVERRIDE;
virtual bool IsMinimized() const OVERRIDE;
diff --git a/chrome/browser/ui/gtk/extensions/native_app_window_gtk.cc b/chrome/browser/ui/gtk/extensions/native_app_window_gtk.cc
index b717e10..6e3a488 100644
--- a/chrome/browser/ui/gtk/extensions/native_app_window_gtk.cc
+++ b/chrome/browser/ui/gtk/extensions/native_app_window_gtk.cc
@@ -170,6 +170,12 @@ gfx::Rect NativeAppWindowGtk::GetRestoredBounds() const {
return window_bounds;
}
+ui::WindowShowState NativeAppWindowGtk::GetRestoredState() const {
+ if (IsMaximized())
+ return ui::SHOW_STATE_MAXIMIZED;
+ return ui::SHOW_STATE_NORMAL;
+}
+
gfx::Rect NativeAppWindowGtk::GetBounds() const {
gfx::Rect window_bounds = bounds_;
window_bounds.Inset(-GetFrameInsets());
@@ -485,6 +491,10 @@ bool NativeAppWindowGtk::IsFullscreenOrPending() const {
return content_thinks_its_fullscreen_;
}
+bool NativeAppWindowGtk::IsDetached() const {
+ return false;
+}
+
void NativeAppWindowGtk::UpdateWindowIcon() {
Profile* profile = shell_window_->profile();
gfx::Image app_icon = shell_window_->app_icon();
diff --git a/chrome/browser/ui/gtk/extensions/native_app_window_gtk.h b/chrome/browser/ui/gtk/extensions/native_app_window_gtk.h
index 7facadd..c75c46a 100644
--- a/chrome/browser/ui/gtk/extensions/native_app_window_gtk.h
+++ b/chrome/browser/ui/gtk/extensions/native_app_window_gtk.h
@@ -36,8 +36,10 @@ class NativeAppWindowGtk : public NativeAppWindow,
virtual bool IsMaximized() const OVERRIDE;
virtual bool IsMinimized() const OVERRIDE;
virtual bool IsFullscreen() const OVERRIDE;
+ virtual bool IsDetached() const OVERRIDE;
virtual gfx::NativeWindow GetNativeWindow() OVERRIDE;
virtual gfx::Rect GetRestoredBounds() const OVERRIDE;
+ virtual ui::WindowShowState GetRestoredState() const OVERRIDE;
virtual gfx::Rect GetBounds() const OVERRIDE;
virtual void Show() OVERRIDE;
virtual void ShowInactive() OVERRIDE;