summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 06:10:50 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 06:10:50 +0000
commit935ed2e5ce4fed66dd7939c652e41d76b9235e4a (patch)
tree74f3957f4bf761f0b7c254e672fddf002ecaf5ce /views
parent2c5146f5b9e78f29f6847da1d8d2338623fb959c (diff)
downloadchromium_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.cc4
-rw-r--r--views/widget/widget_unittest.cc29
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