| Index: ui/aura/window_unittest.cc
|
| diff --git a/ui/aura/window_unittest.cc b/ui/aura/window_unittest.cc
|
| index 4159d83cb7288c920b8e30f7d40827eac87b690c..1db4206e7e01d28429b641d1ce739a74e9cc9d62 100644
|
| --- a/ui/aura/window_unittest.cc
|
| +++ b/ui/aura/window_unittest.cc
|
| @@ -889,94 +889,6 @@ TEST_F(WindowTest, StopsEventPropagation) {
|
| EXPECT_EQ(w121.get(), w1->GetFocusManager()->GetFocusedWindow());
|
| }
|
|
|
| -TEST_F(WindowTest, Fullscreen) {
|
| - gfx::Rect original_bounds = gfx::Rect(100, 100, 100, 100);
|
| - gfx::Rect desktop_bounds(Desktop::GetInstance()->GetHostSize());
|
| - scoped_ptr<Window> w(CreateTestWindowWithDelegate(
|
| - NULL, 1, original_bounds, NULL));
|
| - EXPECT_EQ(original_bounds, w->bounds());
|
| -
|
| - // Restoreing the restored window.
|
| - w->Restore();
|
| - EXPECT_EQ(ui::SHOW_STATE_NORMAL, w->show_state());
|
| - EXPECT_EQ(original_bounds, w->bounds());
|
| -
|
| - // Fullscreen
|
| - w->Fullscreen();
|
| - EXPECT_EQ(ui::SHOW_STATE_FULLSCREEN, w->show_state());
|
| - EXPECT_EQ(desktop_bounds, w->bounds());
|
| - w->Restore();
|
| - EXPECT_EQ(ui::SHOW_STATE_NORMAL, w->show_state());
|
| - EXPECT_EQ(original_bounds, w->bounds());
|
| -
|
| - // Calling Fullscreen() twice should have no additional effect.
|
| - w->Fullscreen();
|
| - w->Fullscreen();
|
| - EXPECT_EQ(desktop_bounds, w->bounds());
|
| - w->Restore();
|
| - EXPECT_EQ(ui::SHOW_STATE_NORMAL, w->show_state());
|
| - EXPECT_EQ(original_bounds, w->bounds());
|
| -
|
| - // Calling SetBounds() in fullscreen mode should only update the
|
| - // restore bounds not change the bounds of the window.
|
| - gfx::Rect new_bounds(50, 50, 50, 50);
|
| - w->Fullscreen();
|
| - w->SetBounds(new_bounds);
|
| - EXPECT_EQ(desktop_bounds, w->bounds());
|
| - w->Restore();
|
| - EXPECT_EQ(new_bounds, w->bounds());
|
| -}
|
| -
|
| -TEST_F(WindowTest, Maximized) {
|
| - gfx::Rect original_bounds = gfx::Rect(100, 100, 100, 100);
|
| - gfx::Rect desktop_bounds(
|
| - gfx::Screen::GetMonitorWorkAreaNearestPoint(gfx::Point()));
|
| - scoped_ptr<Window> w(CreateTestWindowWithDelegate(
|
| - NULL, 1, original_bounds, NULL));
|
| - EXPECT_EQ(original_bounds, w->bounds());
|
| -
|
| - // Maximized
|
| - w->Maximize();
|
| - EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED, w->show_state());
|
| - gfx::Rect max_bounds(desktop_bounds);
|
| - EXPECT_EQ(max_bounds, w->bounds());
|
| - w->Restore();
|
| - EXPECT_EQ(ui::SHOW_STATE_NORMAL, w->show_state());
|
| - EXPECT_EQ(original_bounds, w->bounds());
|
| -
|
| - // Maximize twice
|
| - w->Maximize();
|
| - w->Maximize();
|
| - EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED, w->show_state());
|
| - EXPECT_EQ(max_bounds, w->bounds());
|
| - w->Restore();
|
| - EXPECT_EQ(ui::SHOW_STATE_NORMAL, w->show_state());
|
| - EXPECT_EQ(original_bounds, w->bounds());
|
| -
|
| - // Maximized -> Fullscreen -> Maximized -> Normal
|
| - w->Maximize();
|
| - EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED, w->show_state());
|
| - EXPECT_EQ(max_bounds, w->bounds());
|
| - w->Fullscreen();
|
| - EXPECT_EQ(ui::SHOW_STATE_FULLSCREEN, w->show_state());
|
| - EXPECT_EQ(desktop_bounds, w->bounds());
|
| - w->Maximize();
|
| - EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED, w->show_state());
|
| - EXPECT_EQ(max_bounds, w->bounds());
|
| - w->Restore();
|
| - EXPECT_EQ(ui::SHOW_STATE_NORMAL, w->show_state());
|
| - EXPECT_EQ(original_bounds, w->bounds());
|
| -
|
| - // Calling SetBounds() in maximized mode mode should only update the
|
| - // restore bounds not change the bounds of the window.
|
| - gfx::Rect new_bounds(50, 50, 50, 50);
|
| - w->Maximize();
|
| - w->SetBounds(new_bounds);
|
| - EXPECT_EQ(max_bounds, w->bounds());
|
| - w->Restore();
|
| - EXPECT_EQ(new_bounds, w->bounds());
|
| -}
|
| -
|
| // Various assertions for activating/deactivating.
|
| TEST_F(WindowTest, Deactivate) {
|
| TestWindowDelegate d1;
|
| @@ -1008,22 +920,6 @@ TEST_F(WindowTest, Deactivate) {
|
| EXPECT_EQ(w2.get(), parent->children()[1]);
|
| }
|
|
|
| -TEST_F(WindowTest, IsOrContainsFullscreenWindow) {
|
| - scoped_ptr<Window> w1(
|
| - CreateTestWindowWithDelegate(NULL, 1, gfx::Rect(0, 0, 100, 100), NULL));
|
| - scoped_ptr<Window> w11(
|
| - CreateTestWindow(SK_ColorWHITE, 11, gfx::Rect(0, 0, 10, 10), w1.get()));
|
| -
|
| - Window* root = Desktop::GetInstance();
|
| - EXPECT_FALSE(root->IsOrContainsFullscreenWindow());
|
| -
|
| - w11->Fullscreen();
|
| - EXPECT_TRUE(root->IsOrContainsFullscreenWindow());
|
| -
|
| - w11->Hide();
|
| - EXPECT_FALSE(root->IsOrContainsFullscreenWindow());
|
| -}
|
| -
|
| #if !defined(OS_WIN)
|
| // Tests transformation on the desktop.
|
| TEST_F(WindowTest, Transform) {
|
| @@ -1147,75 +1043,30 @@ TEST_F(ToplevelWindowTest, TopMostActivate) {
|
| EXPECT_EQ(w2.get(), toplevel_container_.GetTopmostWindowToActivate(NULL));
|
| }
|
|
|
| -// Tests that maximized windows get resized after desktop is resized.
|
| -TEST_F(ToplevelWindowTest, MaximizeAfterDesktopResize) {
|
| - gfx::Rect window_bounds(10, 10, 300, 400);
|
| - scoped_ptr<Window> w1(CreateTestToplevelWindow(NULL, window_bounds));
|
| -
|
| - w1->Show();
|
| - EXPECT_EQ(window_bounds, w1->bounds());
|
| -
|
| - w1->Maximize();
|
| - EXPECT_EQ(gfx::Screen::GetMonitorWorkAreaNearestWindow(w1.get()),
|
| - w1->bounds());
|
| -
|
| - // Resize the desktop.
|
| - Desktop* desktop = Desktop::GetInstance();
|
| - gfx::Size desktop_size = desktop->GetHostSize();
|
| - desktop->SetBounds(gfx::Rect(0, 0, desktop_size.width() + 100,
|
| - desktop_size.height() + 200));
|
| -
|
| - EXPECT_EQ(gfx::Screen::GetMonitorWorkAreaNearestWindow(w1.get()),
|
| - w1->bounds());
|
| -
|
| - w1->Restore();
|
| - EXPECT_EQ(window_bounds, w1->bounds());
|
| -}
|
| -
|
| -// Tests that fullscreen windows get resized after desktop is resized.
|
| -TEST_F(ToplevelWindowTest, FullscreenAfterDesktopResize) {
|
| - gfx::Rect window_bounds(10, 10, 300, 400);
|
| - scoped_ptr<Window> w1(CreateTestToplevelWindow(NULL, window_bounds));
|
| -
|
| - w1->Show();
|
| - EXPECT_EQ(window_bounds, w1->bounds());
|
| -
|
| - w1->Fullscreen();
|
| - EXPECT_EQ(gfx::Screen::GetMonitorAreaNearestWindow(w1.get()), w1->bounds());
|
| -
|
| - // Resize the desktop.
|
| - Desktop* desktop = Desktop::GetInstance();
|
| - gfx::Size desktop_size = desktop->GetHostSize();
|
| - desktop->SetBounds(gfx::Rect(0, 0, desktop_size.width() + 100,
|
| - desktop_size.height() + 200));
|
| -
|
| - EXPECT_EQ(gfx::Screen::GetMonitorAreaNearestWindow(w1.get()), w1->bounds());
|
| -
|
| - w1->Restore();
|
| - EXPECT_EQ(window_bounds, w1->bounds());
|
| -}
|
| -
|
| TEST_F(WindowTest, Property) {
|
| scoped_ptr<Window> w(CreateTestWindowWithId(0, NULL));
|
| const char* key = "test";
|
| EXPECT_EQ(NULL, w->GetProperty(key));
|
| + EXPECT_EQ(0, w->GetIntProperty(key));
|
|
|
| - void* value = reinterpret_cast<void*>(static_cast<intptr_t>(1));
|
| - w->SetProperty(key, value);
|
| - EXPECT_EQ(value, w->GetProperty(key));
|
| + w->SetIntProperty(key, 1);
|
| + EXPECT_EQ(1, w->GetIntProperty(key));
|
| + EXPECT_EQ(reinterpret_cast<void*>(static_cast<intptr_t>(1)),
|
| + w->GetProperty(key));
|
|
|
| // Overwrite the property with different value type.
|
| w->SetProperty(key, static_cast<void*>(const_cast<char*>("string")));
|
| std::string expected("string");
|
| - EXPECT_EQ(expected,
|
| - static_cast<const char*>(w->GetProperty(key)));
|
| + EXPECT_EQ(expected, static_cast<const char*>(w->GetProperty(key)));
|
|
|
| // Non-existent property.
|
| EXPECT_EQ(NULL, w->GetProperty("foo"));
|
| + EXPECT_EQ(0, w->GetIntProperty("foo"));
|
|
|
| // Set NULL and make sure the property is gone.
|
| w->SetProperty(key, NULL);
|
| EXPECT_EQ(NULL, w->GetProperty(key));
|
| + EXPECT_EQ(0, w->GetIntProperty(key));
|
| }
|
|
|
| class WindowObserverTest : public WindowTest,
|
| @@ -1229,7 +1080,9 @@ class WindowObserverTest : public WindowTest,
|
| WindowObserverTest()
|
| : added_count_(0),
|
| removed_count_(0),
|
| - destroyed_count_(0) {
|
| + destroyed_count_(0),
|
| + old_property_value_(NULL),
|
| + new_property_value_(NULL) {
|
| }
|
|
|
| virtual ~WindowObserverTest() {}
|
| @@ -1257,6 +1110,20 @@ class WindowObserverTest : public WindowTest,
|
| return result;
|
| }
|
|
|
| + // Return a string representation of the arguments passed in
|
| + // OnPropertyChanged callback.
|
| + std::string PropertyChangeInfoAndClear() {
|
| + std::string result(
|
| + base::StringPrintf("name=%s old=%p new=%p",
|
| + property_name_.c_str(),
|
| + old_property_value_,
|
| + new_property_value_));
|
| + property_name_.clear();
|
| + old_property_value_ = NULL;
|
| + new_property_value_ = NULL;
|
| + return result;
|
| + }
|
| +
|
| private:
|
| virtual void OnWindowAdded(Window* new_window) OVERRIDE {
|
| added_count_++;
|
| @@ -1277,10 +1144,21 @@ class WindowObserverTest : public WindowTest,
|
| destroyed_count_++;
|
| }
|
|
|
| + virtual void OnPropertyChanged(Window* window,
|
| + const char* name,
|
| + void* old) OVERRIDE {
|
| + property_name_ = std::string(name);
|
| + old_property_value_ = old;
|
| + new_property_value_ = window->GetProperty(name);
|
| + }
|
| +
|
| int added_count_;
|
| int removed_count_;
|
| int destroyed_count_;
|
| scoped_ptr<VisibilityInfo> visibility_info_;
|
| + std::string property_name_;
|
| + void* old_property_value_;
|
| + void* new_property_value_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(WindowObserverTest);
|
| };
|
| @@ -1367,6 +1245,21 @@ TEST_F(WindowObserverTest, WindowDestroyed) {
|
| EXPECT_EQ(1, DestroyedCountAndClear());
|
| }
|
|
|
| +TEST_F(WindowObserverTest, PropertyChanged) {
|
| + // Setting property should fire a property change notification.
|
| + scoped_ptr<Window> w1(CreateTestWindowWithId(1, NULL));
|
| + w1->AddObserver(this);
|
| + w1->SetIntProperty("test", 1);
|
| + EXPECT_EQ("name=test old=(nil) new=0x1", PropertyChangeInfoAndClear());
|
| + w1->SetIntProperty("test", 2);
|
| + EXPECT_EQ("name=test old=0x1 new=0x2", PropertyChangeInfoAndClear());
|
| + w1->SetProperty("test", NULL);
|
| + EXPECT_EQ("name=test old=0x2 new=(nil)", PropertyChangeInfoAndClear());
|
| +
|
| + // Sanity check to see if |PropertyChangeInfoAndClear| really clears.
|
| + EXPECT_EQ("name= old=(nil) new=(nil)", PropertyChangeInfoAndClear());
|
| +}
|
| +
|
| class DesktopObserverTest : public WindowTest,
|
| public DesktopObserver {
|
| public:
|
|
|