OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h" | 5 #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | 56 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
57 anchor_widget->Init(params); | 57 anchor_widget->Init(params); |
58 return anchor_widget; | 58 return anchor_widget; |
59 } | 59 } |
60 | 60 |
61 void ShowBubble(TestToolbarActionsBarBubbleDelegate* delegate) { | 61 void ShowBubble(TestToolbarActionsBarBubbleDelegate* delegate) { |
62 ASSERT_TRUE(delegate); | 62 ASSERT_TRUE(delegate); |
63 ASSERT_FALSE(bubble_widget_); | 63 ASSERT_FALSE(bubble_widget_); |
64 ASSERT_FALSE(bubble_); | 64 ASSERT_FALSE(bubble_); |
65 anchor_widget_ = CreateAnchorWidget(); | 65 anchor_widget_ = CreateAnchorWidget(); |
| 66 bool anchored_to_action = false; |
66 bubble_ = new ToolbarActionsBarBubbleViews( | 67 bubble_ = new ToolbarActionsBarBubbleViews( |
67 anchor_widget_->GetContentsView(), delegate->GetDelegate()); | 68 anchor_widget_->GetContentsView(), gfx::Point(), anchored_to_action, |
| 69 delegate->GetDelegate()); |
68 bubble_widget_ = views::BubbleDialogDelegateView::CreateBubble(bubble_); | 70 bubble_widget_ = views::BubbleDialogDelegateView::CreateBubble(bubble_); |
69 bubble_->Show(); | 71 bubble_->Show(); |
70 } | 72 } |
71 | 73 |
72 void CloseBubble() { | 74 void CloseBubble() { |
73 ASSERT_TRUE(bubble_); | 75 ASSERT_TRUE(bubble_); |
74 bubble_->GetWidget()->Close(); | 76 bubble_->GetWidget()->Close(); |
75 base::RunLoop().RunUntilIdle(); | 77 base::RunLoop().RunUntilIdle(); |
76 bubble_ = nullptr; | 78 bubble_ = nullptr; |
77 bubble_widget_ = nullptr; | 79 bubble_widget_ = nullptr; |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 | 204 |
203 CloseBubble(); | 205 CloseBubble(); |
204 } | 206 } |
205 | 207 |
206 TEST_F(ToolbarActionsBarBubbleViewsTest, TestShowAndCloseBubble) { | 208 TEST_F(ToolbarActionsBarBubbleViewsTest, TestShowAndCloseBubble) { |
207 std::unique_ptr<views::Widget> anchor_widget = CreateAnchorWidget(); | 209 std::unique_ptr<views::Widget> anchor_widget = CreateAnchorWidget(); |
208 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), | 210 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
209 ActionString()); | 211 ActionString()); |
210 delegate.set_dismiss_button_text(DismissString()); | 212 delegate.set_dismiss_button_text(DismissString()); |
211 ToolbarActionsBarBubbleViews* bubble = new ToolbarActionsBarBubbleViews( | 213 ToolbarActionsBarBubbleViews* bubble = new ToolbarActionsBarBubbleViews( |
212 anchor_widget->GetContentsView(), delegate.GetDelegate()); | 214 anchor_widget->GetContentsView(), gfx::Point(), false, |
| 215 delegate.GetDelegate()); |
213 | 216 |
214 EXPECT_FALSE(delegate.shown()); | 217 EXPECT_FALSE(delegate.shown()); |
215 EXPECT_FALSE(delegate.close_action()); | 218 EXPECT_FALSE(delegate.close_action()); |
216 views::Widget* bubble_widget = | 219 views::Widget* bubble_widget = |
217 views::BubbleDialogDelegateView::CreateBubble(bubble); | 220 views::BubbleDialogDelegateView::CreateBubble(bubble); |
218 views::test::TestWidgetObserver bubble_observer(bubble_widget); | 221 views::test::TestWidgetObserver bubble_observer(bubble_widget); |
219 bubble->Show(); | 222 bubble->Show(); |
220 EXPECT_TRUE(delegate.shown()); | 223 EXPECT_TRUE(delegate.shown()); |
221 EXPECT_FALSE(delegate.close_action()); | 224 EXPECT_FALSE(delegate.close_action()); |
222 | 225 |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 } else { | 408 } else { |
406 EXPECT_TRUE(gfx::test::AreImagesEqual( | 409 EXPECT_TRUE(gfx::test::AreImagesEqual( |
407 gfx::Image(static_cast<const views::ImageView*>(v)->GetImage()), | 410 gfx::Image(static_cast<const views::ImageView*>(v)->GetImage()), |
408 gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BUSINESS, | 411 gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BUSINESS, |
409 kIconSize, gfx::kChromeIconGrey)))); | 412 kIconSize, gfx::kChromeIconGrey)))); |
410 } | 413 } |
411 } | 414 } |
412 | 415 |
413 CloseBubble(); | 416 CloseBubble(); |
414 } | 417 } |
OLD | NEW |