diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-17 06:10:50 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-17 06:10:50 +0000 |
commit | 935ed2e5ce4fed66dd7939c652e41d76b9235e4a (patch) | |
tree | 74f3957f4bf761f0b7c254e672fddf002ecaf5ce /views | |
parent | 2c5146f5b9e78f29f6847da1d8d2338623fb959c (diff) | |
download | chromium_src-935ed2e5ce4fed66dd7939c652e41d76b9235e4a.zip chromium_src-935ed2e5ce4fed66dd7939c652e41d76b9235e4a.tar.gz chromium_src-935ed2e5ce4fed66dd7939c652e41d76b9235e4a.tar.bz2 |
Fix NWAura to use property to get restored bounds.
GetRestoredBounds should Return normal bounds if window is normal mode.
BUG=103490
TEST=none
Review URL: http://codereview.chromium.org/8468029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110452 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r-- | views/widget/native_widget_aura.cc | 4 | ||||
-rw-r--r-- | views/widget/widget_unittest.cc | 29 |
2 files changed, 32 insertions, 1 deletions
diff --git a/views/widget/native_widget_aura.cc b/views/widget/native_widget_aura.cc index 413eebc..f7b4c73 100644 --- a/views/widget/native_widget_aura.cc +++ b/views/widget/native_widget_aura.cc @@ -335,7 +335,9 @@ gfx::Rect NativeWidgetAura::GetClientAreaScreenBounds() const { } gfx::Rect NativeWidgetAura::GetRestoredBounds() const { - return window_->restore_bounds(); + gfx::Rect* restore_bounds = reinterpret_cast<gfx::Rect*>( + window_->GetProperty(aura::kRestoreBoundsKey)); + return restore_bounds ? *restore_bounds : window_->bounds(); } void NativeWidgetAura::SetBounds(const gfx::Rect& bounds) { diff --git a/views/widget/widget_unittest.cc b/views/widget/widget_unittest.cc index fc6c22a..f4a72f9 100644 --- a/views/widget/widget_unittest.cc +++ b/views/widget/widget_unittest.cc @@ -835,5 +835,34 @@ TEST_F(WidgetObserverTest, VisibilityChange) { toplevel->CloseNow(); } +#if !defined(USE_AURA) && defined(OS_WIN) +// Aura needs shell to maximize/fullscreen window. +// NativeWidgetGtk doesn't implement GetRestoredBounds. +TEST_F(WidgetTest, GetRestoredBounds) { + Widget* toplevel = CreateTopLevelPlatformWidget(); + EXPECT_EQ(toplevel->GetWindowScreenBounds().ToString(), + toplevel->GetRestoredBounds().ToString()); + toplevel->Show(); + toplevel->Maximize(); + RunPendingMessages(); + EXPECT_NE(toplevel->GetWindowScreenBounds().ToString(), + toplevel->GetRestoredBounds().ToString()); + EXPECT_GT(toplevel->GetRestoredBounds().width(), 0); + EXPECT_GT(toplevel->GetRestoredBounds().height(), 0); + + toplevel->Restore(); + RunPendingMessages(); + EXPECT_EQ(toplevel->GetWindowScreenBounds().ToString(), + toplevel->GetRestoredBounds().ToString()); + + toplevel->SetFullscreen(true); + RunPendingMessages(); + EXPECT_NE(toplevel->GetWindowScreenBounds().ToString(), + toplevel->GetRestoredBounds().ToString()); + EXPECT_GT(toplevel->GetRestoredBounds().width(), 0); + EXPECT_GT(toplevel->GetRestoredBounds().height(), 0); +} +#endif + } // namespace } // namespace views |