| OLD | NEW |
| 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/base/hit_test.h" | 5 #include "ui/base/hit_test.h" |
| 6 #include "ui/views/bubble/bubble_delegate.h" | 6 #include "ui/views/bubble/bubble_delegate.h" |
| 7 #include "ui/views/bubble/bubble_frame_view.h" | 7 #include "ui/views/bubble/bubble_frame_view.h" |
| 8 #include "ui/views/test/test_widget_observer.h" | 8 #include "ui/views/test/test_widget_observer.h" |
| 9 #include "ui/views/test/views_test_base.h" | 9 #include "ui/views/test/views_test_base.h" |
| 10 #include "ui/views/widget/widget.h" | 10 #include "ui/views/widget/widget.h" |
| 11 #include "ui/views/widget/widget_observer.h" | 11 #include "ui/views/widget/widget_observer.h" |
| 12 | 12 |
| 13 namespace views { | 13 namespace views { |
| 14 | 14 |
| 15 namespace { | 15 namespace { |
| 16 | 16 |
| 17 class TestBubbleDelegateView : public BubbleDelegateView { | 17 class TestBubbleDelegateView : public BubbleDelegateView { |
| 18 public: | 18 public: |
| 19 TestBubbleDelegateView(View* anchor_view) | 19 TestBubbleDelegateView(View* anchor_view) |
| 20 : BubbleDelegateView(anchor_view, BubbleBorder::TOP_LEFT), | 20 : BubbleDelegateView(anchor_view, BubbleBorder::TOP_LEFT), |
| 21 view_(new View()) { | 21 view_(new View()) { |
| 22 view_->SetFocusable(true); | 22 view_->SetFocusable(true); |
| 23 AddChildView(view_); | 23 AddChildView(view_); |
| 24 } | 24 } |
| 25 virtual ~TestBubbleDelegateView() {} | 25 ~TestBubbleDelegateView() override {} |
| 26 | 26 |
| 27 void SetAnchorRectForTest(gfx::Rect rect) { | 27 void SetAnchorRectForTest(gfx::Rect rect) { |
| 28 SetAnchorRect(rect); | 28 SetAnchorRect(rect); |
| 29 } | 29 } |
| 30 | 30 |
| 31 void SetAnchorViewForTest(View* view) { | 31 void SetAnchorViewForTest(View* view) { |
| 32 SetAnchorView(view); | 32 SetAnchorView(view); |
| 33 } | 33 } |
| 34 | 34 |
| 35 // BubbleDelegateView overrides: | 35 // BubbleDelegateView overrides: |
| 36 virtual View* GetInitiallyFocusedView() override { return view_; } | 36 View* GetInitiallyFocusedView() override { return view_; } |
| 37 virtual gfx::Size GetPreferredSize() const override { | 37 gfx::Size GetPreferredSize() const override { return gfx::Size(200, 200); } |
| 38 return gfx::Size(200, 200); | |
| 39 } | |
| 40 | 38 |
| 41 private: | 39 private: |
| 42 View* view_; | 40 View* view_; |
| 43 | 41 |
| 44 DISALLOW_COPY_AND_ASSIGN(TestBubbleDelegateView); | 42 DISALLOW_COPY_AND_ASSIGN(TestBubbleDelegateView); |
| 45 }; | 43 }; |
| 46 | 44 |
| 47 class BubbleDelegateTest : public ViewsTestBase { | 45 class BubbleDelegateTest : public ViewsTestBase { |
| 48 public: | 46 public: |
| 49 BubbleDelegateTest() {} | 47 BubbleDelegateTest() {} |
| 50 virtual ~BubbleDelegateTest() {} | 48 ~BubbleDelegateTest() override {} |
| 51 | 49 |
| 52 // Creates a test widget that owns its native widget. | 50 // Creates a test widget that owns its native widget. |
| 53 Widget* CreateTestWidget() { | 51 Widget* CreateTestWidget() { |
| 54 Widget* widget = new Widget(); | 52 Widget* widget = new Widget(); |
| 55 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_WINDOW); | 53 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_WINDOW); |
| 56 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | 54 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
| 57 widget->Init(params); | 55 widget->Init(params); |
| 58 return widget; | 56 return widget; |
| 59 } | 57 } |
| 60 | 58 |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 scoped_ptr<Widget> anchor_widget(CreateTestWidget()); | 254 scoped_ptr<Widget> anchor_widget(CreateTestWidget()); |
| 257 BubbleDelegateView* bubble_delegate = new BubbleDelegateView( | 255 BubbleDelegateView* bubble_delegate = new BubbleDelegateView( |
| 258 anchor_widget->GetContentsView(), BubbleBorder::NONE); | 256 anchor_widget->GetContentsView(), BubbleBorder::NONE); |
| 259 bubble_delegate->set_can_activate(false); | 257 bubble_delegate->set_can_activate(false); |
| 260 Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate); | 258 Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate); |
| 261 bubble_widget->Show(); | 259 bubble_widget->Show(); |
| 262 EXPECT_FALSE(bubble_widget->CanActivate()); | 260 EXPECT_FALSE(bubble_widget->CanActivate()); |
| 263 } | 261 } |
| 264 | 262 |
| 265 } // namespace views | 263 } // namespace views |
| OLD | NEW |