Commit 956631d4 authored by Karan Bhatia's avatar Karan Bhatia Committed by Commit Bot

Media Router: Delete MediaRouterActionPlatformDelegate.

r591131 unified code to close the overflow menu from the ui/layer, deleting
MediaRouterActionPlatformDelegate::CloseOverflowMenuIfOpen, removing the need
for a delegate. This CL removes the delegate interface and its implementations.
It should have no behavior change.

BUG=None

Change-Id: I54bba038673c6fbba2b84aa17ad63f4c9ed7e229
Reviewed-on: https://chromium-review.googlesource.com/1229776Reviewed-by: default avatarElly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: default avatarDerek Cheng <imcheng@chromium.org>
Commit-Queue: Karan Bhatia <karandeepb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592945}
parent 0c4f6f33
...@@ -386,8 +386,6 @@ jumbo_split_static_library("ui") { ...@@ -386,8 +386,6 @@ jumbo_split_static_library("ui") {
"cocoa/toolbar/app_toolbar_button_cell.mm", "cocoa/toolbar/app_toolbar_button_cell.mm",
"cocoa/toolbar/back_forward_menu_controller.h", "cocoa/toolbar/back_forward_menu_controller.h",
"cocoa/toolbar/back_forward_menu_controller.mm", "cocoa/toolbar/back_forward_menu_controller.mm",
"cocoa/toolbar/media_router_action_platform_delegate_cocoa.h",
"cocoa/toolbar/media_router_action_platform_delegate_cocoa.mm",
"cocoa/toolbar/reload_button_cocoa.h", "cocoa/toolbar/reload_button_cocoa.h",
"cocoa/toolbar/reload_button_cocoa.mm", "cocoa/toolbar/reload_button_cocoa.mm",
"cocoa/toolbar/toolbar_button_cocoa.h", "cocoa/toolbar/toolbar_button_cocoa.h",
...@@ -1406,7 +1404,6 @@ jumbo_split_static_library("ui") { ...@@ -1406,7 +1404,6 @@ jumbo_split_static_library("ui") {
"toolbar/media_router_action.h", "toolbar/media_router_action.h",
"toolbar/media_router_action_controller.cc", "toolbar/media_router_action_controller.cc",
"toolbar/media_router_action_controller.h", "toolbar/media_router_action_controller.h",
"toolbar/media_router_action_platform_delegate.h",
"toolbar/media_router_contextual_menu.cc", "toolbar/media_router_contextual_menu.cc",
"toolbar/media_router_contextual_menu.h", "toolbar/media_router_contextual_menu.h",
"toolbar/recent_tabs_sub_menu_model.cc", "toolbar/recent_tabs_sub_menu_model.cc",
...@@ -3127,8 +3124,6 @@ jumbo_split_static_library("ui") { ...@@ -3127,8 +3124,6 @@ jumbo_split_static_library("ui") {
"views/toolbar/extension_toolbar_menu_view.h", "views/toolbar/extension_toolbar_menu_view.h",
"views/toolbar/home_button.cc", "views/toolbar/home_button.cc",
"views/toolbar/home_button.h", "views/toolbar/home_button.h",
"views/toolbar/media_router_action_platform_delegate_views.cc",
"views/toolbar/media_router_action_platform_delegate_views.h",
"views/toolbar/reload_button.cc", "views/toolbar/reload_button.cc",
"views/toolbar/reload_button.h", "views/toolbar/reload_button.h",
"views/toolbar/toolbar_action_view.cc", "views/toolbar/toolbar_action_view.cc",
......
// Copyright 2015 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.
#ifndef CHROME_BROWSER_UI_COCOA_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_COCOA_H_
#define CHROME_BROWSER_UI_COCOA_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_COCOA_H_
#include "base/macros.h"
#include "chrome/browser/ui/toolbar/media_router_action_platform_delegate.h"
// The Cocoa platform delegate for the Media Router component action.
class MediaRouterActionPlatformDelegateCocoa :
public MediaRouterActionPlatformDelegate {
public:
explicit MediaRouterActionPlatformDelegateCocoa(Browser* browser);
~MediaRouterActionPlatformDelegateCocoa() override;
private:
// The corresponding browser.
Browser* browser_;
DISALLOW_COPY_AND_ASSIGN(MediaRouterActionPlatformDelegateCocoa);
};
#endif // CHROME_BROWSER_UI_COCOA_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_COCOA_H_
// Copyright 2015 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/cocoa/toolbar/media_router_action_platform_delegate_cocoa.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "ui/base/ui_features.h"
// static
std::unique_ptr<MediaRouterActionPlatformDelegate>
MediaRouterActionPlatformDelegate::CreateCocoa(Browser* browser) {
return base::WrapUnique(new MediaRouterActionPlatformDelegateCocoa(browser));
}
#if !BUILDFLAG(MAC_VIEWS_BROWSER)
std::unique_ptr<MediaRouterActionPlatformDelegate>
MediaRouterActionPlatformDelegate::Create(Browser* browser) {
return CreateCocoa(browser);
}
#endif
MediaRouterActionPlatformDelegateCocoa::MediaRouterActionPlatformDelegateCocoa(
Browser* browser)
: MediaRouterActionPlatformDelegate(),
browser_(browser) {
DCHECK(browser_);
}
MediaRouterActionPlatformDelegateCocoa::
~MediaRouterActionPlatformDelegateCocoa() {
}
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
#include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h" #include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h"
#include "chrome/browser/ui/toolbar/media_router_action_controller.h" #include "chrome/browser/ui/toolbar/media_router_action_controller.h"
#include "chrome/browser/ui/toolbar/media_router_action_platform_delegate.h"
#include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h" #include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h"
#include "chrome/common/media_router/issue.h" #include "chrome/common/media_router/issue.h"
#include "chrome/common/media_router/media_route.h" #include "chrome/common/media_router/media_route.h"
...@@ -54,9 +53,9 @@ MediaRouterAction::MediaRouterAction(Browser* browser, ...@@ -54,9 +53,9 @@ MediaRouterAction::MediaRouterAction(Browser* browser,
delegate_(nullptr), delegate_(nullptr),
browser_(browser), browser_(browser),
toolbar_actions_bar_(toolbar_actions_bar), toolbar_actions_bar_(toolbar_actions_bar),
platform_delegate_(MediaRouterActionPlatformDelegate::Create(browser)),
tab_strip_model_observer_(this), tab_strip_model_observer_(this),
toolbar_actions_bar_observer_(this), toolbar_actions_bar_observer_(this),
skip_close_overflow_menu_for_testing_(false),
weak_ptr_factory_(this) { weak_ptr_factory_(this) {
DCHECK(browser_); DCHECK(browser_);
DCHECK(toolbar_actions_bar_); DCHECK(toolbar_actions_bar_);
...@@ -181,7 +180,7 @@ bool MediaRouterAction::ExecuteAction(bool by_user) { ...@@ -181,7 +180,7 @@ bool MediaRouterAction::ExecuteAction(bool by_user) {
} }
GetMediaRouterDialogController()->ShowMediaRouterDialog(); GetMediaRouterDialogController()->ShowMediaRouterDialog();
if (GetPlatformDelegate()) { if (!skip_close_overflow_menu_for_testing_) {
// TODO(karandeepb): Instead of checking the return value of // TODO(karandeepb): Instead of checking the return value of
// CloseOverflowMenuIfOpen, just check // CloseOverflowMenuIfOpen, just check
// ToolbarActionsBar::IsActionVisibleOnMainBar. // ToolbarActionsBar::IsActionVisibleOnMainBar.
...@@ -286,10 +285,6 @@ MediaRouterAction::GetMediaRouterDialogController() { ...@@ -286,10 +285,6 @@ MediaRouterAction::GetMediaRouterDialogController() {
web_contents); web_contents);
} }
MediaRouterActionPlatformDelegate* MediaRouterAction::GetPlatformDelegate() {
return platform_delegate_.get();
}
void MediaRouterAction::MaybeUpdateIcon() { void MediaRouterAction::MaybeUpdateIcon() {
const gfx::VectorIcon& new_icon = GetCurrentIcon(); const gfx::VectorIcon& new_icon = GetCurrentIcon();
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h"
class Browser; class Browser;
class MediaRouterActionPlatformDelegate;
class TabStripModel; class TabStripModel;
namespace gfx { namespace gfx {
...@@ -86,6 +85,10 @@ class MediaRouterAction : public ToolbarActionViewController, ...@@ -86,6 +85,10 @@ class MediaRouterAction : public ToolbarActionViewController,
void OnDialogHidden(); void OnDialogHidden();
void OnDialogShown(); void OnDialogShown();
void set_skip_close_overflow_menu_for_testing(bool val) {
skip_close_overflow_menu_for_testing_ = val;
}
private: private:
// Registers |this| with the MediaRouterDialogControllerImplBase associated // Registers |this| with the MediaRouterDialogControllerImplBase associated
// with |delegate_|'s current WebContents if |this| is not shown in overflow // with |delegate_|'s current WebContents if |this| is not shown in overflow
...@@ -105,9 +108,6 @@ class MediaRouterAction : public ToolbarActionViewController, ...@@ -105,9 +108,6 @@ class MediaRouterAction : public ToolbarActionViewController,
virtual media_router::MediaRouterDialogControllerImplBase* virtual media_router::MediaRouterDialogControllerImplBase*
GetMediaRouterDialogController(); GetMediaRouterDialogController();
// Overridden by tests.
virtual MediaRouterActionPlatformDelegate* GetPlatformDelegate();
// Checks if the current icon of MediaRouterAction has changed. If so, // Checks if the current icon of MediaRouterAction has changed. If so,
// updates |current_icon_|. // updates |current_icon_|.
void MaybeUpdateIcon(); void MaybeUpdateIcon();
...@@ -136,9 +136,6 @@ class MediaRouterAction : public ToolbarActionViewController, ...@@ -136,9 +136,6 @@ class MediaRouterAction : public ToolbarActionViewController,
Browser* const browser_; Browser* const browser_;
ToolbarActionsBar* const toolbar_actions_bar_; ToolbarActionsBar* const toolbar_actions_bar_;
// The delegate to handle platform-specific implementations.
std::unique_ptr<MediaRouterActionPlatformDelegate> platform_delegate_;
std::unique_ptr<MediaRouterContextualMenu> contextual_menu_; std::unique_ptr<MediaRouterContextualMenu> contextual_menu_;
ScopedObserver<TabStripModel, TabStripModelObserver> ScopedObserver<TabStripModel, TabStripModelObserver>
...@@ -146,6 +143,8 @@ class MediaRouterAction : public ToolbarActionViewController, ...@@ -146,6 +143,8 @@ class MediaRouterAction : public ToolbarActionViewController,
ScopedObserver<ToolbarActionsBar, ToolbarActionsBarObserver> ScopedObserver<ToolbarActionsBar, ToolbarActionsBarObserver>
toolbar_actions_bar_observer_; toolbar_actions_bar_observer_;
bool skip_close_overflow_menu_for_testing_;
base::WeakPtrFactory<MediaRouterAction> weak_ptr_factory_; base::WeakPtrFactory<MediaRouterAction> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(MediaRouterAction); DISALLOW_COPY_AND_ASSIGN(MediaRouterAction);
......
// Copyright 2015 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.
#ifndef CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_H_
#define CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_H_
#include <memory>
#include "build/build_config.h"
class Browser;
// TODO(karandeepb): Delete this class.
class MediaRouterActionPlatformDelegate {
public:
MediaRouterActionPlatformDelegate() {}
virtual ~MediaRouterActionPlatformDelegate() {}
// Returns a created MediaRouterActionPlatformDelegate. This is defined in the
// platform-specific implementation for the class.
static std::unique_ptr<MediaRouterActionPlatformDelegate> Create(
Browser* browser);
#if defined(OS_MACOSX)
// Temporary shim for Polychrome. See bottom of first comment in
// https://crbug.com/80495 for details.
static std::unique_ptr<MediaRouterActionPlatformDelegate> CreateCocoa(
Browser* browser);
#endif
};
#endif // CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_H_
...@@ -50,9 +50,7 @@ class TestMediaRouterAction : public MediaRouterAction { ...@@ -50,9 +50,7 @@ class TestMediaRouterAction : public MediaRouterAction {
public: public:
TestMediaRouterAction(Browser* browser, TestMediaRouterAction(Browser* browser,
ToolbarActionsBar* toolbar_actions_bar) ToolbarActionsBar* toolbar_actions_bar)
: MediaRouterAction(browser, toolbar_actions_bar), : MediaRouterAction(browser, toolbar_actions_bar), controller_(nullptr) {}
controller_(nullptr),
platform_delegate_(nullptr) {}
~TestMediaRouterAction() override {} ~TestMediaRouterAction() override {}
// MediaRouterAction: // MediaRouterAction:
...@@ -79,12 +77,8 @@ class TestMediaRouterAction : public MediaRouterAction { ...@@ -79,12 +77,8 @@ class TestMediaRouterAction : public MediaRouterAction {
override { override {
return controller_; return controller_;
} }
MediaRouterActionPlatformDelegate* GetPlatformDelegate() override {
return platform_delegate_;
}
MediaRouterDialogControllerWebUIImpl* controller_; MediaRouterDialogControllerWebUIImpl* controller_;
MediaRouterActionPlatformDelegate* platform_delegate_;
}; };
class MediaRouterActionUnitTest : public MediaRouterWebUITest { class MediaRouterActionUnitTest : public MediaRouterWebUITest {
...@@ -330,6 +324,9 @@ TEST_F(MediaRouterActionUnitTest, IconPressedState) { ...@@ -330,6 +324,9 @@ TEST_F(MediaRouterActionUnitTest, IconPressedState) {
.WillOnce(testing::Return(initiator)); .WillOnce(testing::Return(initiator));
action()->SetDelegate(mock_delegate.get()); action()->SetDelegate(mock_delegate.get());
// Skip closing the overflow menu in tests.
action()->set_skip_close_overflow_menu_for_testing(true);
EXPECT_CALL(*mock_delegate, OnPopupShown(true)).Times(1); EXPECT_CALL(*mock_delegate, OnPopupShown(true)).Times(1);
action()->ExecuteAction(true); action()->ExecuteAction(true);
EXPECT_TRUE(dialog_controller->IsShowingMediaRouterDialog()); EXPECT_TRUE(dialog_controller->IsShowingMediaRouterDialog());
......
// Copyright 2015 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/views/toolbar/media_router_action_platform_delegate_views.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "build/build_config.h"
#include "chrome/browser/ui/views_mode_controller.h"
// static
std::unique_ptr<MediaRouterActionPlatformDelegate>
MediaRouterActionPlatformDelegate::Create(Browser* browser) {
#if defined(OS_MACOSX)
if (views_mode_controller::IsViewsBrowserCocoa())
return CreateCocoa(browser);
#endif
return base::WrapUnique(new MediaRouterActionPlatformDelegateViews(browser));
}
MediaRouterActionPlatformDelegateViews::MediaRouterActionPlatformDelegateViews(
Browser* browser)
: MediaRouterActionPlatformDelegate(),
browser_(browser) {
DCHECK(browser_);
}
MediaRouterActionPlatformDelegateViews::
~MediaRouterActionPlatformDelegateViews() {
}
// Copyright 2015 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.
#ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_VIEWS_H_
#define CHROME_BROWSER_UI_VIEWS_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_VIEWS_H_
#include "base/macros.h"
#include "chrome/browser/ui/toolbar/media_router_action_platform_delegate.h"
// The Views platform delegate for the Media Router component action.
class MediaRouterActionPlatformDelegateViews :
public MediaRouterActionPlatformDelegate {
public:
explicit MediaRouterActionPlatformDelegateViews(Browser* browser);
~MediaRouterActionPlatformDelegateViews() override;
private:
// The corresponding browser.
Browser* const browser_;
DISALLOW_COPY_AND_ASSIGN(MediaRouterActionPlatformDelegateViews);
};
#endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_MEDIA_ROUTER_ACTION_PLATFORM_DELEGATE_VIEWS_H_
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