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

Side by Side Diff: ui/views/bubble/bubble_delegate_unittest.cc

Issue 154203002: Remove unnecessary uses of aura::Env::GetDispatcher (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 10 months 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 | Annotate | Revision Log
« no previous file with comments | « ui/gfx/font_smoothing_win.cc ('k') | ui/views/controls/menu/menu_controller.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 "base/run_loop.h" 5 #include "base/run_loop.h"
6 #include "ui/aura/env.h"
6 #include "ui/base/hit_test.h" 7 #include "ui/base/hit_test.h"
7 #include "ui/views/bubble/bubble_delegate.h" 8 #include "ui/views/bubble/bubble_delegate.h"
8 #include "ui/views/bubble/bubble_frame_view.h" 9 #include "ui/views/bubble/bubble_frame_view.h"
9 #include "ui/views/test/test_widget_observer.h" 10 #include "ui/views/test/test_widget_observer.h"
10 #include "ui/views/test/views_test_base.h" 11 #include "ui/views/test/views_test_base.h"
11 #include "ui/views/widget/widget.h" 12 #include "ui/views/widget/widget.h"
12 #include "ui/views/widget/widget_observer.h" 13 #include "ui/views/widget/widget_observer.h"
13 14
14 #if defined(USE_AURA)
15 #include "ui/aura/env.h"
16 #endif
17
18 namespace views { 15 namespace views {
19 16
20 namespace { 17 namespace {
21 18
22 class TestBubbleDelegateView : public BubbleDelegateView { 19 class TestBubbleDelegateView : public BubbleDelegateView {
23 public: 20 public:
24 TestBubbleDelegateView(View* anchor_view) 21 TestBubbleDelegateView(View* anchor_view)
25 : BubbleDelegateView(anchor_view, BubbleBorder::TOP_LEFT), 22 : BubbleDelegateView(anchor_view, BubbleBorder::TOP_LEFT),
26 view_(new View()) { 23 view_(new View()) {
27 view_->SetFocusable(true); 24 view_->SetFocusable(true);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 EXPECT_EQ(bubble_delegate, bubble_widget->widget_delegate()); 95 EXPECT_EQ(bubble_delegate, bubble_widget->widget_delegate());
99 EXPECT_EQ(bubble_widget, bubble_delegate->GetWidget()); 96 EXPECT_EQ(bubble_widget, bubble_delegate->GetWidget());
100 EXPECT_EQ(anchor_widget, bubble_delegate->anchor_widget()); 97 EXPECT_EQ(anchor_widget, bubble_delegate->anchor_widget());
101 test::TestWidgetObserver bubble_observer(bubble_widget); 98 test::TestWidgetObserver bubble_observer(bubble_widget);
102 EXPECT_FALSE(bubble_observer.widget_closed()); 99 EXPECT_FALSE(bubble_observer.widget_closed());
103 100
104 bubble_widget->Show(); 101 bubble_widget->Show();
105 EXPECT_EQ(anchor_widget, bubble_delegate->anchor_widget()); 102 EXPECT_EQ(anchor_widget, bubble_delegate->anchor_widget());
106 EXPECT_FALSE(bubble_observer.widget_closed()); 103 EXPECT_FALSE(bubble_observer.widget_closed());
107 104
108 #if defined(USE_AURA)
109 // TODO(msw): Remove activation hack to prevent bookkeeping errors in: 105 // TODO(msw): Remove activation hack to prevent bookkeeping errors in:
110 // aura::test::TestActivationClient::OnWindowDestroyed(). 106 // aura::test::TestActivationClient::OnWindowDestroyed().
111 scoped_ptr<Widget> smoke_and_mirrors_widget(CreateTestWidget()); 107 scoped_ptr<Widget> smoke_and_mirrors_widget(CreateTestWidget());
112 EXPECT_FALSE(bubble_observer.widget_closed()); 108 EXPECT_FALSE(bubble_observer.widget_closed());
113 #endif
114 109
115 // Ensure that closing the anchor widget also closes the bubble itself. 110 // Ensure that closing the anchor widget also closes the bubble itself.
116 anchor_widget->CloseNow(); 111 anchor_widget->CloseNow();
117 EXPECT_TRUE(bubble_observer.widget_closed()); 112 EXPECT_TRUE(bubble_observer.widget_closed());
118 } 113 }
119 114
120 // This test checks that the bubble delegate is capable to handle an early 115 // This test checks that the bubble delegate is capable to handle an early
121 // destruction of the used anchor view. (Animations and delayed closure of the 116 // destruction of the used anchor view. (Animations and delayed closure of the
122 // bubble will call upon the anchor view to get its location). 117 // bubble will call upon the anchor view to get its location).
123 TEST_F(BubbleDelegateTest, CloseAnchorViewTest) { 118 TEST_F(BubbleDelegateTest, CloseAnchorViewTest) {
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 EXPECT_EQ(anchor_widget, bubble_delegate->anchor_widget()); 186 EXPECT_EQ(anchor_widget, bubble_delegate->anchor_widget());
192 bubble_widget->Hide(); 187 bubble_widget->Hide();
193 EXPECT_EQ(anchor_widget, bubble_delegate->anchor_widget()); 188 EXPECT_EQ(anchor_widget, bubble_delegate->anchor_widget());
194 189
195 // Ensure that closing the anchor widget clears the bubble's reference to that 190 // Ensure that closing the anchor widget clears the bubble's reference to that
196 // anchor widget, but the bubble itself does not close. 191 // anchor widget, but the bubble itself does not close.
197 anchor_widget->CloseNow(); 192 anchor_widget->CloseNow();
198 EXPECT_NE(anchor_widget, bubble_delegate->anchor_widget()); 193 EXPECT_NE(anchor_widget, bubble_delegate->anchor_widget());
199 EXPECT_FALSE(bubble_observer.widget_closed()); 194 EXPECT_FALSE(bubble_observer.widget_closed());
200 195
201 #if defined(USE_AURA)
202 // TODO(msw): Remove activation hack to prevent bookkeeping errors in: 196 // TODO(msw): Remove activation hack to prevent bookkeeping errors in:
203 // aura::test::TestActivationClient::OnWindowDestroyed(). 197 // aura::test::TestActivationClient::OnWindowDestroyed().
204 scoped_ptr<Widget> smoke_and_mirrors_widget(CreateTestWidget()); 198 scoped_ptr<Widget> smoke_and_mirrors_widget(CreateTestWidget());
205 EXPECT_FALSE(bubble_observer.widget_closed()); 199 EXPECT_FALSE(bubble_observer.widget_closed());
206 #endif
207 200
208 // Ensure that closing the parent widget also closes the bubble itself. 201 // Ensure that closing the parent widget also closes the bubble itself.
209 parent_widget->CloseNow(); 202 parent_widget->CloseNow();
210 EXPECT_TRUE(bubble_observer.widget_closed()); 203 EXPECT_TRUE(bubble_observer.widget_closed());
211 } 204 }
212 205
213 TEST_F(BubbleDelegateTest, InitiallyFocusedView) { 206 TEST_F(BubbleDelegateTest, InitiallyFocusedView) {
214 scoped_ptr<Widget> anchor_widget(CreateTestWidget()); 207 scoped_ptr<Widget> anchor_widget(CreateTestWidget());
215 BubbleDelegateView* bubble_delegate = new BubbleDelegateView( 208 BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
216 anchor_widget->GetContentsView(), BubbleBorder::NONE); 209 anchor_widget->GetContentsView(), BubbleBorder::NONE);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 EXPECT_FALSE(bubble_widget->IsVisible()); 251 EXPECT_FALSE(bubble_widget->IsVisible());
259 } 252 }
260 253
261 // This class provides functionality to verify that the BubbleView shows up 254 // This class provides functionality to verify that the BubbleView shows up
262 // when we call BubbleDelegateView::StartFade(true) and is destroyed when we 255 // when we call BubbleDelegateView::StartFade(true) and is destroyed when we
263 // call BubbleDelegateView::StartFade(false). 256 // call BubbleDelegateView::StartFade(false).
264 class BubbleWidgetClosingTest : public BubbleDelegateTest, 257 class BubbleWidgetClosingTest : public BubbleDelegateTest,
265 public views::WidgetObserver { 258 public views::WidgetObserver {
266 public: 259 public:
267 BubbleWidgetClosingTest() : bubble_destroyed_(false) { 260 BubbleWidgetClosingTest() : bubble_destroyed_(false) {
268 #if defined(USE_AURA)
269 aura::Env::CreateInstance(); 261 aura::Env::CreateInstance();
270 loop_.set_dispatcher(aura::Env::GetInstance()->GetDispatcher());
271 #endif
272 } 262 }
273 263
274 virtual ~BubbleWidgetClosingTest() {} 264 virtual ~BubbleWidgetClosingTest() {}
275 265
276 void Observe(views::Widget* widget) { 266 void Observe(views::Widget* widget) {
277 widget->AddObserver(this); 267 widget->AddObserver(this);
278 } 268 }
279 269
280 // views::WidgetObserver overrides. 270 // views::WidgetObserver overrides.
281 virtual void OnWidgetDestroyed(Widget* widget) OVERRIDE { 271 virtual void OnWidgetDestroyed(Widget* widget) OVERRIDE {
(...skipping 29 matching lines...) Expand all
311 bubble_widget->GetFocusManager()->GetFocusedView()); 301 bubble_widget->GetFocusManager()->GetFocusedView());
312 302
313 Observe(bubble_widget); 303 Observe(bubble_widget);
314 304
315 bubble_delegate->StartFade(false); 305 bubble_delegate->StartFade(false);
316 RunNestedLoop(); 306 RunNestedLoop();
317 EXPECT_TRUE(bubble_destroyed()); 307 EXPECT_TRUE(bubble_destroyed());
318 } 308 }
319 309
320 } // namespace views 310 } // namespace views
OLDNEW
« no previous file with comments | « ui/gfx/font_smoothing_win.cc ('k') | ui/views/controls/menu/menu_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698