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

Unified Diff: chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_nonmac.cc

Issue 2630473003: MacViews: Harmony for toolbar actions bubbles. (Closed)
Patch Set: respond to comments Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_nonmac.cc
diff --git a/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_nonmac.cc b/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_nonmac.cc
new file mode 100644
index 0000000000000000000000000000000000000000..9d8c09b614e15b48343ac2529b60bf0586a8ed8f
--- /dev/null
+++ b/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_nonmac.cc
@@ -0,0 +1,50 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h"
+#include "chrome/browser/ui/views/frame/browser_view.h"
+#include "chrome/browser/ui/views/toolbar/app_menu_button.h"
+#include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
+#include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
+#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
+#include "ui/views/bubble/bubble_dialog_delegate.h"
+
+namespace {
+
+// Returns the ToolbarView for the given |browser|.
+ToolbarView* GetToolbarViewForBrowser(Browser* browser) {
+ return BrowserView::GetBrowserViewForBrowser(browser)->toolbar();
+}
+
+} // namespace
+
+// static
+ToolbarActionsBarBubbleViews*
+ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
+ return static_cast<ToolbarActionsBarBubbleViews*>(
+ GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble());
+}
+
+// static
+gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser(
+ Browser* browser,
+ AnchorPosition anchor) {
+ ToolbarView* toolbar_view = GetToolbarViewForBrowser(browser);
+ BrowserActionsContainer* container = toolbar_view->browser_actions();
+ 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.
+ views::View* anchor_view = nullptr;
+ switch (anchor) {
+ case ExtensionMessageBubbleBrowserTest::ANCHOR_BROWSER_ACTION:
+ 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
+ anchor_view = container->GetToolbarActionViewAt(0);
+ break;
+ case ExtensionMessageBubbleBrowserTest::ANCHOR_APP_MENU:
+ anchor_view = toolbar_view->app_menu_button();
+ break;
+ }
+
+ EXPECT_TRUE(anchor_view);
+ EXPECT_EQ(anchor_view, bubble->GetAnchorView());
+ return anchor_view->GetBoundsInScreen();
+}

Powered by Google App Engine
This is Rietveld 408576698