summaryrefslogtreecommitdiffstats
path: root/ui/aura/window_unittest.cc
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-31 23:31:11 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-31 23:31:11 +0000
commit72eb1cf61830bb0a12d62de656632aae3a94a88f (patch)
tree04cc0481ae78a75bc530c513fdd8772f3f7e3535 /ui/aura/window_unittest.cc
parenta7b35ed103e8fb38f6eff3ccbf3cda2282c38874 (diff)
downloadchromium_src-72eb1cf61830bb0a12d62de656632aae3a94a88f.zip
chromium_src-72eb1cf61830bb0a12d62de656632aae3a94a88f.tar.gz
chromium_src-72eb1cf61830bb0a12d62de656632aae3a94a88f.tar.bz2
Revert 119976 - Adds two new observer methods to allow code to be notified when a Window is added/removed from a RootWindow. This allows hierarchy-specific cleanup code to execute when a Window is removed rather than when it is destroyed, necessary for multiple root windows.
http://crbug.com/112131 TEST=see unittests Review URL: https://chromiumcodereview.appspot.com/9315015 TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/9315017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119986 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/aura/window_unittest.cc')
-rw-r--r--ui/aura/window_unittest.cc93
1 files changed, 0 insertions, 93 deletions
diff --git a/ui/aura/window_unittest.cc b/ui/aura/window_unittest.cc
index b8d6121..6c53e6b 100644
--- a/ui/aura/window_unittest.cc
+++ b/ui/aura/window_unittest.cc
@@ -1462,98 +1462,5 @@ TEST_F(WindowTest, StackingMadrigal) {
EXPECT_TRUE(LayerIsAbove(window12.get(), window1.get()));
}
-class RootWindowAttachmentObserver : public WindowObserver {
- public:
- RootWindowAttachmentObserver() : added_count_(0), removed_count_(0) {}
- virtual ~RootWindowAttachmentObserver() {}
-
- int added_count() const { return added_count_; }
- int removed_count() const { return removed_count_; }
-
- void Clear() {
- added_count_ = 0;
- removed_count_ = 0;
- }
-
- // Overridden from WindowObserver:
- virtual void OnWindowAddedToRootWindow(Window* window) OVERRIDE {
- ++added_count_;
- }
- virtual void OnWindowRemovingFromRootWindow(Window* window) OVERRIDE {
- ++removed_count_;
- }
-
- private:
- int added_count_;
- int removed_count_;
-
- DISALLOW_COPY_AND_ASSIGN(RootWindowAttachmentObserver);
-};
-
-TEST_F(WindowTest, RootWindowAttachment) {
- RootWindowAttachmentObserver observer;
-
- // Test a direct add/remove from the RootWindow.
- scoped_ptr<Window> w1(new Window(NULL));
- w1->Init(ui::Layer::LAYER_NOT_DRAWN);
- w1->AddObserver(&observer);
-
- w1->SetParent(NULL);
- EXPECT_EQ(1, observer.added_count());
- EXPECT_EQ(0, observer.removed_count());
-
- w1.reset();
- EXPECT_EQ(1, observer.added_count());
- EXPECT_EQ(1, observer.removed_count());
-
- observer.Clear();
-
- // Test an indirect add/remove from the RootWindow.
- w1.reset(new Window(NULL));
- w1->Init(ui::Layer::LAYER_NOT_DRAWN);
- Window* w11 = new Window(NULL);
- w11->Init(ui::Layer::LAYER_NOT_DRAWN);
- w11->AddObserver(&observer);
- w11->SetParent(w1.get());
- EXPECT_EQ(0, observer.added_count());
- EXPECT_EQ(0, observer.removed_count());
-
- w1->SetParent(NULL);
- EXPECT_EQ(1, observer.added_count());
- EXPECT_EQ(0, observer.removed_count());
-
- w1.reset(); // Deletes w11.
- w11 = NULL;
- EXPECT_EQ(1, observer.added_count());
- EXPECT_EQ(1, observer.removed_count());
-
- observer.Clear();
-
- // Test an indirect add/remove with nested observers.
- w1.reset(new Window(NULL));
- w1->Init(ui::Layer::LAYER_NOT_DRAWN);
- w11 = new Window(NULL);
- w11->Init(ui::Layer::LAYER_NOT_DRAWN);
- w11->AddObserver(&observer);
- w11->SetParent(w1.get());
- Window* w111 = new Window(NULL);
- w111->Init(ui::Layer::LAYER_NOT_DRAWN);
- w111->AddObserver(&observer);
- w111->SetParent(w11);
-
- EXPECT_EQ(0, observer.added_count());
- EXPECT_EQ(0, observer.removed_count());
-
- w1->SetParent(NULL);
- EXPECT_EQ(2, observer.added_count());
- EXPECT_EQ(0, observer.removed_count());
-
- w1.reset(); // Deletes w11 and w111.
- w11 = NULL;
- w111 = NULL;
- EXPECT_EQ(2, observer.added_count());
- EXPECT_EQ(2, observer.removed_count());
-}
-
} // namespace test
} // namespace aura