diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-31 23:31:11 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-31 23:31:11 +0000 |
commit | 72eb1cf61830bb0a12d62de656632aae3a94a88f (patch) | |
tree | 04cc0481ae78a75bc530c513fdd8772f3f7e3535 /ui/aura/window_unittest.cc | |
parent | a7b35ed103e8fb38f6eff3ccbf3cda2282c38874 (diff) | |
download | chromium_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.cc | 93 |
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 |