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

Side by Side Diff: ui/views/widget/widget_unittest.cc

Issue 686493002: 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/views/widget/widget_interactive_uitest.cc ('k') | ui/views/widget/window_reorderer.h » ('j') | 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 <algorithm> 5 #include <algorithm>
6 #include <set> 6 #include <set>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 // event sequence, such as a drag. 60 // event sequence, such as a drag.
61 enum HandleMode { 61 enum HandleMode {
62 PROPAGATE_EVENTS, 62 PROPAGATE_EVENTS,
63 CONSUME_EVENTS 63 CONSUME_EVENTS
64 }; 64 };
65 65
66 EventCountView() 66 EventCountView()
67 : last_flags_(0), 67 : last_flags_(0),
68 handle_mode_(PROPAGATE_EVENTS) {} 68 handle_mode_(PROPAGATE_EVENTS) {}
69 69
70 virtual ~EventCountView() {} 70 ~EventCountView() override {}
71 71
72 int GetEventCount(ui::EventType type) { 72 int GetEventCount(ui::EventType type) {
73 return event_count_[type]; 73 return event_count_[type];
74 } 74 }
75 75
76 void ResetCounts() { 76 void ResetCounts() {
77 event_count_.clear(); 77 event_count_.clear();
78 } 78 }
79 79
80 int last_flags() const { 80 int last_flags() const {
81 return last_flags_; 81 return last_flags_;
82 } 82 }
83 83
84 void set_handle_mode(HandleMode handle_mode) { 84 void set_handle_mode(HandleMode handle_mode) {
85 handle_mode_ = handle_mode; 85 handle_mode_ = handle_mode;
86 } 86 }
87 87
88 protected: 88 protected:
89 // Overridden from View: 89 // Overridden from View:
90 virtual void OnMouseMoved(const ui::MouseEvent& event) override { 90 void OnMouseMoved(const ui::MouseEvent& event) override {
91 // MouseMove events are not re-dispatched from the RootView. 91 // MouseMove events are not re-dispatched from the RootView.
92 ++event_count_[ui::ET_MOUSE_MOVED]; 92 ++event_count_[ui::ET_MOUSE_MOVED];
93 last_flags_ = 0; 93 last_flags_ = 0;
94 } 94 }
95 95
96 // Overridden from ui::EventHandler: 96 // Overridden from ui::EventHandler:
97 virtual void OnKeyEvent(ui::KeyEvent* event) override { 97 void OnKeyEvent(ui::KeyEvent* event) override { RecordEvent(event); }
98 RecordEvent(event); 98 void OnMouseEvent(ui::MouseEvent* event) override { RecordEvent(event); }
99 } 99 void OnScrollEvent(ui::ScrollEvent* event) override { RecordEvent(event); }
100 virtual void OnMouseEvent(ui::MouseEvent* event) override { 100 void OnGestureEvent(ui::GestureEvent* event) override { RecordEvent(event); }
101 RecordEvent(event);
102 }
103 virtual void OnScrollEvent(ui::ScrollEvent* event) override {
104 RecordEvent(event);
105 }
106 virtual void OnGestureEvent(ui::GestureEvent* event) override {
107 RecordEvent(event);
108 }
109 101
110 private: 102 private:
111 void RecordEvent(ui::Event* event) { 103 void RecordEvent(ui::Event* event) {
112 ++event_count_[event->type()]; 104 ++event_count_[event->type()];
113 last_flags_ = event->flags(); 105 last_flags_ = event->flags();
114 if (handle_mode_ == CONSUME_EVENTS) 106 if (handle_mode_ == CONSUME_EVENTS)
115 event->SetHandled(); 107 event->SetHandled();
116 } 108 }
117 109
118 std::map<ui::EventType, int> event_count_; 110 std::map<ui::EventType, int> event_count_;
119 int last_flags_; 111 int last_flags_;
120 HandleMode handle_mode_; 112 HandleMode handle_mode_;
121 113
122 DISALLOW_COPY_AND_ASSIGN(EventCountView); 114 DISALLOW_COPY_AND_ASSIGN(EventCountView);
123 }; 115 };
124 116
125 // A view that keeps track of the events it receives, and consumes all scroll 117 // A view that keeps track of the events it receives, and consumes all scroll
126 // gesture events and ui::ET_SCROLL events. 118 // gesture events and ui::ET_SCROLL events.
127 class ScrollableEventCountView : public EventCountView { 119 class ScrollableEventCountView : public EventCountView {
128 public: 120 public:
129 ScrollableEventCountView() {} 121 ScrollableEventCountView() {}
130 virtual ~ScrollableEventCountView() {} 122 ~ScrollableEventCountView() override {}
131 123
132 private: 124 private:
133 // Overridden from ui::EventHandler: 125 // Overridden from ui::EventHandler:
134 virtual void OnGestureEvent(ui::GestureEvent* event) override { 126 void OnGestureEvent(ui::GestureEvent* event) override {
135 EventCountView::OnGestureEvent(event); 127 EventCountView::OnGestureEvent(event);
136 switch (event->type()) { 128 switch (event->type()) {
137 case ui::ET_GESTURE_SCROLL_BEGIN: 129 case ui::ET_GESTURE_SCROLL_BEGIN:
138 case ui::ET_GESTURE_SCROLL_UPDATE: 130 case ui::ET_GESTURE_SCROLL_UPDATE:
139 case ui::ET_GESTURE_SCROLL_END: 131 case ui::ET_GESTURE_SCROLL_END:
140 case ui::ET_SCROLL_FLING_START: 132 case ui::ET_SCROLL_FLING_START:
141 event->SetHandled(); 133 event->SetHandled();
142 break; 134 break;
143 default: 135 default:
144 break; 136 break;
145 } 137 }
146 } 138 }
147 139
148 virtual void OnScrollEvent(ui::ScrollEvent* event) override { 140 void OnScrollEvent(ui::ScrollEvent* event) override {
149 EventCountView::OnScrollEvent(event); 141 EventCountView::OnScrollEvent(event);
150 if (event->type() == ui::ET_SCROLL) 142 if (event->type() == ui::ET_SCROLL)
151 event->SetHandled(); 143 event->SetHandled();
152 } 144 }
153 145
154 DISALLOW_COPY_AND_ASSIGN(ScrollableEventCountView); 146 DISALLOW_COPY_AND_ASSIGN(ScrollableEventCountView);
155 }; 147 };
156 148
157 // A view that implements GetMinimumSize. 149 // A view that implements GetMinimumSize.
158 class MinimumSizeFrameView : public NativeFrameView { 150 class MinimumSizeFrameView : public NativeFrameView {
159 public: 151 public:
160 explicit MinimumSizeFrameView(Widget* frame): NativeFrameView(frame) {} 152 explicit MinimumSizeFrameView(Widget* frame): NativeFrameView(frame) {}
161 virtual ~MinimumSizeFrameView() {} 153 ~MinimumSizeFrameView() override {}
162 154
163 private: 155 private:
164 // Overridden from View: 156 // Overridden from View:
165 virtual gfx::Size GetMinimumSize() const override { 157 gfx::Size GetMinimumSize() const override { return gfx::Size(300, 400); }
166 return gfx::Size(300, 400);
167 }
168 158
169 DISALLOW_COPY_AND_ASSIGN(MinimumSizeFrameView); 159 DISALLOW_COPY_AND_ASSIGN(MinimumSizeFrameView);
170 }; 160 };
171 161
172 // An event handler that simply keeps a count of the different types of events 162 // An event handler that simply keeps a count of the different types of events
173 // it receives. 163 // it receives.
174 class EventCountHandler : public ui::EventHandler { 164 class EventCountHandler : public ui::EventHandler {
175 public: 165 public:
176 EventCountHandler() {} 166 EventCountHandler() {}
177 virtual ~EventCountHandler() {} 167 ~EventCountHandler() override {}
178 168
179 int GetEventCount(ui::EventType type) { 169 int GetEventCount(ui::EventType type) {
180 return event_count_[type]; 170 return event_count_[type];
181 } 171 }
182 172
183 void ResetCounts() { 173 void ResetCounts() {
184 event_count_.clear(); 174 event_count_.clear();
185 } 175 }
186 176
187 protected: 177 protected:
188 // Overridden from ui::EventHandler: 178 // Overridden from ui::EventHandler:
189 virtual void OnEvent(ui::Event* event) override { 179 void OnEvent(ui::Event* event) override {
190 RecordEvent(*event); 180 RecordEvent(*event);
191 ui::EventHandler::OnEvent(event); 181 ui::EventHandler::OnEvent(event);
192 } 182 }
193 183
194 private: 184 private:
195 void RecordEvent(const ui::Event& event) { 185 void RecordEvent(const ui::Event& event) {
196 ++event_count_[event.type()]; 186 ++event_count_[event.type()];
197 } 187 }
198 188
199 std::map<ui::EventType, int> event_count_; 189 std::map<ui::EventType, int> event_count_;
200 190
201 DISALLOW_COPY_AND_ASSIGN(EventCountHandler); 191 DISALLOW_COPY_AND_ASSIGN(EventCountHandler);
202 }; 192 };
203 193
204 // Class that closes the widget (which ends up deleting it immediately) when the 194 // Class that closes the widget (which ends up deleting it immediately) when the
205 // appropriate event is received. 195 // appropriate event is received.
206 class CloseWidgetView : public View { 196 class CloseWidgetView : public View {
207 public: 197 public:
208 explicit CloseWidgetView(ui::EventType event_type) 198 explicit CloseWidgetView(ui::EventType event_type)
209 : event_type_(event_type) { 199 : event_type_(event_type) {
210 } 200 }
211 201
212 // ui::EventHandler override: 202 // ui::EventHandler override:
213 virtual void OnEvent(ui::Event* event) override { 203 void OnEvent(ui::Event* event) override {
214 if (event->type() == event_type_) { 204 if (event->type() == event_type_) {
215 // Go through NativeWidgetPrivate to simulate what happens if the OS 205 // Go through NativeWidgetPrivate to simulate what happens if the OS
216 // deletes the NativeWindow out from under us. 206 // deletes the NativeWindow out from under us.
217 GetWidget()->native_widget_private()->CloseNow(); 207 GetWidget()->native_widget_private()->CloseNow();
218 } else { 208 } else {
219 View::OnEvent(event); 209 View::OnEvent(event);
220 if (!event->IsTouchEvent()) 210 if (!event->IsTouchEvent())
221 event->SetHandled(); 211 event->SetHandled();
222 } 212 }
223 } 213 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 //////////////////////////////////////////////////////////////////////////////// 304 ////////////////////////////////////////////////////////////////////////////////
315 // Widget ownership tests. 305 // Widget ownership tests.
316 // 306 //
317 // Tests various permutations of Widget ownership specified in the 307 // Tests various permutations of Widget ownership specified in the
318 // InitParams::Ownership param. 308 // InitParams::Ownership param.
319 309
320 // A WidgetTest that supplies a toplevel widget for NativeWidget to parent to. 310 // A WidgetTest that supplies a toplevel widget for NativeWidget to parent to.
321 class WidgetOwnershipTest : public WidgetTest { 311 class WidgetOwnershipTest : public WidgetTest {
322 public: 312 public:
323 WidgetOwnershipTest() {} 313 WidgetOwnershipTest() {}
324 virtual ~WidgetOwnershipTest() {} 314 ~WidgetOwnershipTest() override {}
325 315
326 virtual void SetUp() { 316 void SetUp() override {
327 WidgetTest::SetUp(); 317 WidgetTest::SetUp();
328 desktop_widget_ = CreateTopLevelPlatformWidget(); 318 desktop_widget_ = CreateTopLevelPlatformWidget();
329 } 319 }
330 320
331 virtual void TearDown() { 321 void TearDown() override {
332 desktop_widget_->CloseNow(); 322 desktop_widget_->CloseNow();
333 WidgetTest::TearDown(); 323 WidgetTest::TearDown();
334 } 324 }
335 325
336 private: 326 private:
337 Widget* desktop_widget_; 327 Widget* desktop_widget_;
338 328
339 DISALLOW_COPY_AND_ASSIGN(WidgetOwnershipTest); 329 DISALLOW_COPY_AND_ASSIGN(WidgetOwnershipTest);
340 }; 330 };
341 331
342 // A bag of state to monitor destructions. 332 // A bag of state to monitor destructions.
343 struct OwnershipTestState { 333 struct OwnershipTestState {
344 OwnershipTestState() : widget_deleted(false), native_widget_deleted(false) {} 334 OwnershipTestState() : widget_deleted(false), native_widget_deleted(false) {}
345 335
346 bool widget_deleted; 336 bool widget_deleted;
347 bool native_widget_deleted; 337 bool native_widget_deleted;
348 }; 338 };
349 339
350 // A platform NativeWidget subclass that updates a bag of state when it is 340 // A platform NativeWidget subclass that updates a bag of state when it is
351 // destroyed. 341 // destroyed.
352 class OwnershipTestNativeWidget : public PlatformNativeWidget { 342 class OwnershipTestNativeWidget : public PlatformNativeWidget {
353 public: 343 public:
354 OwnershipTestNativeWidget(internal::NativeWidgetDelegate* delegate, 344 OwnershipTestNativeWidget(internal::NativeWidgetDelegate* delegate,
355 OwnershipTestState* state) 345 OwnershipTestState* state)
356 : PlatformNativeWidget(delegate), 346 : PlatformNativeWidget(delegate),
357 state_(state) { 347 state_(state) {
358 } 348 }
359 virtual ~OwnershipTestNativeWidget() { 349 ~OwnershipTestNativeWidget() override {
360 state_->native_widget_deleted = true; 350 state_->native_widget_deleted = true;
361 } 351 }
362 352
363 private: 353 private:
364 OwnershipTestState* state_; 354 OwnershipTestState* state_;
365 355
366 DISALLOW_COPY_AND_ASSIGN(OwnershipTestNativeWidget); 356 DISALLOW_COPY_AND_ASSIGN(OwnershipTestNativeWidget);
367 }; 357 };
368 358
369 // A views NativeWidget subclass that updates a bag of state when it is 359 // A views NativeWidget subclass that updates a bag of state when it is
370 // destroyed. 360 // destroyed.
371 class OwnershipTestNativeWidgetAura : public NativeWidgetCapture { 361 class OwnershipTestNativeWidgetAura : public NativeWidgetCapture {
372 public: 362 public:
373 OwnershipTestNativeWidgetAura(internal::NativeWidgetDelegate* delegate, 363 OwnershipTestNativeWidgetAura(internal::NativeWidgetDelegate* delegate,
374 OwnershipTestState* state) 364 OwnershipTestState* state)
375 : NativeWidgetCapture(delegate), 365 : NativeWidgetCapture(delegate),
376 state_(state) { 366 state_(state) {
377 } 367 }
378 virtual ~OwnershipTestNativeWidgetAura() { 368 ~OwnershipTestNativeWidgetAura() override {
379 state_->native_widget_deleted = true; 369 state_->native_widget_deleted = true;
380 } 370 }
381 371
382 private: 372 private:
383 OwnershipTestState* state_; 373 OwnershipTestState* state_;
384 374
385 DISALLOW_COPY_AND_ASSIGN(OwnershipTestNativeWidgetAura); 375 DISALLOW_COPY_AND_ASSIGN(OwnershipTestNativeWidgetAura);
386 }; 376 };
387 377
388 // A Widget subclass that updates a bag of state when it is destroyed. 378 // A Widget subclass that updates a bag of state when it is destroyed.
389 class OwnershipTestWidget : public Widget { 379 class OwnershipTestWidget : public Widget {
390 public: 380 public:
391 explicit OwnershipTestWidget(OwnershipTestState* state) : state_(state) {} 381 explicit OwnershipTestWidget(OwnershipTestState* state) : state_(state) {}
392 virtual ~OwnershipTestWidget() { 382 ~OwnershipTestWidget() override { state_->widget_deleted = true; }
393 state_->widget_deleted = true;
394 }
395 383
396 private: 384 private:
397 OwnershipTestState* state_; 385 OwnershipTestState* state_;
398 386
399 DISALLOW_COPY_AND_ASSIGN(OwnershipTestWidget); 387 DISALLOW_COPY_AND_ASSIGN(OwnershipTestWidget);
400 }; 388 };
401 389
402 // Widget owns its NativeWidget, part 1: NativeWidget is a platform-native 390 // Widget owns its NativeWidget, part 1: NativeWidget is a platform-native
403 // widget. 391 // widget.
404 TEST_F(WidgetOwnershipTest, Ownership_WidgetOwnsPlatformNativeWidget) { 392 TEST_F(WidgetOwnershipTest, Ownership_WidgetOwnsPlatformNativeWidget) {
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 EXPECT_TRUE(state.native_widget_deleted); 600 EXPECT_TRUE(state.native_widget_deleted);
613 } 601 }
614 602
615 //////////////////////////////////////////////////////////////////////////////// 603 ////////////////////////////////////////////////////////////////////////////////
616 // Test to verify using various Widget methods doesn't crash when the underlying 604 // Test to verify using various Widget methods doesn't crash when the underlying
617 // NativeView is destroyed. 605 // NativeView is destroyed.
618 // 606 //
619 class WidgetWithDestroyedNativeViewTest : public ViewsTestBase { 607 class WidgetWithDestroyedNativeViewTest : public ViewsTestBase {
620 public: 608 public:
621 WidgetWithDestroyedNativeViewTest() {} 609 WidgetWithDestroyedNativeViewTest() {}
622 virtual ~WidgetWithDestroyedNativeViewTest() {} 610 ~WidgetWithDestroyedNativeViewTest() override {}
623 611
624 void InvokeWidgetMethods(Widget* widget) { 612 void InvokeWidgetMethods(Widget* widget) {
625 widget->GetNativeView(); 613 widget->GetNativeView();
626 widget->GetNativeWindow(); 614 widget->GetNativeWindow();
627 ui::Accelerator accelerator; 615 ui::Accelerator accelerator;
628 widget->GetAccelerator(0, &accelerator); 616 widget->GetAccelerator(0, &accelerator);
629 widget->GetTopLevelWidget(); 617 widget->GetTopLevelWidget();
630 widget->GetWindowBoundsInScreen(); 618 widget->GetWindowBoundsInScreen();
631 widget->GetClientAreaBoundsInScreen(); 619 widget->GetClientAreaBoundsInScreen();
632 widget->SetBounds(gfx::Rect(0, 0, 100, 80)); 620 widget->SetBounds(gfx::Rect(0, 0, 100, 80));
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 public: 696 public:
709 WidgetObserverTest() 697 WidgetObserverTest()
710 : active_(NULL), 698 : active_(NULL),
711 widget_closed_(NULL), 699 widget_closed_(NULL),
712 widget_activated_(NULL), 700 widget_activated_(NULL),
713 widget_shown_(NULL), 701 widget_shown_(NULL),
714 widget_hidden_(NULL), 702 widget_hidden_(NULL),
715 widget_bounds_changed_(NULL) { 703 widget_bounds_changed_(NULL) {
716 } 704 }
717 705
718 virtual ~WidgetObserverTest() {} 706 ~WidgetObserverTest() override {}
719 707
720 // Overridden from WidgetObserver: 708 // Overridden from WidgetObserver:
721 virtual void OnWidgetDestroying(Widget* widget) override { 709 void OnWidgetDestroying(Widget* widget) override {
722 if (active_ == widget) 710 if (active_ == widget)
723 active_ = NULL; 711 active_ = NULL;
724 widget_closed_ = widget; 712 widget_closed_ = widget;
725 } 713 }
726 714
727 virtual void OnWidgetActivationChanged(Widget* widget, 715 void OnWidgetActivationChanged(Widget* widget, bool active) override {
728 bool active) override {
729 if (active) { 716 if (active) {
730 if (widget_activated_) 717 if (widget_activated_)
731 widget_activated_->Deactivate(); 718 widget_activated_->Deactivate();
732 widget_activated_ = widget; 719 widget_activated_ = widget;
733 active_ = widget; 720 active_ = widget;
734 } else { 721 } else {
735 if (widget_activated_ == widget) 722 if (widget_activated_ == widget)
736 widget_activated_ = NULL; 723 widget_activated_ = NULL;
737 widget_deactivated_ = widget; 724 widget_deactivated_ = widget;
738 } 725 }
739 } 726 }
740 727
741 virtual void OnWidgetVisibilityChanged(Widget* widget, 728 void OnWidgetVisibilityChanged(Widget* widget, bool visible) override {
742 bool visible) override {
743 if (visible) 729 if (visible)
744 widget_shown_ = widget; 730 widget_shown_ = widget;
745 else 731 else
746 widget_hidden_ = widget; 732 widget_hidden_ = widget;
747 } 733 }
748 734
749 virtual void OnWidgetBoundsChanged(Widget* widget, 735 void OnWidgetBoundsChanged(Widget* widget,
750 const gfx::Rect& new_bounds) override { 736 const gfx::Rect& new_bounds) override {
751 widget_bounds_changed_ = widget; 737 widget_bounds_changed_ = widget;
752 } 738 }
753 739
754 void reset() { 740 void reset() {
755 active_ = NULL; 741 active_ = NULL;
756 widget_closed_ = NULL; 742 widget_closed_ = NULL;
757 widget_activated_ = NULL; 743 widget_activated_ = NULL;
758 widget_deactivated_ = NULL; 744 widget_deactivated_ = NULL;
759 widget_shown_ = NULL; 745 widget_shown_ = NULL;
760 widget_hidden_ = NULL; 746 widget_hidden_ = NULL;
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
1065 1051
1066 // Closing the bubble should result in focus going back to the contents view. 1052 // Closing the bubble should result in focus going back to the contents view.
1067 EXPECT_TRUE(contents_view->HasFocus()); 1053 EXPECT_TRUE(contents_view->HasFocus());
1068 } 1054 }
1069 1055
1070 class TestBubbleDelegateView : public BubbleDelegateView { 1056 class TestBubbleDelegateView : public BubbleDelegateView {
1071 public: 1057 public:
1072 TestBubbleDelegateView(View* anchor) 1058 TestBubbleDelegateView(View* anchor)
1073 : BubbleDelegateView(anchor, BubbleBorder::NONE), 1059 : BubbleDelegateView(anchor, BubbleBorder::NONE),
1074 reset_controls_called_(false) {} 1060 reset_controls_called_(false) {}
1075 virtual ~TestBubbleDelegateView() {} 1061 ~TestBubbleDelegateView() override {}
1076 1062
1077 virtual bool ShouldShowCloseButton() const override { 1063 bool ShouldShowCloseButton() const override {
1078 reset_controls_called_ = true; 1064 reset_controls_called_ = true;
1079 return true; 1065 return true;
1080 } 1066 }
1081 1067
1082 mutable bool reset_controls_called_; 1068 mutable bool reset_controls_called_;
1083 }; 1069 };
1084 1070
1085 TEST_F(WidgetTest, BubbleControlsResetOnInit) { 1071 TEST_F(WidgetTest, BubbleControlsResetOnInit) {
1086 Widget* anchor = CreateTopLevelPlatformWidget(); 1072 Widget* anchor = CreateTopLevelPlatformWidget();
1087 anchor->Show(); 1073 anchor->Show();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1122 // This class validates whether paints are received for a visible Widget. 1108 // This class validates whether paints are received for a visible Widget.
1123 // To achieve this it overrides the Show and Close methods on the Widget class 1109 // To achieve this it overrides the Show and Close methods on the Widget class
1124 // and sets state whether subsequent paints are expected. 1110 // and sets state whether subsequent paints are expected.
1125 class DesktopAuraTestValidPaintWidget : public views::Widget { 1111 class DesktopAuraTestValidPaintWidget : public views::Widget {
1126 public: 1112 public:
1127 DesktopAuraTestValidPaintWidget() 1113 DesktopAuraTestValidPaintWidget()
1128 : received_paint_(false), 1114 : received_paint_(false),
1129 expect_paint_(true), 1115 expect_paint_(true),
1130 received_paint_while_hidden_(false) {} 1116 received_paint_while_hidden_(false) {}
1131 1117
1132 virtual ~DesktopAuraTestValidPaintWidget() {} 1118 ~DesktopAuraTestValidPaintWidget() override {}
1133 1119
1134 void InitForTest(Widget::InitParams create_params); 1120 void InitForTest(Widget::InitParams create_params);
1135 1121
1136 virtual void Show() override { 1122 void Show() override {
1137 expect_paint_ = true; 1123 expect_paint_ = true;
1138 views::Widget::Show(); 1124 views::Widget::Show();
1139 } 1125 }
1140 1126
1141 virtual void Close() override { 1127 void Close() override {
1142 expect_paint_ = false; 1128 expect_paint_ = false;
1143 views::Widget::Close(); 1129 views::Widget::Close();
1144 } 1130 }
1145 1131
1146 void Hide() { 1132 void Hide() {
1147 expect_paint_ = false; 1133 expect_paint_ = false;
1148 views::Widget::Hide(); 1134 views::Widget::Hide();
1149 } 1135 }
1150 1136
1151 virtual void OnNativeWidgetPaint(gfx::Canvas* canvas) override { 1137 void OnNativeWidgetPaint(gfx::Canvas* canvas) override {
1152 received_paint_ = true; 1138 received_paint_ = true;
1153 EXPECT_TRUE(expect_paint_); 1139 EXPECT_TRUE(expect_paint_);
1154 if (!expect_paint_) 1140 if (!expect_paint_)
1155 received_paint_while_hidden_ = true; 1141 received_paint_while_hidden_ = true;
1156 views::Widget::OnNativeWidgetPaint(canvas); 1142 views::Widget::OnNativeWidgetPaint(canvas);
1157 } 1143 }
1158 1144
1159 bool ReadReceivedPaintAndReset() { 1145 bool ReadReceivedPaintAndReset() {
1160 bool result = received_paint_; 1146 bool result = received_paint_;
1161 received_paint_ = false; 1147 received_paint_ = false;
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
1562 } 1548 }
1563 1549
1564 namespace { 1550 namespace {
1565 1551
1566 // ui::EventHandler which handles all mouse press events. 1552 // ui::EventHandler which handles all mouse press events.
1567 class MousePressEventConsumer : public ui::EventHandler { 1553 class MousePressEventConsumer : public ui::EventHandler {
1568 public: 1554 public:
1569 explicit MousePressEventConsumer() { 1555 explicit MousePressEventConsumer() {
1570 } 1556 }
1571 1557
1572 virtual ~MousePressEventConsumer() { 1558 ~MousePressEventConsumer() override {}
1573 }
1574 1559
1575 private: 1560 private:
1576 // ui::EventHandler: 1561 // ui::EventHandler:
1577 virtual void OnMouseEvent(ui::MouseEvent* event) override { 1562 void OnMouseEvent(ui::MouseEvent* event) override {
1578 if (event->type() == ui::ET_MOUSE_PRESSED) 1563 if (event->type() == ui::ET_MOUSE_PRESSED)
1579 event->SetHandled(); 1564 event->SetHandled();
1580 } 1565 }
1581 1566
1582 DISALLOW_COPY_AND_ASSIGN(MousePressEventConsumer); 1567 DISALLOW_COPY_AND_ASSIGN(MousePressEventConsumer);
1583 }; 1568 };
1584 1569
1585 } // namespace 1570 } // namespace
1586 1571
1587 // Test that mouse presses and mouse releases are dispatched normally when a 1572 // Test that mouse presses and mouse releases are dispatched normally when a
(...skipping 24 matching lines...) Expand all
1612 // been invoked. 1597 // been invoked.
1613 class ClosingDelegate : public WidgetDelegate { 1598 class ClosingDelegate : public WidgetDelegate {
1614 public: 1599 public:
1615 ClosingDelegate() : count_(0), widget_(NULL) {} 1600 ClosingDelegate() : count_(0), widget_(NULL) {}
1616 1601
1617 int count() const { return count_; } 1602 int count() const { return count_; }
1618 1603
1619 void set_widget(views::Widget* widget) { widget_ = widget; } 1604 void set_widget(views::Widget* widget) { widget_ = widget; }
1620 1605
1621 // WidgetDelegate overrides: 1606 // WidgetDelegate overrides:
1622 virtual Widget* GetWidget() override { return widget_; } 1607 Widget* GetWidget() override { return widget_; }
1623 virtual const Widget* GetWidget() const override { return widget_; } 1608 const Widget* GetWidget() const override { return widget_; }
1624 virtual void WindowClosing() override { 1609 void WindowClosing() override { count_++; }
1625 count_++;
1626 }
1627 1610
1628 private: 1611 private:
1629 int count_; 1612 int count_;
1630 views::Widget* widget_; 1613 views::Widget* widget_;
1631 1614
1632 DISALLOW_COPY_AND_ASSIGN(ClosingDelegate); 1615 DISALLOW_COPY_AND_ASSIGN(ClosingDelegate);
1633 }; 1616 };
1634 1617
1635 // Verifies WindowClosing() is invoked correctly on the delegate when a Widget 1618 // Verifies WindowClosing() is invoked correctly on the delegate when a Widget
1636 // is closed. 1619 // is closed.
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1744 generator.GestureTapAt(widget->GetWindowBoundsInScreen().CenterPoint()); 1727 generator.GestureTapAt(widget->GetWindowBoundsInScreen().CenterPoint());
1745 EXPECT_FALSE(deletion_observer.IsWidgetAlive()); 1728 EXPECT_FALSE(deletion_observer.IsWidgetAlive());
1746 1729
1747 // Yay we did not crash! 1730 // Yay we did not crash!
1748 } 1731 }
1749 1732
1750 // See description of RunGetNativeThemeFromDestructor() for details. 1733 // See description of RunGetNativeThemeFromDestructor() for details.
1751 class GetNativeThemeFromDestructorView : public WidgetDelegateView { 1734 class GetNativeThemeFromDestructorView : public WidgetDelegateView {
1752 public: 1735 public:
1753 GetNativeThemeFromDestructorView() {} 1736 GetNativeThemeFromDestructorView() {}
1754 virtual ~GetNativeThemeFromDestructorView() { 1737 ~GetNativeThemeFromDestructorView() override { VerifyNativeTheme(); }
1755 VerifyNativeTheme();
1756 }
1757 1738
1758 virtual View* GetContentsView() override { 1739 View* GetContentsView() override { return this; }
1759 return this;
1760 }
1761 1740
1762 private: 1741 private:
1763 void VerifyNativeTheme() { 1742 void VerifyNativeTheme() {
1764 ASSERT_TRUE(GetNativeTheme() != NULL); 1743 ASSERT_TRUE(GetNativeTheme() != NULL);
1765 } 1744 }
1766 1745
1767 DISALLOW_COPY_AND_ASSIGN(GetNativeThemeFromDestructorView); 1746 DISALLOW_COPY_AND_ASSIGN(GetNativeThemeFromDestructorView);
1768 }; 1747 };
1769 1748
1770 // Verifies GetNativeTheme() from the destructor of a WidgetDelegateView doesn't 1749 // Verifies GetNativeTheme() from the destructor of a WidgetDelegateView doesn't
(...skipping 27 matching lines...) Expand all
1798 } 1777 }
1799 1778
1800 // Used by HideCloseDestroy. Allows setting a boolean when the widget is 1779 // Used by HideCloseDestroy. Allows setting a boolean when the widget is
1801 // destroyed. 1780 // destroyed.
1802 class CloseDestroysWidget : public Widget { 1781 class CloseDestroysWidget : public Widget {
1803 public: 1782 public:
1804 explicit CloseDestroysWidget(bool* destroyed) 1783 explicit CloseDestroysWidget(bool* destroyed)
1805 : destroyed_(destroyed) { 1784 : destroyed_(destroyed) {
1806 } 1785 }
1807 1786
1808 virtual ~CloseDestroysWidget() { 1787 ~CloseDestroysWidget() override {
1809 if (destroyed_) { 1788 if (destroyed_) {
1810 *destroyed_ = true; 1789 *destroyed_ = true;
1811 base::MessageLoop::current()->QuitNow(); 1790 base::MessageLoop::current()->QuitNow();
1812 } 1791 }
1813 } 1792 }
1814 1793
1815 void Detach() { destroyed_ = NULL; } 1794 void Detach() { destroyed_ = NULL; }
1816 1795
1817 private: 1796 private:
1818 // If non-null set to true from destructor. 1797 // If non-null set to true from destructor.
1819 bool* destroyed_; 1798 bool* destroyed_;
1820 1799
1821 DISALLOW_COPY_AND_ASSIGN(CloseDestroysWidget); 1800 DISALLOW_COPY_AND_ASSIGN(CloseDestroysWidget);
1822 }; 1801 };
1823 1802
1824 // An observer that registers that an animation has ended. 1803 // An observer that registers that an animation has ended.
1825 class AnimationEndObserver : public ui::ImplicitAnimationObserver { 1804 class AnimationEndObserver : public ui::ImplicitAnimationObserver {
1826 public: 1805 public:
1827 AnimationEndObserver() : animation_completed_(false) {} 1806 AnimationEndObserver() : animation_completed_(false) {}
1828 virtual ~AnimationEndObserver() {} 1807 ~AnimationEndObserver() override {}
1829 1808
1830 bool animation_completed() const { return animation_completed_; } 1809 bool animation_completed() const { return animation_completed_; }
1831 1810
1832 // ui::ImplicitAnimationObserver: 1811 // ui::ImplicitAnimationObserver:
1833 virtual void OnImplicitAnimationsCompleted() override { 1812 void OnImplicitAnimationsCompleted() override { animation_completed_ = true; }
1834 animation_completed_ = true;
1835 }
1836 1813
1837 private: 1814 private:
1838 bool animation_completed_; 1815 bool animation_completed_;
1839 1816
1840 DISALLOW_COPY_AND_ASSIGN(AnimationEndObserver); 1817 DISALLOW_COPY_AND_ASSIGN(AnimationEndObserver);
1841 }; 1818 };
1842 1819
1843 // An observer that registers the bounds of a widget on destruction. 1820 // An observer that registers the bounds of a widget on destruction.
1844 class WidgetBoundsObserver : public WidgetObserver { 1821 class WidgetBoundsObserver : public WidgetObserver {
1845 public: 1822 public:
1846 WidgetBoundsObserver() {} 1823 WidgetBoundsObserver() {}
1847 virtual ~WidgetBoundsObserver() {} 1824 ~WidgetBoundsObserver() override {}
1848 1825
1849 gfx::Rect bounds() { return bounds_; } 1826 gfx::Rect bounds() { return bounds_; }
1850 1827
1851 // WidgetObserver: 1828 // WidgetObserver:
1852 virtual void OnWidgetDestroying(Widget* widget) override { 1829 void OnWidgetDestroying(Widget* widget) override {
1853 bounds_ = widget->GetWindowBoundsInScreen(); 1830 bounds_ = widget->GetWindowBoundsInScreen();
1854 } 1831 }
1855 1832
1856 private: 1833 private:
1857 gfx::Rect bounds_; 1834 gfx::Rect bounds_;
1858 1835
1859 DISALLOW_COPY_AND_ASSIGN(WidgetBoundsObserver); 1836 DISALLOW_COPY_AND_ASSIGN(WidgetBoundsObserver);
1860 }; 1837 };
1861 1838
1862 // Verifies Close() results in destroying. 1839 // Verifies Close() results in destroying.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1913 EXPECT_TRUE(animation_observer.animation_completed()); 1890 EXPECT_TRUE(animation_observer.animation_completed());
1914 EXPECT_EQ(widget_observer.bounds(), bounds); 1891 EXPECT_EQ(widget_observer.bounds(), bounds);
1915 } 1892 }
1916 1893
1917 // A view that consumes mouse-pressed event and gesture-tap-down events. 1894 // A view that consumes mouse-pressed event and gesture-tap-down events.
1918 class RootViewTestView : public View { 1895 class RootViewTestView : public View {
1919 public: 1896 public:
1920 RootViewTestView(): View() {} 1897 RootViewTestView(): View() {}
1921 1898
1922 private: 1899 private:
1923 virtual bool OnMousePressed(const ui::MouseEvent& event) override { 1900 bool OnMousePressed(const ui::MouseEvent& event) override { return true; }
1924 return true;
1925 }
1926 1901
1927 virtual void OnGestureEvent(ui::GestureEvent* event) override { 1902 void OnGestureEvent(ui::GestureEvent* event) override {
1928 if (event->type() == ui::ET_GESTURE_TAP_DOWN) 1903 if (event->type() == ui::ET_GESTURE_TAP_DOWN)
1929 event->SetHandled(); 1904 event->SetHandled();
1930 } 1905 }
1931 }; 1906 };
1932 1907
1933 // Checks if RootView::*_handler_ fields are unset when widget is hidden. 1908 // Checks if RootView::*_handler_ fields are unset when widget is hidden.
1934 // Fails on chromium.webkit Windows bot, see crbug.com/264872. 1909 // Fails on chromium.webkit Windows bot, see crbug.com/264872.
1935 #if defined(OS_WIN) 1910 #if defined(OS_WIN)
1936 #define MAYBE_DisableTestRootViewHandlersWhenHidden\ 1911 #define MAYBE_DisableTestRootViewHandlersWhenHidden\
1937 DISABLED_TestRootViewHandlersWhenHidden 1912 DISABLED_TestRootViewHandlersWhenHidden
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after
2456 widget->Close(); 2431 widget->Close();
2457 } 2432 }
2458 2433
2459 // A class used in WidgetTest.GestureEventLocationWhileBubbling to verify 2434 // A class used in WidgetTest.GestureEventLocationWhileBubbling to verify
2460 // that when a gesture event bubbles up a View hierarchy, the location 2435 // that when a gesture event bubbles up a View hierarchy, the location
2461 // of a gesture event seen by each View is in the local coordinate space 2436 // of a gesture event seen by each View is in the local coordinate space
2462 // of that View. 2437 // of that View.
2463 class GestureLocationView : public EventCountView { 2438 class GestureLocationView : public EventCountView {
2464 public: 2439 public:
2465 GestureLocationView() {} 2440 GestureLocationView() {}
2466 virtual ~GestureLocationView() {} 2441 ~GestureLocationView() override {}
2467 2442
2468 void set_expected_location(gfx::Point expected_location) { 2443 void set_expected_location(gfx::Point expected_location) {
2469 expected_location_ = expected_location; 2444 expected_location_ = expected_location;
2470 } 2445 }
2471 2446
2472 // EventCountView: 2447 // EventCountView:
2473 virtual void OnGestureEvent(ui::GestureEvent* event) override { 2448 void OnGestureEvent(ui::GestureEvent* event) override {
2474 EventCountView::OnGestureEvent(event); 2449 EventCountView::OnGestureEvent(event);
2475 2450
2476 // Verify that the location of |event| is in the local coordinate 2451 // Verify that the location of |event| is in the local coordinate
2477 // space of |this|. 2452 // space of |this|.
2478 EXPECT_EQ(expected_location_, event->location()); 2453 EXPECT_EQ(expected_location_, event->location());
2479 } 2454 }
2480 2455
2481 private: 2456 private:
2482 // The expected location of a gesture event dispatched to |this|. 2457 // The expected location of a gesture event dispatched to |this|.
2483 gfx::Point expected_location_; 2458 gfx::Point expected_location_;
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
2701 // Used by DestroyChildWidgetsInOrder. On destruction adds the supplied name to 2676 // Used by DestroyChildWidgetsInOrder. On destruction adds the supplied name to
2702 // a vector. 2677 // a vector.
2703 class DestroyedTrackingView : public View { 2678 class DestroyedTrackingView : public View {
2704 public: 2679 public:
2705 DestroyedTrackingView(const std::string& name, 2680 DestroyedTrackingView(const std::string& name,
2706 std::vector<std::string>* add_to) 2681 std::vector<std::string>* add_to)
2707 : name_(name), 2682 : name_(name),
2708 add_to_(add_to) { 2683 add_to_(add_to) {
2709 } 2684 }
2710 2685
2711 virtual ~DestroyedTrackingView() { 2686 ~DestroyedTrackingView() override { add_to_->push_back(name_); }
2712 add_to_->push_back(name_);
2713 }
2714 2687
2715 private: 2688 private:
2716 const std::string name_; 2689 const std::string name_;
2717 std::vector<std::string>* add_to_; 2690 std::vector<std::string>* add_to_;
2718 2691
2719 DISALLOW_COPY_AND_ASSIGN(DestroyedTrackingView); 2692 DISALLOW_COPY_AND_ASSIGN(DestroyedTrackingView);
2720 }; 2693 };
2721 2694
2722 class WidgetChildDestructionTest : public WidgetTest { 2695 class WidgetChildDestructionTest : public WidgetTest {
2723 public: 2696 public:
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
2787 // See description of RunDestroyChildWidgetsTest(). 2760 // See description of RunDestroyChildWidgetsTest().
2788 TEST_F(WidgetChildDestructionTest, DestroyChildWidgetsInOrder) { 2761 TEST_F(WidgetChildDestructionTest, DestroyChildWidgetsInOrder) {
2789 RunDestroyChildWidgetsTest(false, false); 2762 RunDestroyChildWidgetsTest(false, false);
2790 } 2763 }
2791 2764
2792 #if !defined(OS_CHROMEOS) 2765 #if !defined(OS_CHROMEOS)
2793 // Provides functionality to create a window modal dialog. 2766 // Provides functionality to create a window modal dialog.
2794 class ModalDialogDelegate : public DialogDelegateView { 2767 class ModalDialogDelegate : public DialogDelegateView {
2795 public: 2768 public:
2796 ModalDialogDelegate() {} 2769 ModalDialogDelegate() {}
2797 virtual ~ModalDialogDelegate() {} 2770 ~ModalDialogDelegate() override {}
2798 2771
2799 // WidgetDelegate overrides. 2772 // WidgetDelegate overrides.
2800 virtual ui::ModalType GetModalType() const override { 2773 ui::ModalType GetModalType() const override { return ui::MODAL_TYPE_WINDOW; }
2801 return ui::MODAL_TYPE_WINDOW;
2802 }
2803 2774
2804 private: 2775 private:
2805 DISALLOW_COPY_AND_ASSIGN(ModalDialogDelegate); 2776 DISALLOW_COPY_AND_ASSIGN(ModalDialogDelegate);
2806 }; 2777 };
2807 2778
2808 // This test verifies that whether mouse events when a modal dialog is 2779 // This test verifies that whether mouse events when a modal dialog is
2809 // displayed are eaten or recieved by the dialog. 2780 // displayed are eaten or recieved by the dialog.
2810 TEST_F(WidgetTest, WindowMouseModalityTest) { 2781 TEST_F(WidgetTest, WindowMouseModalityTest) {
2811 // Create a top level widget. 2782 // Create a top level widget.
2812 Widget top_level_widget; 2783 Widget top_level_widget;
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
3099 widget2.CloseNow(); 3070 widget2.CloseNow();
3100 } 3071 }
3101 #endif // !defined(OS_CHROMEOS) 3072 #endif // !defined(OS_CHROMEOS)
3102 3073
3103 namespace { 3074 namespace {
3104 3075
3105 class FullscreenAwareFrame : public views::NonClientFrameView { 3076 class FullscreenAwareFrame : public views::NonClientFrameView {
3106 public: 3077 public:
3107 explicit FullscreenAwareFrame(views::Widget* widget) 3078 explicit FullscreenAwareFrame(views::Widget* widget)
3108 : widget_(widget), fullscreen_layout_called_(false) {} 3079 : widget_(widget), fullscreen_layout_called_(false) {}
3109 virtual ~FullscreenAwareFrame() {} 3080 ~FullscreenAwareFrame() override {}
3110 3081
3111 // views::NonClientFrameView overrides: 3082 // views::NonClientFrameView overrides:
3112 virtual gfx::Rect GetBoundsForClientView() const override { 3083 gfx::Rect GetBoundsForClientView() const override { return gfx::Rect(); }
3113 return gfx::Rect(); 3084 gfx::Rect GetWindowBoundsForClientBounds(
3114 }
3115 virtual gfx::Rect GetWindowBoundsForClientBounds(
3116 const gfx::Rect& client_bounds) const override { 3085 const gfx::Rect& client_bounds) const override {
3117 return gfx::Rect(); 3086 return gfx::Rect();
3118 } 3087 }
3119 virtual int NonClientHitTest(const gfx::Point& point) override { 3088 int NonClientHitTest(const gfx::Point& point) override { return HTNOWHERE; }
3120 return HTNOWHERE; 3089 void GetWindowMask(const gfx::Size& size, gfx::Path* window_mask) override {}
3121 } 3090 void ResetWindowControls() override {}
3122 virtual void GetWindowMask(const gfx::Size& size, 3091 void UpdateWindowIcon() override {}
3123 gfx::Path* window_mask) override {} 3092 void UpdateWindowTitle() override {}
3124 virtual void ResetWindowControls() override {} 3093 void SizeConstraintsChanged() override {}
3125 virtual void UpdateWindowIcon() override {}
3126 virtual void UpdateWindowTitle() override {}
3127 virtual void SizeConstraintsChanged() override {}
3128 3094
3129 // views::View overrides: 3095 // views::View overrides:
3130 virtual void Layout() override { 3096 void Layout() override {
3131 if (widget_->IsFullscreen()) 3097 if (widget_->IsFullscreen())
3132 fullscreen_layout_called_ = true; 3098 fullscreen_layout_called_ = true;
3133 } 3099 }
3134 3100
3135 bool fullscreen_layout_called() const { return fullscreen_layout_called_; } 3101 bool fullscreen_layout_called() const { return fullscreen_layout_called_; }
3136 3102
3137 private: 3103 private:
3138 views::Widget* widget_; 3104 views::Widget* widget_;
3139 bool fullscreen_layout_called_; 3105 bool fullscreen_layout_called_;
3140 3106
(...skipping 22 matching lines...) Expand all
3163 } 3129 }
3164 3130
3165 #if !defined(OS_CHROMEOS) 3131 #if !defined(OS_CHROMEOS)
3166 namespace { 3132 namespace {
3167 3133
3168 // Trivial WidgetObserverTest that invokes Widget::IsActive() from 3134 // Trivial WidgetObserverTest that invokes Widget::IsActive() from
3169 // OnWindowDestroying. 3135 // OnWindowDestroying.
3170 class IsActiveFromDestroyObserver : public WidgetObserver { 3136 class IsActiveFromDestroyObserver : public WidgetObserver {
3171 public: 3137 public:
3172 IsActiveFromDestroyObserver() {} 3138 IsActiveFromDestroyObserver() {}
3173 virtual ~IsActiveFromDestroyObserver() {} 3139 ~IsActiveFromDestroyObserver() override {}
3174 virtual void OnWidgetDestroying(Widget* widget) override { 3140 void OnWidgetDestroying(Widget* widget) override { widget->IsActive(); }
3175 widget->IsActive();
3176 }
3177 3141
3178 private: 3142 private:
3179 DISALLOW_COPY_AND_ASSIGN(IsActiveFromDestroyObserver); 3143 DISALLOW_COPY_AND_ASSIGN(IsActiveFromDestroyObserver);
3180 }; 3144 };
3181 3145
3182 } // namespace 3146 } // namespace
3183 3147
3184 // Verifies Widget::IsActive() invoked from 3148 // Verifies Widget::IsActive() invoked from
3185 // WidgetObserver::OnWidgetDestroying() in a child widget doesn't crash. 3149 // WidgetObserver::OnWidgetDestroying() in a child widget doesn't crash.
3186 TEST_F(WidgetTest, IsActiveFromDestroy) { 3150 TEST_F(WidgetTest, IsActiveFromDestroy) {
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
3370 3334
3371 EXPECT_EQ(test_rect, root_view->bounds()); 3335 EXPECT_EQ(test_rect, root_view->bounds());
3372 widget->ReorderNativeViews(); 3336 widget->ReorderNativeViews();
3373 EXPECT_EQ(test_rect, root_view->bounds()); 3337 EXPECT_EQ(test_rect, root_view->bounds());
3374 3338
3375 widget->CloseNow(); 3339 widget->CloseNow();
3376 } 3340 }
3377 3341
3378 } // namespace test 3342 } // namespace test
3379 } // namespace views 3343 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/widget/widget_interactive_uitest.cc ('k') | ui/views/widget/window_reorderer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698