OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h" | |
6 #include "chrome/browser/ui/views/frame/browser_view.h" | |
7 #include "chrome/browser/ui/views/toolbar/app_menu_button.h" | |
8 #include "chrome/browser/ui/views/toolbar/browser_actions_container.h" | |
9 #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h" | |
10 #include "chrome/browser/ui/views/toolbar/toolbar_view.h" | |
11 #include "ui/views/bubble/bubble_dialog_delegate.h" | |
12 | |
13 namespace { | |
14 | |
15 // Returns the ToolbarView for the given |browser|. | |
16 ToolbarView* GetToolbarViewForBrowser(Browser* browser) { | |
17 return BrowserView::GetBrowserViewForBrowser(browser)->toolbar(); | |
18 } | |
19 | |
20 } // namespace | |
21 | |
22 // static | |
23 ToolbarActionsBarBubbleViews* | |
24 ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) { | |
25 return static_cast<ToolbarActionsBarBubbleViews*>( | |
26 GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble()); | |
27 } | |
28 | |
29 // static | |
30 gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser( | |
31 Browser* browser, | |
32 AnchorPosition anchor) { | |
33 ToolbarView* toolbar_view = GetToolbarViewForBrowser(browser); | |
34 BrowserActionsContainer* container = toolbar_view->browser_actions(); | |
35 views::BubbleDialogDelegateView* bubble = container->active_bubble(); | |
Peter Kasting
2017/03/10 08:29:55
Nit: Can just inline below
tapted
2017/03/13 06:04:57
Done.
| |
36 views::View* anchor_view = nullptr; | |
37 switch (anchor) { | |
38 case ExtensionMessageBubbleBrowserTest::ANCHOR_BROWSER_ACTION: | |
39 DCHECK_GT(container->num_toolbar_actions(), 0u); | |
Peter Kasting
2017/03/10 08:29:55
Nit: Seems like this should be ASSERT_GT.
tapted
2017/03/13 06:04:57
Changed to EXPECT + a return (ASSERT requires the
| |
40 anchor_view = container->GetToolbarActionViewAt(0); | |
41 break; | |
42 case ExtensionMessageBubbleBrowserTest::ANCHOR_APP_MENU: | |
43 anchor_view = toolbar_view->app_menu_button(); | |
44 break; | |
45 } | |
46 | |
47 EXPECT_TRUE(anchor_view); | |
48 EXPECT_EQ(anchor_view, bubble->GetAnchorView()); | |
49 return anchor_view->GetBoundsInScreen(); | |
50 } | |
OLD | NEW |