Commit 650633e4 authored by Devlin Cronin's avatar Devlin Cronin Committed by Commit Bot

[Extensions UI] Remove extension_message_bubble_view_browsertest_views.cc

This file was leftover from a time when there were separate
implementations for Mac-Views vs other-platforms-views, which is no
longer the case. Move the methods from this file into the main .cc file.

Note: Technically, we could also move the header and implementation from
c/b/ui/extensions/extension_message_bubble_browsertest.* and collapse
everything into c/b/ui/views/extension_message_bubble_view_browsertest;
this separation pre-dates Mac-Views, and was designed to share code
between c/b/ui/views and c/b/ui/cocoa implementations. However, that's a
lot more code churn. Start here.

Bug: None
Change-Id: I98eca6c92ccfa03a50090558c30ecc84e2652828
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2392697Reviewed-by: default avatarPeter Boström <pbos@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#804435}
parent f2465478
......@@ -15,11 +15,9 @@ namespace extensions {
class TestExtensionDir;
}
class ToolbarActionsBarBubbleViews;
class ExtensionMessageBubbleBrowserTest
: public BrowserActionsBarBrowserTest {
protected:
public:
enum AnchorPosition {
ANCHOR_BROWSER_ACTION,
ANCHOR_APP_MENU,
......@@ -28,26 +26,6 @@ class ExtensionMessageBubbleBrowserTest
ExtensionMessageBubbleBrowserTest();
~ExtensionMessageBubbleBrowserTest() override;
// Returns the toolkit-views bubble that is currently attached to |browser|.
// Returns null if there is no bubble showing. Implemented in platform files.
static ToolbarActionsBarBubbleViews* GetViewsBubbleForBrowser(
Browser* browser);
#if defined(OS_MAC)
static ToolbarActionsBarBubbleViews* GetViewsBubbleForCocoaBrowser(
Browser* browser);
#endif
// Returns the expected test anchor bounds on |browser| which may be a Cocoa
// browser or a Views browser. Implemented in platform files.
static gfx::Rect GetAnchorReferenceBoundsForBrowser(Browser* browser,
AnchorPosition anchor);
#if defined(OS_MAC)
static gfx::Rect GetAnchorReferenceBoundsForCocoaBrowser(
Browser* browser,
AnchorPosition anchor);
#endif
// BrowserActionsBarBrowserTest:
void SetUpCommandLine(base::CommandLine* command_line) override;
void TearDownOnMainThread() override;
......
......@@ -9,7 +9,11 @@
#include "chrome/browser/ui/extensions/settings_api_bubble_helpers.h"
#include "chrome/browser/ui/test/test_browser_dialog.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
#include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
#include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
#include "content/public/test/browser_test.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_node_data.h"
......@@ -42,6 +46,43 @@ void CheckBubbleAgainstReferenceBounds(views::BubbleDialogDelegateView* bubble,
EXPECT_TRUE(bubble->GetWidget()->IsVisible());
}
// Returns the bubble that is currently attached to |browser|, or null if there
// is no bubble showing.
ToolbarActionsBarBubbleViews* GetViewsBubbleForBrowser(Browser* browser) {
return static_cast<ToolbarActionsBarBubbleViews*>(
BrowserView::GetBrowserViewForBrowser(browser)
->toolbar_button_provider()
->GetBrowserActionsContainer()
->active_bubble());
}
// Returns the expected test anchor bounds on |browser|.
gfx::Rect GetAnchorReferenceBoundsForBrowser(
Browser* browser,
ExtensionMessageBubbleBrowserTest::AnchorPosition anchor) {
auto* const toolbar_button_provider =
BrowserView::GetBrowserViewForBrowser(browser)->toolbar_button_provider();
auto* const browser_actions_container =
toolbar_button_provider->GetBrowserActionsContainer();
views::View* anchor_view = nullptr;
switch (anchor) {
case ExtensionMessageBubbleBrowserTest::ANCHOR_BROWSER_ACTION:
EXPECT_GT(browser_actions_container->num_toolbar_actions(), 0u);
if (browser_actions_container->num_toolbar_actions() == 0)
return gfx::Rect();
anchor_view = browser_actions_container->GetToolbarActionViewAt(0);
break;
case ExtensionMessageBubbleBrowserTest::ANCHOR_APP_MENU:
anchor_view = toolbar_button_provider->GetAppMenuButton();
break;
}
EXPECT_TRUE(anchor_view);
EXPECT_EQ(anchor_view,
browser_actions_container->active_bubble()->GetAnchorView());
return anchor_view->GetBoundsInScreen();
}
} // namespace
class ExtensionMessageBubbleViewBrowserTest
......
// 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/browser_actions_container.h"
#include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
#include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
#include "ui/base/ui_base_features.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
// static
ToolbarActionsBarBubbleViews*
ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
return static_cast<ToolbarActionsBarBubbleViews*>(
BrowserView::GetBrowserViewForBrowser(browser)
->toolbar_button_provider()
->GetBrowserActionsContainer()
->active_bubble());
}
// static
gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser(
Browser* browser,
AnchorPosition anchor) {
auto* toolbar_button_provider =
BrowserView::GetBrowserViewForBrowser(browser)->toolbar_button_provider();
auto* browser_actions_container =
toolbar_button_provider->GetBrowserActionsContainer();
views::View* anchor_view = nullptr;
switch (anchor) {
case ExtensionMessageBubbleBrowserTest::ANCHOR_BROWSER_ACTION:
EXPECT_GT(browser_actions_container->num_toolbar_actions(), 0u);
if (browser_actions_container->num_toolbar_actions() == 0)
return gfx::Rect();
anchor_view = browser_actions_container->GetToolbarActionViewAt(0);
break;
case ExtensionMessageBubbleBrowserTest::ANCHOR_APP_MENU:
anchor_view = toolbar_button_provider->GetAppMenuButton();
break;
}
EXPECT_TRUE(anchor_view);
EXPECT_EQ(anchor_view,
browser_actions_container->active_bubble()->GetAnchorView());
return anchor_view->GetBoundsInScreen();
}
......@@ -2071,7 +2071,6 @@ if (!is_android) {
"../browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc",
"../browser/ui/views/extensions/extension_installed_bubble_view_browsertest.cc",
"../browser/ui/views/extensions/extension_message_bubble_view_browsertest.cc",
"../browser/ui/views/extensions/extension_message_bubble_view_browsertest_views.cc",
"../browser/ui/views/extensions/extension_uninstall_dialog_view_browsertest.cc",
"../browser/ui/views/extensions/extensions_menu_view_browsertest.cc",
"../browser/ui/views/extensions/extensions_toolbar_browsertest.cc",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment