Commit 22f5b2e3 authored by Elly Fong-Jones's avatar Elly Fong-Jones Committed by Commit Bot

polychrome: fix ExtensionMessageBubbleViewBrowserTest suite

This change:
1) Introduces Cocoa shims for GetViewsBubbleForBrowser and
   GetAnchorReferenceBoundsForBrowser;
2) Adds calls to those shims as needed from the Views code (when in
   polychrome-cocoa mode)

This fixes ExtensionMessageBubbleViewBrowserTest.* in all three of cocoa,
polychrome-cocoa, and polychrome-views.

Bug: 817408
Change-Id: I4b1ac44c23cd6979013b35534e028fe38c4f8353
Reviewed-on: https://chromium-review.googlesource.com/962873
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: default avatarSarah Chan <spqchan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543353}
parent e1411c5f
......@@ -4,6 +4,7 @@
#import <Cocoa/Cocoa.h>
#include "build/buildflag.h"
#include "chrome/browser/ui/browser_window.h"
#import "chrome/browser/ui/cocoa/browser_window_controller.h"
#import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
......@@ -12,6 +13,7 @@
#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
#include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h"
#include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
#include "ui/base/ui_features.h"
#import "ui/gfx/mac/coordinate_conversion.h"
namespace {
......@@ -49,7 +51,8 @@ class ToolbarActionsBarBubbleViewsPresenterTestApi {
// static
ToolbarActionsBarBubbleViews*
ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
ExtensionMessageBubbleBrowserTest::GetViewsBubbleForCocoaBrowser(
Browser* browser) {
ToolbarController* toolbarController = ToolbarControllerForBrowser(browser);
BrowserActionsController* actionsController =
[toolbarController browserActionsController];
......@@ -57,8 +60,17 @@ ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
[actionsController presenter]);
}
#if !BUILDFLAG(MAC_VIEWS_BROWSER)
// static
gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser(
ToolbarActionsBarBubbleViews*
ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
return GetViewsBubbleForCocoaBrowser(browser);
}
#endif
// static
gfx::Rect
ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForCocoaBrowser(
Browser* browser,
AnchorPosition anchor) {
ToolbarController* toolbarController = ToolbarControllerForBrowser(browser);
......@@ -87,3 +99,12 @@ gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser(
return gfx::ScreenRectFromNSRect(reference_bounds_in_screen);
}
#if !BUILDFLAG(MAC_VIEWS_BROWSER)
// static
gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser(
Browser* browser,
AnchorPosition anchor) {
return GetAnchorReferenceBoundsForCocoaBrowser(browser, anchor);
}
#endif
......@@ -8,6 +8,7 @@
#include <memory>
#include "base/macros.h"
#include "build/build_config.h"
#include "chrome/browser/ui/toolbar/browser_actions_bar_browsertest.h"
namespace extensions {
......@@ -32,10 +33,20 @@ class ExtensionMessageBubbleBrowserTest
static ToolbarActionsBarBubbleViews* GetViewsBubbleForBrowser(
Browser* browser);
#if defined(OS_MACOSX)
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_MACOSX)
static gfx::Rect GetAnchorReferenceBoundsForCocoaBrowser(
Browser* browser,
AnchorPosition anchor);
#endif
// BrowserActionsBarBrowserTest:
void SetUpCommandLine(base::CommandLine* command_line) override;
......
......@@ -2,12 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "build/buildflag.h"
#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 "chrome/browser/ui/views_mode_controller.h"
#include "ui/base/ui_base_features.h"
#include "ui/views/bubble/bubble_dialog_delegate.h"
namespace {
......@@ -22,6 +25,10 @@ ToolbarView* GetToolbarViewForBrowser(Browser* browser) {
// static
ToolbarActionsBarBubbleViews*
ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
#if BUILDFLAG(MAC_VIEWS_BROWSER)
if (views_mode_controller::IsViewsBrowserCocoa())
return GetViewsBubbleForCocoaBrowser(browser);
#endif
return static_cast<ToolbarActionsBarBubbleViews*>(
GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble());
}
......@@ -30,6 +37,10 @@ ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser(
Browser* browser,
AnchorPosition anchor) {
#if BUILDFLAG(MAC_VIEWS_BROWSER)
if (views_mode_controller::IsViewsBrowserCocoa())
return GetAnchorReferenceBoundsForCocoaBrowser(browser, anchor);
#endif
ToolbarView* toolbar_view = GetToolbarViewForBrowser(browser);
BrowserActionsContainer* container = toolbar_view->browser_actions();
views::View* anchor_view = nullptr;
......
......@@ -1438,7 +1438,7 @@ test("browser_tests") {
"../browser/ui/views/collected_cookies_views_browsertest.cc",
"../browser/ui/views/extensions/bookmark_override_browsertest.cc",
"../browser/ui/views/extensions/extension_install_dialog_view_browsertest.cc",
"../browser/ui/views/extensions/extension_message_bubble_view_browsertest_nonmac.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/media_galleries_dialog_views_browsertest.cc",
"../browser/ui/views/frame/browser_non_client_frame_view_browsertest.cc",
......@@ -1830,6 +1830,7 @@ test("browser_tests") {
"../browser/ui/cocoa/applescript/tab_applescript_browsertest.mm",
"../browser/ui/cocoa/applescript/window_applescript_test.mm",
"../browser/ui/cocoa/certificate_viewer_mac_browsertest.mm",
"../browser/ui/cocoa/extensions/extension_message_bubble_views_browsertest_mac.mm",
"../browser/ui/cocoa/share_menu_controller_browsertest.mm",
]
sources -= [
......@@ -1871,7 +1872,6 @@ test("browser_tests") {
"../browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h",
"../browser/ui/cocoa/extensions/extension_install_prompt_test_utils.mm",
"../browser/ui/cocoa/extensions/extension_message_bubble_browsertest_mac.mm",
"../browser/ui/cocoa/extensions/extension_message_bubble_views_browsertest_mac.mm",
"../browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_browsertest.mm",
"../browser/ui/cocoa/extensions/windowed_install_dialog_controller_browsertest.mm",
"../browser/ui/cocoa/find_bar/find_bar_browsertest.mm",
......
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