Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: ui/aura/window_unittest.cc

Issue 684483002: Standardize usage of virtual/override/final specifiers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/aura/window_tree_host_x11.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/aura/window.h" 5 #include "ui/aura/window.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 DECLARE_WINDOW_PROPERTY_TYPE(int) 48 DECLARE_WINDOW_PROPERTY_TYPE(int)
49 49
50 namespace aura { 50 namespace aura {
51 namespace test { 51 namespace test {
52 52
53 class WindowTest : public AuraTestBase { 53 class WindowTest : public AuraTestBase {
54 public: 54 public:
55 WindowTest() : max_separation_(0) { 55 WindowTest() : max_separation_(0) {
56 } 56 }
57 57
58 virtual void SetUp() override { 58 void SetUp() override {
59 AuraTestBase::SetUp(); 59 AuraTestBase::SetUp();
60 // TODO: there needs to be an easier way to do this. 60 // TODO: there needs to be an easier way to do this.
61 max_separation_ = ui::GestureConfiguration:: 61 max_separation_ = ui::GestureConfiguration::
62 max_separation_for_gesture_touches_in_pixels(); 62 max_separation_for_gesture_touches_in_pixels();
63 ui::GestureConfiguration:: 63 ui::GestureConfiguration::
64 set_max_separation_for_gesture_touches_in_pixels(0); 64 set_max_separation_for_gesture_touches_in_pixels(0);
65 } 65 }
66 66
67 virtual void TearDown() override { 67 void TearDown() override {
68 AuraTestBase::TearDown(); 68 AuraTestBase::TearDown();
69 ui::GestureConfiguration:: 69 ui::GestureConfiguration::
70 set_max_separation_for_gesture_touches_in_pixels(max_separation_); 70 set_max_separation_for_gesture_touches_in_pixels(max_separation_);
71 } 71 }
72 72
73 private: 73 private:
74 float max_separation_; 74 float max_separation_;
75 75
76 DISALLOW_COPY_AND_ASSIGN(WindowTest); 76 DISALLOW_COPY_AND_ASSIGN(WindowTest);
77 }; 77 };
78 78
79 namespace { 79 namespace {
80 80
81 // Used for verifying destruction methods are invoked. 81 // Used for verifying destruction methods are invoked.
82 class DestroyTrackingDelegateImpl : public TestWindowDelegate { 82 class DestroyTrackingDelegateImpl : public TestWindowDelegate {
83 public: 83 public:
84 DestroyTrackingDelegateImpl() 84 DestroyTrackingDelegateImpl()
85 : destroying_count_(0), 85 : destroying_count_(0),
86 destroyed_count_(0), 86 destroyed_count_(0),
87 in_destroying_(false) {} 87 in_destroying_(false) {}
88 88
89 void clear_destroying_count() { destroying_count_ = 0; } 89 void clear_destroying_count() { destroying_count_ = 0; }
90 int destroying_count() const { return destroying_count_; } 90 int destroying_count() const { return destroying_count_; }
91 91
92 void clear_destroyed_count() { destroyed_count_ = 0; } 92 void clear_destroyed_count() { destroyed_count_ = 0; }
93 int destroyed_count() const { return destroyed_count_; } 93 int destroyed_count() const { return destroyed_count_; }
94 94
95 bool in_destroying() const { return in_destroying_; } 95 bool in_destroying() const { return in_destroying_; }
96 96
97 virtual void OnWindowDestroying(Window* window) override { 97 void OnWindowDestroying(Window* window) override {
98 EXPECT_FALSE(in_destroying_); 98 EXPECT_FALSE(in_destroying_);
99 in_destroying_ = true; 99 in_destroying_ = true;
100 destroying_count_++; 100 destroying_count_++;
101 } 101 }
102 102
103 virtual void OnWindowDestroyed(Window* window) override { 103 void OnWindowDestroyed(Window* window) override {
104 EXPECT_TRUE(in_destroying_); 104 EXPECT_TRUE(in_destroying_);
105 in_destroying_ = false; 105 in_destroying_ = false;
106 destroyed_count_++; 106 destroyed_count_++;
107 } 107 }
108 108
109 private: 109 private:
110 int destroying_count_; 110 int destroying_count_;
111 int destroyed_count_; 111 int destroyed_count_;
112 bool in_destroying_; 112 bool in_destroying_;
113 113
114 DISALLOW_COPY_AND_ASSIGN(DestroyTrackingDelegateImpl); 114 DISALLOW_COPY_AND_ASSIGN(DestroyTrackingDelegateImpl);
115 }; 115 };
116 116
117 // Used to verify that when OnWindowDestroying is invoked the parent is also 117 // Used to verify that when OnWindowDestroying is invoked the parent is also
118 // is in the process of being destroyed. 118 // is in the process of being destroyed.
119 class ChildWindowDelegateImpl : public DestroyTrackingDelegateImpl { 119 class ChildWindowDelegateImpl : public DestroyTrackingDelegateImpl {
120 public: 120 public:
121 explicit ChildWindowDelegateImpl( 121 explicit ChildWindowDelegateImpl(
122 DestroyTrackingDelegateImpl* parent_delegate) 122 DestroyTrackingDelegateImpl* parent_delegate)
123 : parent_delegate_(parent_delegate) { 123 : parent_delegate_(parent_delegate) {
124 } 124 }
125 125
126 virtual void OnWindowDestroying(Window* window) override { 126 void OnWindowDestroying(Window* window) override {
127 EXPECT_TRUE(parent_delegate_->in_destroying()); 127 EXPECT_TRUE(parent_delegate_->in_destroying());
128 DestroyTrackingDelegateImpl::OnWindowDestroying(window); 128 DestroyTrackingDelegateImpl::OnWindowDestroying(window);
129 } 129 }
130 130
131 private: 131 private:
132 DestroyTrackingDelegateImpl* parent_delegate_; 132 DestroyTrackingDelegateImpl* parent_delegate_;
133 133
134 DISALLOW_COPY_AND_ASSIGN(ChildWindowDelegateImpl); 134 DISALLOW_COPY_AND_ASSIGN(ChildWindowDelegateImpl);
135 }; 135 };
136 136
137 // Used to verify that a Window is removed from its parent when 137 // Used to verify that a Window is removed from its parent when
138 // OnWindowDestroyed is called. 138 // OnWindowDestroyed is called.
139 class DestroyOrphanDelegate : public TestWindowDelegate { 139 class DestroyOrphanDelegate : public TestWindowDelegate {
140 public: 140 public:
141 DestroyOrphanDelegate() : window_(NULL) { 141 DestroyOrphanDelegate() : window_(NULL) {
142 } 142 }
143 143
144 void set_window(Window* window) { window_ = window; } 144 void set_window(Window* window) { window_ = window; }
145 145
146 virtual void OnWindowDestroyed(Window* window) override { 146 void OnWindowDestroyed(Window* window) override {
147 EXPECT_FALSE(window_->parent()); 147 EXPECT_FALSE(window_->parent());
148 } 148 }
149 149
150 private: 150 private:
151 Window* window_; 151 Window* window_;
152 DISALLOW_COPY_AND_ASSIGN(DestroyOrphanDelegate); 152 DISALLOW_COPY_AND_ASSIGN(DestroyOrphanDelegate);
153 }; 153 };
154 154
155 // Used in verifying mouse capture. 155 // Used in verifying mouse capture.
156 class CaptureWindowDelegateImpl : public TestWindowDelegate { 156 class CaptureWindowDelegateImpl : public TestWindowDelegate {
(...skipping 11 matching lines...) Expand all
168 } 168 }
169 169
170 int capture_changed_event_count() const { 170 int capture_changed_event_count() const {
171 return capture_changed_event_count_; 171 return capture_changed_event_count_;
172 } 172 }
173 int capture_lost_count() const { return capture_lost_count_; } 173 int capture_lost_count() const { return capture_lost_count_; }
174 int mouse_event_count() const { return mouse_event_count_; } 174 int mouse_event_count() const { return mouse_event_count_; }
175 int touch_event_count() const { return touch_event_count_; } 175 int touch_event_count() const { return touch_event_count_; }
176 int gesture_event_count() const { return gesture_event_count_; } 176 int gesture_event_count() const { return gesture_event_count_; }
177 177
178 virtual void OnMouseEvent(ui::MouseEvent* event) override { 178 void OnMouseEvent(ui::MouseEvent* event) override {
179 if (event->type() == ui::ET_MOUSE_CAPTURE_CHANGED) 179 if (event->type() == ui::ET_MOUSE_CAPTURE_CHANGED)
180 capture_changed_event_count_++; 180 capture_changed_event_count_++;
181 mouse_event_count_++; 181 mouse_event_count_++;
182 } 182 }
183 virtual void OnTouchEvent(ui::TouchEvent* event) override { 183 void OnTouchEvent(ui::TouchEvent* event) override { touch_event_count_++; }
184 touch_event_count_++; 184 void OnGestureEvent(ui::GestureEvent* event) override {
185 }
186 virtual void OnGestureEvent(ui::GestureEvent* event) override {
187 gesture_event_count_++; 185 gesture_event_count_++;
188 } 186 }
189 virtual void OnCaptureLost() override { 187 void OnCaptureLost() override { capture_lost_count_++; }
190 capture_lost_count_++;
191 }
192 188
193 private: 189 private:
194 int capture_changed_event_count_; 190 int capture_changed_event_count_;
195 int capture_lost_count_; 191 int capture_lost_count_;
196 int mouse_event_count_; 192 int mouse_event_count_;
197 int touch_event_count_; 193 int touch_event_count_;
198 int gesture_event_count_; 194 int gesture_event_count_;
199 195
200 DISALLOW_COPY_AND_ASSIGN(CaptureWindowDelegateImpl); 196 DISALLOW_COPY_AND_ASSIGN(CaptureWindowDelegateImpl);
201 }; 197 };
202 198
203 // Keeps track of the location of the gesture. 199 // Keeps track of the location of the gesture.
204 class GestureTrackPositionDelegate : public TestWindowDelegate { 200 class GestureTrackPositionDelegate : public TestWindowDelegate {
205 public: 201 public:
206 GestureTrackPositionDelegate() {} 202 GestureTrackPositionDelegate() {}
207 203
208 virtual void OnGestureEvent(ui::GestureEvent* event) override { 204 void OnGestureEvent(ui::GestureEvent* event) override {
209 position_ = event->location(); 205 position_ = event->location();
210 event->StopPropagation(); 206 event->StopPropagation();
211 } 207 }
212 208
213 const gfx::Point& position() const { return position_; } 209 const gfx::Point& position() const { return position_; }
214 210
215 private: 211 private:
216 gfx::Point position_; 212 gfx::Point position_;
217 213
218 DISALLOW_COPY_AND_ASSIGN(GestureTrackPositionDelegate); 214 DISALLOW_COPY_AND_ASSIGN(GestureTrackPositionDelegate);
219 }; 215 };
220 216
221 base::TimeDelta getTime() { 217 base::TimeDelta getTime() {
222 return ui::EventTimeForNow(); 218 return ui::EventTimeForNow();
223 } 219 }
224 220
225 class SelfEventHandlingWindowDelegate : public TestWindowDelegate { 221 class SelfEventHandlingWindowDelegate : public TestWindowDelegate {
226 public: 222 public:
227 SelfEventHandlingWindowDelegate() {} 223 SelfEventHandlingWindowDelegate() {}
228 224
229 virtual bool ShouldDescendIntoChildForEventHandling( 225 bool ShouldDescendIntoChildForEventHandling(
230 Window* child, 226 Window* child,
231 const gfx::Point& location) override { 227 const gfx::Point& location) override {
232 return false; 228 return false;
233 } 229 }
234 230
235 private: 231 private:
236 DISALLOW_COPY_AND_ASSIGN(SelfEventHandlingWindowDelegate); 232 DISALLOW_COPY_AND_ASSIGN(SelfEventHandlingWindowDelegate);
237 }; 233 };
238 234
239 // The delegate deletes itself when the window is being destroyed. 235 // The delegate deletes itself when the window is being destroyed.
240 class DestroyWindowDelegate : public TestWindowDelegate { 236 class DestroyWindowDelegate : public TestWindowDelegate {
241 public: 237 public:
242 DestroyWindowDelegate() {} 238 DestroyWindowDelegate() {}
243 239
244 private: 240 private:
245 virtual ~DestroyWindowDelegate() {} 241 ~DestroyWindowDelegate() override {}
246 242
247 // Overridden from WindowDelegate. 243 // Overridden from WindowDelegate.
248 virtual void OnWindowDestroyed(Window* window) override { 244 void OnWindowDestroyed(Window* window) override { delete this; }
249 delete this;
250 }
251 245
252 DISALLOW_COPY_AND_ASSIGN(DestroyWindowDelegate); 246 DISALLOW_COPY_AND_ASSIGN(DestroyWindowDelegate);
253 }; 247 };
254 248
255 } // namespace 249 } // namespace
256 250
257 TEST_F(WindowTest, GetChildById) { 251 TEST_F(WindowTest, GetChildById) {
258 scoped_ptr<Window> w1(CreateTestWindowWithId(1, root_window())); 252 scoped_ptr<Window> w1(CreateTestWindowWithId(1, root_window()));
259 scoped_ptr<Window> w11(CreateTestWindowWithId(11, w1.get())); 253 scoped_ptr<Window> w11(CreateTestWindowWithId(11, w1.get()));
260 scoped_ptr<Window> w111(CreateTestWindowWithId(111, w11.get())); 254 scoped_ptr<Window> w111(CreateTestWindowWithId(111, w11.get()));
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 EXPECT_TRUE(w1->GetToplevelWindow() == NULL); 563 EXPECT_TRUE(w1->GetToplevelWindow() == NULL);
570 EXPECT_EQ(w11.get(), w11->GetToplevelWindow()); 564 EXPECT_EQ(w11.get(), w11->GetToplevelWindow());
571 EXPECT_EQ(w11.get(), w111->GetToplevelWindow()); 565 EXPECT_EQ(w11.get(), w111->GetToplevelWindow());
572 EXPECT_EQ(w11.get(), w1111->GetToplevelWindow()); 566 EXPECT_EQ(w11.get(), w1111->GetToplevelWindow());
573 } 567 }
574 568
575 class AddedToRootWindowObserver : public WindowObserver { 569 class AddedToRootWindowObserver : public WindowObserver {
576 public: 570 public:
577 AddedToRootWindowObserver() : called_(false) {} 571 AddedToRootWindowObserver() : called_(false) {}
578 572
579 virtual void OnWindowAddedToRootWindow(Window* window) override { 573 void OnWindowAddedToRootWindow(Window* window) override { called_ = true; }
580 called_ = true;
581 }
582 574
583 bool called() const { return called_; } 575 bool called() const { return called_; }
584 576
585 private: 577 private:
586 bool called_; 578 bool called_;
587 579
588 DISALLOW_COPY_AND_ASSIGN(AddedToRootWindowObserver); 580 DISALLOW_COPY_AND_ASSIGN(AddedToRootWindowObserver);
589 }; 581 };
590 582
591 TEST_F(WindowTest, WindowAddedToRootWindowShouldNotifyChildAndNotParent) { 583 TEST_F(WindowTest, WindowAddedToRootWindowShouldNotifyChildAndNotParent) {
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 // The |child| window is moved to the 0,0 in screen coordinates. 1072 // The |child| window is moved to the 0,0 in screen coordinates.
1081 // |GetBoundsInRootWindow()| should return 0,0. 1073 // |GetBoundsInRootWindow()| should return 0,0.
1082 child->SetBounds(gfx::Rect(100, 100, 100, 100)); 1074 child->SetBounds(gfx::Rect(100, 100, 100, 100));
1083 EXPECT_EQ("0,0 100x100", child->GetBoundsInRootWindow().ToString()); 1075 EXPECT_EQ("0,0 100x100", child->GetBoundsInRootWindow().ToString());
1084 } 1076 }
1085 1077
1086 class MouseEnterExitWindowDelegate : public TestWindowDelegate { 1078 class MouseEnterExitWindowDelegate : public TestWindowDelegate {
1087 public: 1079 public:
1088 MouseEnterExitWindowDelegate() : entered_(false), exited_(false) {} 1080 MouseEnterExitWindowDelegate() : entered_(false), exited_(false) {}
1089 1081
1090 virtual void OnMouseEvent(ui::MouseEvent* event) override { 1082 void OnMouseEvent(ui::MouseEvent* event) override {
1091 switch (event->type()) { 1083 switch (event->type()) {
1092 case ui::ET_MOUSE_ENTERED: 1084 case ui::ET_MOUSE_ENTERED:
1093 EXPECT_TRUE(event->flags() & ui::EF_IS_SYNTHESIZED); 1085 EXPECT_TRUE(event->flags() & ui::EF_IS_SYNTHESIZED);
1094 entered_ = true; 1086 entered_ = true;
1095 break; 1087 break;
1096 case ui::ET_MOUSE_EXITED: 1088 case ui::ET_MOUSE_EXITED:
1097 EXPECT_TRUE(event->flags() & ui::EF_IS_SYNTHESIZED); 1089 EXPECT_TRUE(event->flags() & ui::EF_IS_SYNTHESIZED);
1098 exited_ = true; 1090 exited_ = true;
1099 break; 1091 break;
1100 default: 1092 default:
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
1365 hidden_(0) { 1357 hidden_(0) {
1366 } 1358 }
1367 1359
1368 int shown() const { return shown_; } 1360 int shown() const { return shown_; }
1369 int hidden() const { return hidden_; } 1361 int hidden() const { return hidden_; }
1370 void Clear() { 1362 void Clear() {
1371 shown_ = 0; 1363 shown_ = 0;
1372 hidden_ = 0; 1364 hidden_ = 0;
1373 } 1365 }
1374 1366
1375 virtual void OnWindowTargetVisibilityChanged(bool visible) override { 1367 void OnWindowTargetVisibilityChanged(bool visible) override {
1376 if (visible) 1368 if (visible)
1377 shown_++; 1369 shown_++;
1378 else 1370 else
1379 hidden_++; 1371 hidden_++;
1380 } 1372 }
1381 1373
1382 private: 1374 private:
1383 int shown_; 1375 int shown_;
1384 int hidden_; 1376 int hidden_;
1385 1377
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
1668 int changed_count; 1660 int changed_count;
1669 }; 1661 };
1670 1662
1671 WindowObserverTest() 1663 WindowObserverTest()
1672 : added_count_(0), 1664 : added_count_(0),
1673 removed_count_(0), 1665 removed_count_(0),
1674 destroyed_count_(0), 1666 destroyed_count_(0),
1675 old_property_value_(-3) { 1667 old_property_value_(-3) {
1676 } 1668 }
1677 1669
1678 virtual ~WindowObserverTest() {} 1670 ~WindowObserverTest() override {}
1679 1671
1680 const VisibilityInfo* GetVisibilityInfo() const { 1672 const VisibilityInfo* GetVisibilityInfo() const {
1681 return visibility_info_.get(); 1673 return visibility_info_.get();
1682 } 1674 }
1683 1675
1684 void ResetVisibilityInfo() { 1676 void ResetVisibilityInfo() {
1685 visibility_info_.reset(); 1677 visibility_info_.reset();
1686 } 1678 }
1687 1679
1688 // Returns a description of the WindowObserver methods that have been invoked. 1680 // Returns a description of the WindowObserver methods that have been invoked.
(...skipping 25 matching lines...) Expand all
1714 transform_notifications_.begin(); 1706 transform_notifications_.begin();
1715 it != transform_notifications_.end(); 1707 it != transform_notifications_.end();
1716 ++it) { 1708 ++it) {
1717 base::StringAppendF(&result, "(%d,%d)", it->first, it->second); 1709 base::StringAppendF(&result, "(%d,%d)", it->first, it->second);
1718 } 1710 }
1719 transform_notifications_.clear(); 1711 transform_notifications_.clear();
1720 return result; 1712 return result;
1721 } 1713 }
1722 1714
1723 private: 1715 private:
1724 virtual void OnWindowAdded(Window* new_window) override { 1716 void OnWindowAdded(Window* new_window) override { added_count_++; }
1725 added_count_++;
1726 }
1727 1717
1728 virtual void OnWillRemoveWindow(Window* window) override { 1718 void OnWillRemoveWindow(Window* window) override { removed_count_++; }
1729 removed_count_++;
1730 }
1731 1719
1732 virtual void OnWindowVisibilityChanged(Window* window, 1720 void OnWindowVisibilityChanged(Window* window, bool visible) override {
1733 bool visible) override {
1734 if (!visibility_info_) { 1721 if (!visibility_info_) {
1735 visibility_info_.reset(new VisibilityInfo); 1722 visibility_info_.reset(new VisibilityInfo);
1736 visibility_info_->changed_count = 0; 1723 visibility_info_->changed_count = 0;
1737 } 1724 }
1738 visibility_info_->window_visible = window->IsVisible(); 1725 visibility_info_->window_visible = window->IsVisible();
1739 visibility_info_->visible_param = visible; 1726 visibility_info_->visible_param = visible;
1740 visibility_info_->changed_count++; 1727 visibility_info_->changed_count++;
1741 } 1728 }
1742 1729
1743 virtual void OnWindowDestroyed(Window* window) override { 1730 void OnWindowDestroyed(Window* window) override {
1744 EXPECT_FALSE(window->parent()); 1731 EXPECT_FALSE(window->parent());
1745 destroyed_count_++; 1732 destroyed_count_++;
1746 } 1733 }
1747 1734
1748 virtual void OnWindowPropertyChanged(Window* window, 1735 void OnWindowPropertyChanged(Window* window,
1749 const void* key, 1736 const void* key,
1750 intptr_t old) override { 1737 intptr_t old) override {
1751 property_key_ = key; 1738 property_key_ = key;
1752 old_property_value_ = old; 1739 old_property_value_ = old;
1753 } 1740 }
1754 1741
1755 virtual void OnAncestorWindowTransformed(Window* source, 1742 void OnAncestorWindowTransformed(Window* source, Window* window) override {
1756 Window* window) override {
1757 transform_notifications_.push_back( 1743 transform_notifications_.push_back(
1758 std::make_pair(source->id(), window->id())); 1744 std::make_pair(source->id(), window->id()));
1759 } 1745 }
1760 1746
1761 int added_count_; 1747 int added_count_;
1762 int removed_count_; 1748 int removed_count_;
1763 int destroyed_count_; 1749 int destroyed_count_;
1764 scoped_ptr<VisibilityInfo> visibility_info_; 1750 scoped_ptr<VisibilityInfo> visibility_info_;
1765 const void* property_key_; 1751 const void* property_key_;
1766 intptr_t old_property_value_; 1752 intptr_t old_property_value_;
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
2027 EXPECT_EQ("3 1 2", 2013 EXPECT_EQ("3 1 2",
2028 ui::test::ChildLayerNamesAsString(*root_window()->layer())); 2014 ui::test::ChildLayerNamesAsString(*root_window()->layer()));
2029 } 2015 }
2030 2016
2031 class TestVisibilityClient : public client::VisibilityClient { 2017 class TestVisibilityClient : public client::VisibilityClient {
2032 public: 2018 public:
2033 explicit TestVisibilityClient(Window* root_window) 2019 explicit TestVisibilityClient(Window* root_window)
2034 : ignore_visibility_changes_(false) { 2020 : ignore_visibility_changes_(false) {
2035 client::SetVisibilityClient(root_window, this); 2021 client::SetVisibilityClient(root_window, this);
2036 } 2022 }
2037 virtual ~TestVisibilityClient() { 2023 ~TestVisibilityClient() override {}
2038 }
2039 2024
2040 void set_ignore_visibility_changes(bool ignore_visibility_changes) { 2025 void set_ignore_visibility_changes(bool ignore_visibility_changes) {
2041 ignore_visibility_changes_ = ignore_visibility_changes; 2026 ignore_visibility_changes_ = ignore_visibility_changes;
2042 } 2027 }
2043 2028
2044 // Overridden from client::VisibilityClient: 2029 // Overridden from client::VisibilityClient:
2045 virtual void UpdateLayerVisibility(aura::Window* window, 2030 void UpdateLayerVisibility(aura::Window* window, bool visible) override {
2046 bool visible) override {
2047 if (!ignore_visibility_changes_) 2031 if (!ignore_visibility_changes_)
2048 window->layer()->SetVisible(visible); 2032 window->layer()->SetVisible(visible);
2049 } 2033 }
2050 2034
2051 private: 2035 private:
2052 bool ignore_visibility_changes_; 2036 bool ignore_visibility_changes_;
2053 DISALLOW_COPY_AND_ASSIGN(TestVisibilityClient); 2037 DISALLOW_COPY_AND_ASSIGN(TestVisibilityClient);
2054 }; 2038 };
2055 2039
2056 TEST_F(WindowTest, VisibilityClientIsVisible) { 2040 TEST_F(WindowTest, VisibilityClientIsVisible) {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
2161 // Closing windows 2145 // Closing windows
2162 w11.reset(); 2146 w11.reset();
2163 RunAllPendingInMessageLoop(); 2147 RunAllPendingInMessageLoop();
2164 EXPECT_EQ("0 0 0", d1.GetMouseMotionCountsAndReset()); 2148 EXPECT_EQ("0 0 0", d1.GetMouseMotionCountsAndReset());
2165 EXPECT_EQ("0 0 0", d11.GetMouseMotionCountsAndReset()); 2149 EXPECT_EQ("0 0 0", d11.GetMouseMotionCountsAndReset());
2166 } 2150 }
2167 2151
2168 class RootWindowAttachmentObserver : public WindowObserver { 2152 class RootWindowAttachmentObserver : public WindowObserver {
2169 public: 2153 public:
2170 RootWindowAttachmentObserver() : added_count_(0), removed_count_(0) {} 2154 RootWindowAttachmentObserver() : added_count_(0), removed_count_(0) {}
2171 virtual ~RootWindowAttachmentObserver() {} 2155 ~RootWindowAttachmentObserver() override {}
2172 2156
2173 int added_count() const { return added_count_; } 2157 int added_count() const { return added_count_; }
2174 int removed_count() const { return removed_count_; } 2158 int removed_count() const { return removed_count_; }
2175 2159
2176 void Clear() { 2160 void Clear() {
2177 added_count_ = 0; 2161 added_count_ = 0;
2178 removed_count_ = 0; 2162 removed_count_ = 0;
2179 } 2163 }
2180 2164
2181 // Overridden from WindowObserver: 2165 // Overridden from WindowObserver:
2182 virtual void OnWindowAddedToRootWindow(Window* window) override { 2166 void OnWindowAddedToRootWindow(Window* window) override { ++added_count_; }
2183 ++added_count_; 2167 void OnWindowRemovingFromRootWindow(Window* window,
2184 } 2168 Window* new_root) override {
2185 virtual void OnWindowRemovingFromRootWindow(Window* window,
2186 Window* new_root) override {
2187 ++removed_count_; 2169 ++removed_count_;
2188 } 2170 }
2189 2171
2190 private: 2172 private:
2191 int added_count_; 2173 int added_count_;
2192 int removed_count_; 2174 int removed_count_;
2193 2175
2194 DISALLOW_COPY_AND_ASSIGN(RootWindowAttachmentObserver); 2176 DISALLOW_COPY_AND_ASSIGN(RootWindowAttachmentObserver);
2195 }; 2177 };
2196 2178
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
2256 w11 = NULL; 2238 w11 = NULL;
2257 w111 = NULL; 2239 w111 = NULL;
2258 EXPECT_EQ(2, observer.added_count()); 2240 EXPECT_EQ(2, observer.added_count());
2259 EXPECT_EQ(2, observer.removed_count()); 2241 EXPECT_EQ(2, observer.removed_count());
2260 } 2242 }
2261 2243
2262 class BoundsChangedWindowObserver : public WindowObserver { 2244 class BoundsChangedWindowObserver : public WindowObserver {
2263 public: 2245 public:
2264 BoundsChangedWindowObserver() : root_set_(false) {} 2246 BoundsChangedWindowObserver() : root_set_(false) {}
2265 2247
2266 virtual void OnWindowBoundsChanged(Window* window, 2248 void OnWindowBoundsChanged(Window* window,
2267 const gfx::Rect& old_bounds, 2249 const gfx::Rect& old_bounds,
2268 const gfx::Rect& new_bounds) override { 2250 const gfx::Rect& new_bounds) override {
2269 root_set_ = window->GetRootWindow() != NULL; 2251 root_set_ = window->GetRootWindow() != NULL;
2270 } 2252 }
2271 2253
2272 bool root_set() const { return root_set_; } 2254 bool root_set() const { return root_set_; }
2273 2255
2274 private: 2256 private:
2275 bool root_set_; 2257 bool root_set_;
2276 2258
2277 DISALLOW_COPY_AND_ASSIGN(BoundsChangedWindowObserver); 2259 DISALLOW_COPY_AND_ASSIGN(BoundsChangedWindowObserver);
2278 }; 2260 };
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
2337 // Used By DeleteWindowFromOnWindowDestroyed. Destroys a Window from 2319 // Used By DeleteWindowFromOnWindowDestroyed. Destroys a Window from
2338 // OnWindowDestroyed(). 2320 // OnWindowDestroyed().
2339 class OwningWindowDelegate : public TestWindowDelegate { 2321 class OwningWindowDelegate : public TestWindowDelegate {
2340 public: 2322 public:
2341 OwningWindowDelegate() {} 2323 OwningWindowDelegate() {}
2342 2324
2343 void SetOwnedWindow(Window* window) { 2325 void SetOwnedWindow(Window* window) {
2344 owned_window_.reset(window); 2326 owned_window_.reset(window);
2345 } 2327 }
2346 2328
2347 virtual void OnWindowDestroyed(Window* window) override { 2329 void OnWindowDestroyed(Window* window) override { owned_window_.reset(NULL); }
2348 owned_window_.reset(NULL);
2349 }
2350 2330
2351 private: 2331 private:
2352 scoped_ptr<Window> owned_window_; 2332 scoped_ptr<Window> owned_window_;
2353 2333
2354 DISALLOW_COPY_AND_ASSIGN(OwningWindowDelegate); 2334 DISALLOW_COPY_AND_ASSIGN(OwningWindowDelegate);
2355 }; 2335 };
2356 2336
2357 } // namespace 2337 } // namespace
2358 2338
2359 // Creates a window with two child windows. When the first child window is 2339 // Creates a window with two child windows. When the first child window is
(...skipping 22 matching lines...) Expand all
2382 class BoundsChangeDelegate : public TestWindowDelegate { 2362 class BoundsChangeDelegate : public TestWindowDelegate {
2383 public: 2363 public:
2384 BoundsChangeDelegate() : bounds_changed_(false) {} 2364 BoundsChangeDelegate() : bounds_changed_(false) {}
2385 2365
2386 void clear_bounds_changed() { bounds_changed_ = false; } 2366 void clear_bounds_changed() { bounds_changed_ = false; }
2387 bool bounds_changed() const { 2367 bool bounds_changed() const {
2388 return bounds_changed_; 2368 return bounds_changed_;
2389 } 2369 }
2390 2370
2391 // Window 2371 // Window
2392 virtual void OnBoundsChanged(const gfx::Rect& old_bounds, 2372 void OnBoundsChanged(const gfx::Rect& old_bounds,
2393 const gfx::Rect& new_bounds) override { 2373 const gfx::Rect& new_bounds) override {
2394 bounds_changed_ = true; 2374 bounds_changed_ = true;
2395 } 2375 }
2396 2376
2397 private: 2377 private:
2398 // Was OnBoundsChanged() invoked? 2378 // Was OnBoundsChanged() invoked?
2399 bool bounds_changed_; 2379 bool bounds_changed_;
2400 2380
2401 DISALLOW_COPY_AND_ASSIGN(BoundsChangeDelegate); 2381 DISALLOW_COPY_AND_ASSIGN(BoundsChangeDelegate);
2402 }; 2382 };
2403 2383
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
2491 AddChildNotificationsObserver() : added_count_(0), removed_count_(0) {} 2471 AddChildNotificationsObserver() : added_count_(0), removed_count_(0) {}
2492 2472
2493 std::string CountStringAndReset() { 2473 std::string CountStringAndReset() {
2494 std::string result = base::IntToString(added_count_) + " " + 2474 std::string result = base::IntToString(added_count_) + " " +
2495 base::IntToString(removed_count_); 2475 base::IntToString(removed_count_);
2496 added_count_ = removed_count_ = 0; 2476 added_count_ = removed_count_ = 0;
2497 return result; 2477 return result;
2498 } 2478 }
2499 2479
2500 // WindowObserver overrides: 2480 // WindowObserver overrides:
2501 virtual void OnWindowAddedToRootWindow(Window* window) override { 2481 void OnWindowAddedToRootWindow(Window* window) override { added_count_++; }
2502 added_count_++; 2482 void OnWindowRemovingFromRootWindow(Window* window,
2503 } 2483 Window* new_root) override {
2504 virtual void OnWindowRemovingFromRootWindow(Window* window,
2505 Window* new_root) override {
2506 removed_count_++; 2484 removed_count_++;
2507 } 2485 }
2508 2486
2509 private: 2487 private:
2510 int added_count_; 2488 int added_count_;
2511 int removed_count_; 2489 int removed_count_;
2512 2490
2513 DISALLOW_COPY_AND_ASSIGN(AddChildNotificationsObserver); 2491 DISALLOW_COPY_AND_ASSIGN(AddChildNotificationsObserver);
2514 }; 2492 };
2515 2493
(...skipping 24 matching lines...) Expand all
2540 0, 2518 0,
2541 gfx::Rect(10, 20, 30, 40), 2519 gfx::Rect(10, 20, 30, 40),
2542 root_window())); 2520 root_window()));
2543 } 2521 }
2544 2522
2545 class HierarchyObserver : public WindowObserver { 2523 class HierarchyObserver : public WindowObserver {
2546 public: 2524 public:
2547 HierarchyObserver(Window* target) : target_(target) { 2525 HierarchyObserver(Window* target) : target_(target) {
2548 target_->AddObserver(this); 2526 target_->AddObserver(this);
2549 } 2527 }
2550 virtual ~HierarchyObserver() { 2528 ~HierarchyObserver() override { target_->RemoveObserver(this); }
2551 target_->RemoveObserver(this);
2552 }
2553 2529
2554 void ValidateState( 2530 void ValidateState(
2555 int index, 2531 int index,
2556 const WindowObserver::HierarchyChangeParams& params) const { 2532 const WindowObserver::HierarchyChangeParams& params) const {
2557 ParamsMatch(params_[index], params); 2533 ParamsMatch(params_[index], params);
2558 } 2534 }
2559 2535
2560 void Reset() { 2536 void Reset() {
2561 params_.clear(); 2537 params_.clear();
2562 } 2538 }
2563 2539
2564 private: 2540 private:
2565 // Overridden from WindowObserver: 2541 // Overridden from WindowObserver:
2566 virtual void OnWindowHierarchyChanging( 2542 void OnWindowHierarchyChanging(const HierarchyChangeParams& params) override {
2567 const HierarchyChangeParams& params) override {
2568 params_.push_back(params); 2543 params_.push_back(params);
2569 } 2544 }
2570 virtual void OnWindowHierarchyChanged( 2545 void OnWindowHierarchyChanged(const HierarchyChangeParams& params) override {
2571 const HierarchyChangeParams& params) override {
2572 params_.push_back(params); 2546 params_.push_back(params);
2573 } 2547 }
2574 2548
2575 void ParamsMatch(const WindowObserver::HierarchyChangeParams& p1, 2549 void ParamsMatch(const WindowObserver::HierarchyChangeParams& p1,
2576 const WindowObserver::HierarchyChangeParams& p2) const { 2550 const WindowObserver::HierarchyChangeParams& p2) const {
2577 EXPECT_EQ(p1.phase, p2.phase); 2551 EXPECT_EQ(p1.phase, p2.phase);
2578 EXPECT_EQ(p1.target, p2.target); 2552 EXPECT_EQ(p1.target, p2.target);
2579 EXPECT_EQ(p1.new_parent, p2.new_parent); 2553 EXPECT_EQ(p1.new_parent, p2.new_parent);
2580 EXPECT_EQ(p1.old_parent, p2.old_parent); 2554 EXPECT_EQ(p1.old_parent, p2.old_parent);
2581 EXPECT_EQ(p1.receiver, p2.receiver); 2555 EXPECT_EQ(p1.receiver, p2.receiver);
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
2928 delete w1ll; 2902 delete w1ll;
2929 } 2903 }
2930 2904
2931 namespace { 2905 namespace {
2932 2906
2933 // Tracks the number of times paint is invoked along with what the clip and 2907 // Tracks the number of times paint is invoked along with what the clip and
2934 // translate was. 2908 // translate was.
2935 class PaintWindowDelegate : public TestWindowDelegate { 2909 class PaintWindowDelegate : public TestWindowDelegate {
2936 public: 2910 public:
2937 PaintWindowDelegate() : paint_count_(0) {} 2911 PaintWindowDelegate() : paint_count_(0) {}
2938 virtual ~PaintWindowDelegate() {} 2912 ~PaintWindowDelegate() override {}
2939 2913
2940 const gfx::Rect& most_recent_paint_clip_bounds() const { 2914 const gfx::Rect& most_recent_paint_clip_bounds() const {
2941 return most_recent_paint_clip_bounds_; 2915 return most_recent_paint_clip_bounds_;
2942 } 2916 }
2943 2917
2944 const gfx::Vector2d& most_recent_paint_matrix_offset() const { 2918 const gfx::Vector2d& most_recent_paint_matrix_offset() const {
2945 return most_recent_paint_matrix_offset_; 2919 return most_recent_paint_matrix_offset_;
2946 } 2920 }
2947 2921
2948 void clear_paint_count() { paint_count_ = 0; } 2922 void clear_paint_count() { paint_count_ = 0; }
2949 int paint_count() const { return paint_count_; } 2923 int paint_count() const { return paint_count_; }
2950 2924
2951 // TestWindowDelegate:: 2925 // TestWindowDelegate::
2952 virtual void OnPaint(gfx::Canvas* canvas) override { 2926 void OnPaint(gfx::Canvas* canvas) override {
2953 paint_count_++; 2927 paint_count_++;
2954 canvas->GetClipBounds(&most_recent_paint_clip_bounds_); 2928 canvas->GetClipBounds(&most_recent_paint_clip_bounds_);
2955 const SkMatrix& matrix = canvas->sk_canvas()->getTotalMatrix(); 2929 const SkMatrix& matrix = canvas->sk_canvas()->getTotalMatrix();
2956 most_recent_paint_matrix_offset_ = gfx::Vector2d( 2930 most_recent_paint_matrix_offset_ = gfx::Vector2d(
2957 SkScalarFloorToInt(matrix.getTranslateX()), 2931 SkScalarFloorToInt(matrix.getTranslateX()),
2958 SkScalarFloorToInt(matrix.getTranslateY())); 2932 SkScalarFloorToInt(matrix.getTranslateY()));
2959 } 2933 }
2960 2934
2961 private: 2935 private:
2962 int paint_count_; 2936 int paint_count_;
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
3405 } 3379 }
3406 } 3380 }
3407 3381
3408 namespace { 3382 namespace {
3409 3383
3410 class TestLayerAnimationObserver : public ui::LayerAnimationObserver { 3384 class TestLayerAnimationObserver : public ui::LayerAnimationObserver {
3411 public: 3385 public:
3412 TestLayerAnimationObserver() 3386 TestLayerAnimationObserver()
3413 : animation_completed_(false), 3387 : animation_completed_(false),
3414 animation_aborted_(false) {} 3388 animation_aborted_(false) {}
3415 virtual ~TestLayerAnimationObserver() {} 3389 ~TestLayerAnimationObserver() override {}
3416 3390
3417 bool animation_completed() const { return animation_completed_; } 3391 bool animation_completed() const { return animation_completed_; }
3418 bool animation_aborted() const { return animation_aborted_; } 3392 bool animation_aborted() const { return animation_aborted_; }
3419 3393
3420 void Reset() { 3394 void Reset() {
3421 animation_completed_ = false; 3395 animation_completed_ = false;
3422 animation_aborted_ = false; 3396 animation_aborted_ = false;
3423 } 3397 }
3424 3398
3425 private: 3399 private:
3426 // ui::LayerAnimationObserver: 3400 // ui::LayerAnimationObserver:
3427 virtual void OnLayerAnimationEnded( 3401 void OnLayerAnimationEnded(ui::LayerAnimationSequence* sequence) override {
3428 ui::LayerAnimationSequence* sequence) override {
3429 animation_completed_ = true; 3402 animation_completed_ = true;
3430 } 3403 }
3431 3404
3432 virtual void OnLayerAnimationAborted( 3405 void OnLayerAnimationAborted(ui::LayerAnimationSequence* sequence) override {
3433 ui::LayerAnimationSequence* sequence) override {
3434 animation_aborted_ = true; 3406 animation_aborted_ = true;
3435 } 3407 }
3436 3408
3437 virtual void OnLayerAnimationScheduled( 3409 void OnLayerAnimationScheduled(
3438 ui::LayerAnimationSequence* sequence) override { 3410 ui::LayerAnimationSequence* sequence) override {}
3439 }
3440 3411
3441 bool animation_completed_; 3412 bool animation_completed_;
3442 bool animation_aborted_; 3413 bool animation_aborted_;
3443 3414
3444 DISALLOW_COPY_AND_ASSIGN(TestLayerAnimationObserver); 3415 DISALLOW_COPY_AND_ASSIGN(TestLayerAnimationObserver);
3445 }; 3416 };
3446 3417
3447 } 3418 }
3448 3419
3449 TEST_F(WindowTest, WindowDestroyCompletesAnimations) { 3420 TEST_F(WindowTest, WindowDestroyCompletesAnimations) {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
3490 3461
3491 EXPECT_TRUE(animator.get()); 3462 EXPECT_TRUE(animator.get());
3492 EXPECT_FALSE(animator->is_animating()); 3463 EXPECT_FALSE(animator->is_animating());
3493 EXPECT_TRUE(observer.animation_completed()); 3464 EXPECT_TRUE(observer.animation_completed());
3494 EXPECT_FALSE(observer.animation_aborted()); 3465 EXPECT_FALSE(observer.animation_aborted());
3495 animator->RemoveObserver(&observer); 3466 animator->RemoveObserver(&observer);
3496 } 3467 }
3497 3468
3498 } // namespace test 3469 } // namespace test
3499 } // namespace aura 3470 } // namespace aura
OLDNEW
« no previous file with comments | « ui/aura/window_tree_host_x11.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698