Commit 6d7a1ad1 authored by Muyao Xu's avatar Muyao Xu Committed by Commit Bot

Move MediaRouterViewsUI out of the chrome/browser/ui/view/ directory

MediaRouterViewsUI is not dependent on ui/views/view.h and can be moved
to c/b/u/ directory. Also renamed the class to MediaRouterUI.

Bug: 1116045
Change-Id: I222f5b194b7e707602feb53221ba9e6ec8b35a8f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2354414
Commit-Queue: Muyao Xu <muyaoxu@google.com>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#801468}
parent 2dfa8cd8
...@@ -1044,6 +1044,8 @@ static_library("ui") { ...@@ -1044,6 +1044,8 @@ static_library("ui") {
"media_router/media_cast_mode.h", "media_router/media_cast_mode.h",
"media_router/media_router_file_dialog.cc", "media_router/media_router_file_dialog.cc",
"media_router/media_router_file_dialog.h", "media_router/media_router_file_dialog.h",
"media_router/media_router_ui.cc",
"media_router/media_router_ui.h",
"media_router/media_router_ui_helper.cc", "media_router/media_router_ui_helper.cc",
"media_router/media_router_ui_helper.h", "media_router/media_router_ui_helper.h",
"media_router/media_router_ui_service.cc", "media_router/media_router_ui_service.cc",
...@@ -3600,8 +3602,6 @@ static_library("ui") { ...@@ -3600,8 +3602,6 @@ static_library("ui") {
"views/media_router/media_remoting_dialog_view.h", "views/media_router/media_remoting_dialog_view.h",
"views/media_router/media_router_dialog_controller_views.cc", "views/media_router/media_router_dialog_controller_views.cc",
"views/media_router/media_router_dialog_controller_views.h", "views/media_router/media_router_dialog_controller_views.h",
"views/media_router/media_router_views_ui.cc",
"views/media_router/media_router_views_ui.h",
"views/media_router/presentation_receiver_window_factory.cc", "views/media_router/presentation_receiver_window_factory.cc",
"views/media_router/presentation_receiver_window_frame.cc", "views/media_router/presentation_receiver_window_frame.cc",
"views/media_router/presentation_receiver_window_frame.h", "views/media_router/presentation_receiver_window_frame.h",
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/ui/views/media_router/media_router_views_ui.h" #include "chrome/browser/ui/media_router/media_router_ui.h"
#include <algorithm> #include <algorithm>
#include <string> #include <string>
...@@ -65,7 +65,7 @@ namespace media_router { ...@@ -65,7 +65,7 @@ namespace media_router {
namespace { namespace {
constexpr char kLoggerComponent[] = "MediaRouterViewsUI"; constexpr char kLoggerComponent[] = "MediaRouterUI";
// Returns true if |issue| is associated with |ui_sink|. // Returns true if |issue| is associated with |ui_sink|.
bool IssueMatches(const Issue& issue, const UIMediaSink& ui_sink) { bool IssueMatches(const Issue& issue, const UIMediaSink& ui_sink) {
...@@ -118,7 +118,7 @@ bool RequiresScreenCapturePermission(MediaCastMode cast_mode) { ...@@ -118,7 +118,7 @@ bool RequiresScreenCapturePermission(MediaCastMode cast_mode) {
} }
#endif #endif
// Observes a WebContents following a call to MediaRouterViewsUI::CreateRoute() // Observes a WebContents following a call to MediaRouterUI::CreateRoute()
// and calls MediaRoute::CreateRoute() only after naviation is complete. // and calls MediaRoute::CreateRoute() only after naviation is complete.
// Deletes itself when no longer needed. // Deletes itself when no longer needed.
// //
...@@ -161,7 +161,7 @@ class WebContentsCreateRouteObserver final ...@@ -161,7 +161,7 @@ class WebContentsCreateRouteObserver final
// video element. The request is sent after the WebContents is loaded and tab // video element. The request is sent after the WebContents is loaded and tab
// capture has begun. Marked final to prevent inheritance so delete calls are // capture has begun. Marked final to prevent inheritance so delete calls are
// contained to scenarios documented below. // contained to scenarios documented below.
class MediaRouterViewsUI::WebContentsFullscreenOnLoadedObserver final class MediaRouterUI::WebContentsFullscreenOnLoadedObserver final
: public content::WebContentsObserver { : public content::WebContentsObserver {
public: public:
WebContentsFullscreenOnLoadedObserver(const GURL& file_url, WebContentsFullscreenOnLoadedObserver(const GURL& file_url,
...@@ -262,7 +262,7 @@ class MediaRouterViewsUI::WebContentsFullscreenOnLoadedObserver final ...@@ -262,7 +262,7 @@ class MediaRouterViewsUI::WebContentsFullscreenOnLoadedObserver final
base::OneShotTimer capture_poll_timer_; base::OneShotTimer capture_poll_timer_;
}; };
MediaRouterViewsUI::MediaRouterViewsUI(content::WebContents* initiator) MediaRouterUI::MediaRouterUI(content::WebContents* initiator)
: presentation_manager_(WebContentsPresentationManager::Get(initiator)), : presentation_manager_(WebContentsPresentationManager::Get(initiator)),
initiator_(initiator), initiator_(initiator),
logger_(GetMediaRouter()->GetLogger()) { logger_(GetMediaRouter()->GetLogger()) {
...@@ -271,7 +271,7 @@ MediaRouterViewsUI::MediaRouterViewsUI(content::WebContents* initiator) ...@@ -271,7 +271,7 @@ MediaRouterViewsUI::MediaRouterViewsUI(content::WebContents* initiator)
presentation_manager_->AddObserver(this); presentation_manager_->AddObserver(this);
} }
MediaRouterViewsUI::~MediaRouterViewsUI() { MediaRouterUI::~MediaRouterUI() {
for (CastDialogController::Observer& observer : observers_) for (CastDialogController::Observer& observer : observers_)
observer.OnControllerInvalidated(); observer.OnControllerInvalidated();
...@@ -301,23 +301,22 @@ MediaRouterViewsUI::~MediaRouterViewsUI() { ...@@ -301,23 +301,22 @@ MediaRouterViewsUI::~MediaRouterViewsUI() {
} }
} }
void MediaRouterViewsUI::AddObserver(CastDialogController::Observer* observer) { void MediaRouterUI::AddObserver(CastDialogController::Observer* observer) {
observers_.AddObserver(observer); observers_.AddObserver(observer);
// TODO(takumif): Update the header when this object is initialized instead. // TODO(takumif): Update the header when this object is initialized instead.
UpdateModelHeader(); UpdateModelHeader();
} }
void MediaRouterViewsUI::RemoveObserver( void MediaRouterUI::RemoveObserver(CastDialogController::Observer* observer) {
CastDialogController::Observer* observer) {
observers_.RemoveObserver(observer); observers_.RemoveObserver(observer);
} }
void MediaRouterViewsUI::StartCasting(const std::string& sink_id, void MediaRouterUI::StartCasting(const std::string& sink_id,
MediaCastMode cast_mode) { MediaCastMode cast_mode) {
CreateRoute(sink_id, cast_mode); CreateRoute(sink_id, cast_mode);
} }
void MediaRouterViewsUI::StopCasting(const std::string& route_id) { void MediaRouterUI::StopCasting(const std::string& route_id) {
terminating_route_id_ = route_id; terminating_route_id_ = route_id;
// |route_id| may become invalid after UpdateSinks(), so we cannot refer to // |route_id| may become invalid after UpdateSinks(), so we cannot refer to
// |route_id| below this line. // |route_id| below this line.
...@@ -325,17 +324,17 @@ void MediaRouterViewsUI::StopCasting(const std::string& route_id) { ...@@ -325,17 +324,17 @@ void MediaRouterViewsUI::StopCasting(const std::string& route_id) {
TerminateRoute(terminating_route_id_.value()); TerminateRoute(terminating_route_id_.value());
} }
void MediaRouterViewsUI::ChooseLocalFile( void MediaRouterUI::ChooseLocalFile(
base::OnceCallback<void(const ui::SelectedFileInfo*)> callback) { base::OnceCallback<void(const ui::SelectedFileInfo*)> callback) {
file_selection_callback_ = std::move(callback); file_selection_callback_ = std::move(callback);
OpenFileDialog(); OpenFileDialog();
} }
void MediaRouterViewsUI::ClearIssue(const Issue::Id& issue_id) { void MediaRouterUI::ClearIssue(const Issue::Id& issue_id) {
RemoveIssue(issue_id); RemoveIssue(issue_id);
} }
void MediaRouterViewsUI::InitWithDefaultMediaSource() { void MediaRouterUI::InitWithDefaultMediaSource() {
DCHECK(!query_result_manager_); DCHECK(!query_result_manager_);
InitCommon(); InitCommon();
...@@ -347,12 +346,12 @@ void MediaRouterViewsUI::InitWithDefaultMediaSource() { ...@@ -347,12 +346,12 @@ void MediaRouterViewsUI::InitWithDefaultMediaSource() {
// Register for MediaRoute updates without a media source. // Register for MediaRoute updates without a media source.
routes_observer_ = std::make_unique<UIMediaRoutesObserver>( routes_observer_ = std::make_unique<UIMediaRoutesObserver>(
GetMediaRouter(), MediaSource::Id(), GetMediaRouter(), MediaSource::Id(),
base::BindRepeating(&MediaRouterViewsUI::OnRoutesUpdated, base::BindRepeating(&MediaRouterUI::OnRoutesUpdated,
base::Unretained(this))); base::Unretained(this)));
} }
} }
void MediaRouterViewsUI::InitWithStartPresentationContext( void MediaRouterUI::InitWithStartPresentationContext(
std::unique_ptr<StartPresentationContext> context) { std::unique_ptr<StartPresentationContext> context) {
DCHECK(context); DCHECK(context);
DCHECK(!start_presentation_context_); DCHECK(!start_presentation_context_);
...@@ -365,7 +364,7 @@ void MediaRouterViewsUI::InitWithStartPresentationContext( ...@@ -365,7 +364,7 @@ void MediaRouterViewsUI::InitWithStartPresentationContext(
&start_presentation_context_->presentation_request()); &start_presentation_context_->presentation_request());
} }
bool MediaRouterViewsUI::CreateRoute(const MediaSink::Id& sink_id, bool MediaRouterUI::CreateRoute(const MediaSink::Id& sink_id,
MediaCastMode cast_mode) { MediaCastMode cast_mode) {
logger_->LogInfo(mojom::LogCategory::kUi, kLoggerComponent, logger_->LogInfo(mojom::LogCategory::kUi, kLoggerComponent,
"CreateRoute requested by MediaRouterViewsUI.", sink_id, "", "CreateRoute requested by MediaRouterViewsUI.", sink_id, "",
...@@ -429,15 +428,14 @@ bool MediaRouterViewsUI::CreateRoute(const MediaSink::Id& sink_id, ...@@ -429,15 +428,14 @@ bool MediaRouterViewsUI::CreateRoute(const MediaSink::Id& sink_id,
return true; return true;
} }
void MediaRouterViewsUI::TerminateRoute(const MediaRoute::Id& route_id) { void MediaRouterUI::TerminateRoute(const MediaRoute::Id& route_id) {
logger_->LogInfo(mojom::LogCategory::kUi, kLoggerComponent, logger_->LogInfo(mojom::LogCategory::kUi, kLoggerComponent,
"TerminateRoute requested by MediaRouterViewsUI.", "", "", "TerminateRoute requested by MediaRouterUI.", "", "",
MediaRoute::GetPresentationIdFromMediaRouteId(route_id)); MediaRoute::GetPresentationIdFromMediaRouteId(route_id));
GetMediaRouter()->TerminateRoute(route_id); GetMediaRouter()->TerminateRoute(route_id);
} }
std::vector<MediaSinkWithCastModes> MediaRouterViewsUI::GetEnabledSinks() std::vector<MediaSinkWithCastModes> MediaRouterUI::GetEnabledSinks() const {
const {
if (!display_observer_) if (!display_observer_)
return sinks_; return sinks_;
...@@ -477,7 +475,7 @@ std::vector<MediaSinkWithCastModes> MediaRouterViewsUI::GetEnabledSinks() ...@@ -477,7 +475,7 @@ std::vector<MediaSinkWithCastModes> MediaRouterViewsUI::GetEnabledSinks()
return enabled_sinks; return enabled_sinks;
} }
base::string16 MediaRouterViewsUI::GetPresentationRequestSourceName() const { base::string16 MediaRouterUI::GetPresentationRequestSourceName() const {
GURL gurl = GetFrameURL(); GURL gurl = GetFrameURL();
// Presentation URLs are only possible on https: and other secure contexts, // Presentation URLs are only possible on https: and other secure contexts,
// so we can omit http/https schemes here. // so we can omit http/https schemes here.
...@@ -489,7 +487,7 @@ base::string16 MediaRouterViewsUI::GetPresentationRequestSourceName() const { ...@@ -489,7 +487,7 @@ base::string16 MediaRouterViewsUI::GetPresentationRequestSourceName() const {
gurl, url_formatter::SchemeDisplay::OMIT_HTTP_AND_HTTPS); gurl, url_formatter::SchemeDisplay::OMIT_HTTP_AND_HTTPS);
} }
void MediaRouterViewsUI::AddIssue(const IssueInfo& issue) { void MediaRouterUI::AddIssue(const IssueInfo& issue) {
GetIssueManager()->AddIssue(issue); GetIssueManager()->AddIssue(issue);
switch (issue.severity) { switch (issue.severity) {
case IssueInfo::Severity::NOTIFICATION: case IssueInfo::Severity::NOTIFICATION:
...@@ -509,11 +507,11 @@ void MediaRouterViewsUI::AddIssue(const IssueInfo& issue) { ...@@ -509,11 +507,11 @@ void MediaRouterViewsUI::AddIssue(const IssueInfo& issue) {
} }
} }
void MediaRouterViewsUI::RemoveIssue(const Issue::Id& issue_id) { void MediaRouterUI::RemoveIssue(const Issue::Id& issue_id) {
GetIssueManager()->ClearIssue(issue_id); GetIssueManager()->ClearIssue(issue_id);
} }
void MediaRouterViewsUI::OpenFileDialog() { void MediaRouterUI::OpenFileDialog() {
if (!media_router_file_dialog_) { if (!media_router_file_dialog_) {
media_router_file_dialog_ = media_router_file_dialog_ =
std::make_unique<MediaRouterFileDialog>(weak_factory_.GetWeakPtr()); std::make_unique<MediaRouterFileDialog>(weak_factory_.GetWeakPtr());
...@@ -522,7 +520,7 @@ void MediaRouterViewsUI::OpenFileDialog() { ...@@ -522,7 +520,7 @@ void MediaRouterViewsUI::OpenFileDialog() {
media_router_file_dialog_->OpenFileDialog(GetBrowser()); media_router_file_dialog_->OpenFileDialog(GetBrowser());
} }
void MediaRouterViewsUI::LogMediaSinkStatus() { void MediaRouterUI::LogMediaSinkStatus() {
std::vector<std::string> sink_ids; std::vector<std::string> sink_ids;
for (const auto& sink : GetEnabledSinks()) { for (const auto& sink : GetEnabledSinks()) {
if (sink.sink.id().length() <= 4) { if (sink.sink.id().length() <= 4) {
...@@ -540,32 +538,31 @@ void MediaRouterViewsUI::LogMediaSinkStatus() { ...@@ -540,32 +538,31 @@ void MediaRouterViewsUI::LogMediaSinkStatus() {
"", "", ""); "", "", "");
} }
MediaRouterViewsUI::RouteRequest::RouteRequest(const MediaSink::Id& sink_id) MediaRouterUI::RouteRequest::RouteRequest(const MediaSink::Id& sink_id)
: sink_id(sink_id) { : sink_id(sink_id) {
static base::AtomicSequenceNumber g_next_request_id; static base::AtomicSequenceNumber g_next_request_id;
id = g_next_request_id.GetNext(); id = g_next_request_id.GetNext();
} }
MediaRouterViewsUI::RouteRequest::~RouteRequest() = default; MediaRouterUI::RouteRequest::~RouteRequest() = default;
MediaRouterViewsUI::UiIssuesObserver::UiIssuesObserver( MediaRouterUI::UiIssuesObserver::UiIssuesObserver(IssueManager* issue_manager,
IssueManager* issue_manager, MediaRouterUI* ui)
MediaRouterViewsUI* ui)
: IssuesObserver(issue_manager), ui_(ui) { : IssuesObserver(issue_manager), ui_(ui) {
DCHECK(ui); DCHECK(ui);
} }
MediaRouterViewsUI::UiIssuesObserver::~UiIssuesObserver() = default; MediaRouterUI::UiIssuesObserver::~UiIssuesObserver() = default;
void MediaRouterViewsUI::UiIssuesObserver::OnIssue(const Issue& issue) { void MediaRouterUI::UiIssuesObserver::OnIssue(const Issue& issue) {
ui_->OnIssue(issue); ui_->OnIssue(issue);
} }
void MediaRouterViewsUI::UiIssuesObserver::OnIssuesCleared() { void MediaRouterUI::UiIssuesObserver::OnIssuesCleared() {
ui_->OnIssueCleared(); ui_->OnIssueCleared();
} }
MediaRouterViewsUI::UIMediaRoutesObserver::UIMediaRoutesObserver( MediaRouterUI::UIMediaRoutesObserver::UIMediaRoutesObserver(
MediaRouter* router, MediaRouter* router,
const MediaSource::Id& source_id, const MediaSource::Id& source_id,
const RoutesUpdatedCallback& callback) const RoutesUpdatedCallback& callback)
...@@ -573,25 +570,25 @@ MediaRouterViewsUI::UIMediaRoutesObserver::UIMediaRoutesObserver( ...@@ -573,25 +570,25 @@ MediaRouterViewsUI::UIMediaRoutesObserver::UIMediaRoutesObserver(
DCHECK(!callback_.is_null()); DCHECK(!callback_.is_null());
} }
MediaRouterViewsUI::UIMediaRoutesObserver::~UIMediaRoutesObserver() = default; MediaRouterUI::UIMediaRoutesObserver::~UIMediaRoutesObserver() = default;
void MediaRouterViewsUI::UIMediaRoutesObserver::OnRoutesUpdated( void MediaRouterUI::UIMediaRoutesObserver::OnRoutesUpdated(
const std::vector<MediaRoute>& routes, const std::vector<MediaRoute>& routes,
const std::vector<MediaRoute::Id>& joinable_route_ids) { const std::vector<MediaRoute::Id>& joinable_route_ids) {
callback_.Run(routes, joinable_route_ids); callback_.Run(routes, joinable_route_ids);
} }
std::vector<MediaSource> MediaRouterViewsUI::GetSourcesForCastMode( std::vector<MediaSource> MediaRouterUI::GetSourcesForCastMode(
MediaCastMode cast_mode) const { MediaCastMode cast_mode) const {
return query_result_manager_->GetSourcesForCastMode(cast_mode); return query_result_manager_->GetSourcesForCastMode(cast_mode);
} }
void MediaRouterViewsUI::HandleCreateSessionRequestRouteResponse( void MediaRouterUI::HandleCreateSessionRequestRouteResponse(
const RouteRequestResult&) { const RouteRequestResult&) {
// TODO(crbug.com/868186): Close the dialog. // TODO(crbug.com/868186): Close the dialog.
} }
void MediaRouterViewsUI::InitCommon() { void MediaRouterUI::InitCommon() {
GetMediaRouter()->OnUserGesture(); GetMediaRouter()->OnUserGesture();
// Create |collator_| before |query_result_manager_| so that |collator_| is // Create |collator_| before |query_result_manager_| so that |collator_| is
...@@ -634,13 +631,13 @@ void MediaRouterViewsUI::InitCommon() { ...@@ -634,13 +631,13 @@ void MediaRouterViewsUI::InitCommon() {
OnRoutesUpdated(GetMediaRouter()->GetCurrentRoutes(), OnRoutesUpdated(GetMediaRouter()->GetCurrentRoutes(),
std::vector<MediaRoute::Id>()); std::vector<MediaRoute::Id>());
display_observer_ = WebContentsDisplayObserver::Create( display_observer_ = WebContentsDisplayObserver::Create(
initiator_, base::BindRepeating(&MediaRouterViewsUI::UpdateSinks, initiator_,
base::Unretained(this))); base::BindRepeating(&MediaRouterUI::UpdateSinks, base::Unretained(this)));
StartObservingIssues(); StartObservingIssues();
} }
void MediaRouterViewsUI::OnDefaultPresentationChanged( void MediaRouterUI::OnDefaultPresentationChanged(
const content::PresentationRequest* presentation_request) { const content::PresentationRequest* presentation_request) {
if (!presentation_request) { if (!presentation_request) {
OnDefaultPresentationRemoved(); OnDefaultPresentationRemoved();
...@@ -664,26 +661,26 @@ void MediaRouterViewsUI::OnDefaultPresentationChanged( ...@@ -664,26 +661,26 @@ void MediaRouterViewsUI::OnDefaultPresentationChanged(
GetSourceForRouteObserver(sources); GetSourceForRouteObserver(sources);
routes_observer_ = std::make_unique<UIMediaRoutesObserver>( routes_observer_ = std::make_unique<UIMediaRoutesObserver>(
GetMediaRouter(), source_for_route_observer.id(), GetMediaRouter(), source_for_route_observer.id(),
base::BindRepeating(&MediaRouterViewsUI::OnRoutesUpdated, base::BindRepeating(&MediaRouterUI::OnRoutesUpdated,
base::Unretained(this))); base::Unretained(this)));
UpdateModelHeader(); UpdateModelHeader();
} }
void MediaRouterViewsUI::OnDefaultPresentationRemoved() { void MediaRouterUI::OnDefaultPresentationRemoved() {
presentation_request_.reset(); presentation_request_.reset();
query_result_manager_->RemoveSourcesForCastMode(MediaCastMode::PRESENTATION); query_result_manager_->RemoveSourcesForCastMode(MediaCastMode::PRESENTATION);
// Register for MediaRoute updates without a media source. // Register for MediaRoute updates without a media source.
routes_observer_ = std::make_unique<UIMediaRoutesObserver>( routes_observer_ = std::make_unique<UIMediaRoutesObserver>(
GetMediaRouter(), MediaSource::Id(), GetMediaRouter(), MediaSource::Id(),
base::BindRepeating(&MediaRouterViewsUI::OnRoutesUpdated, base::BindRepeating(&MediaRouterUI::OnRoutesUpdated,
base::Unretained(this))); base::Unretained(this)));
UpdateModelHeader(); UpdateModelHeader();
} }
void MediaRouterViewsUI::UpdateSinks() { void MediaRouterUI::UpdateSinks() {
std::vector<UIMediaSink> media_sinks; std::vector<UIMediaSink> media_sinks;
for (const MediaSinkWithCastModes& sink : GetEnabledSinks()) { for (const MediaSinkWithCastModes& sink : GetEnabledSinks()) {
auto pred = [&sink](const MediaRoute& route) { auto pred = [&sink](const MediaRoute& route) {
...@@ -698,7 +695,7 @@ void MediaRouterViewsUI::UpdateSinks() { ...@@ -698,7 +695,7 @@ void MediaRouterViewsUI::UpdateSinks() {
observer.OnModelUpdated(model_); observer.OnModelUpdated(model_);
} }
base::Optional<RouteParameters> MediaRouterViewsUI::GetRouteParameters( base::Optional<RouteParameters> MediaRouterUI::GetRouteParameters(
const MediaSink::Id& sink_id, const MediaSink::Id& sink_id,
MediaCastMode cast_mode) { MediaCastMode cast_mode) {
DCHECK(query_result_manager_); DCHECK(query_result_manager_);
...@@ -756,7 +753,7 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetRouteParameters( ...@@ -756,7 +753,7 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetRouteParameters(
// dialogs as browser-initiated. // dialogs as browser-initiated.
// TODO(https://crbug.com/868186): Close the Views dialog in case (2). // TODO(https://crbug.com/868186): Close the Views dialog in case (2).
params.route_result_callbacks.push_back( params.route_result_callbacks.push_back(
base::BindOnce(&MediaRouterViewsUI::OnRouteResponseReceived, base::BindOnce(&MediaRouterUI::OnRouteResponseReceived,
weak_factory_.GetWeakPtr(), current_route_request_->id, weak_factory_.GetWeakPtr(), current_route_request_->id,
sink_id, cast_mode, GetPresentationRequestSourceName())); sink_id, cast_mode, GetPresentationRequestSourceName()));
if (for_presentation_source) { if (for_presentation_source) {
...@@ -767,7 +764,7 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetRouteParameters( ...@@ -767,7 +764,7 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetRouteParameters(
base::BindOnce(&StartPresentationContext::HandleRouteResponse, base::BindOnce(&StartPresentationContext::HandleRouteResponse,
std::move(start_presentation_context_)); std::move(start_presentation_context_));
params.route_result_callbacks.push_back(base::BindOnce( params.route_result_callbacks.push_back(base::BindOnce(
&MediaRouterViewsUI::HandleCreateSessionRequestRouteResponse, &MediaRouterUI::HandleCreateSessionRequestRouteResponse,
weak_factory_.GetWeakPtr())); weak_factory_.GetWeakPtr()));
} else if (presentation_manager_) { } else if (presentation_manager_) {
params.presentation_callback = base::BindOnce( params.presentation_callback = base::BindOnce(
...@@ -782,12 +779,12 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetRouteParameters( ...@@ -782,12 +779,12 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetRouteParameters(
return base::make_optional(std::move(params)); return base::make_optional(std::move(params));
} }
GURL MediaRouterViewsUI::GetFrameURL() const { GURL MediaRouterUI::GetFrameURL() const {
return presentation_request_ ? presentation_request_->frame_origin.GetURL() return presentation_request_ ? presentation_request_->frame_origin.GetURL()
: GURL(); : GURL();
} }
void MediaRouterViewsUI::SendIssueForRouteTimeout( void MediaRouterUI::SendIssueForRouteTimeout(
MediaCastMode cast_mode, MediaCastMode cast_mode,
const MediaSink::Id& sink_id, const MediaSink::Id& sink_id,
const base::string16& presentation_request_source_name) { const base::string16& presentation_request_source_name) {
...@@ -821,8 +818,7 @@ void MediaRouterViewsUI::SendIssueForRouteTimeout( ...@@ -821,8 +818,7 @@ void MediaRouterViewsUI::SendIssueForRouteTimeout(
} }
#if defined(OS_MAC) #if defined(OS_MAC)
void MediaRouterViewsUI::SendIssueForScreenPermission( void MediaRouterUI::SendIssueForScreenPermission(const MediaSink::Id& sink_id) {
const MediaSink::Id& sink_id) {
std::string issue_title = l10n_util::GetStringUTF8( std::string issue_title = l10n_util::GetStringUTF8(
IDS_MEDIA_ROUTER_ISSUE_MAC_SCREEN_CAPTURE_PERMISSION_ERROR); IDS_MEDIA_ROUTER_ISSUE_MAC_SCREEN_CAPTURE_PERMISSION_ERROR);
IssueInfo issue_info(issue_title, IssueInfo::Action::DISMISS, IssueInfo issue_info(issue_title, IssueInfo::Action::DISMISS,
...@@ -832,8 +828,7 @@ void MediaRouterViewsUI::SendIssueForScreenPermission( ...@@ -832,8 +828,7 @@ void MediaRouterViewsUI::SendIssueForScreenPermission(
} }
#endif #endif
void MediaRouterViewsUI::SendIssueForUnableToCast( void MediaRouterUI::SendIssueForUnableToCast(MediaCastMode cast_mode,
MediaCastMode cast_mode,
const MediaSink::Id& sink_id) { const MediaSink::Id& sink_id) {
// For a generic error, claim a tab error unless it was specifically desktop // For a generic error, claim a tab error unless it was specifically desktop
// mirroring. // mirroring.
...@@ -849,7 +844,7 @@ void MediaRouterViewsUI::SendIssueForUnableToCast( ...@@ -849,7 +844,7 @@ void MediaRouterViewsUI::SendIssueForUnableToCast(
AddIssue(issue_info); AddIssue(issue_info);
} }
void MediaRouterViewsUI::SendIssueForTabAudioNotSupported( void MediaRouterUI::SendIssueForTabAudioNotSupported(
const MediaSink::Id& sink_id) { const MediaSink::Id& sink_id) {
IssueInfo issue_info( IssueInfo issue_info(
l10n_util::GetStringUTF8(IDS_MEDIA_ROUTER_ISSUE_TAB_AUDIO_NOT_SUPPORTED), l10n_util::GetStringUTF8(IDS_MEDIA_ROUTER_ISSUE_TAB_AUDIO_NOT_SUPPORTED),
...@@ -858,27 +853,27 @@ void MediaRouterViewsUI::SendIssueForTabAudioNotSupported( ...@@ -858,27 +853,27 @@ void MediaRouterViewsUI::SendIssueForTabAudioNotSupported(
AddIssue(issue_info); AddIssue(issue_info);
} }
IssueManager* MediaRouterViewsUI::GetIssueManager() { IssueManager* MediaRouterUI::GetIssueManager() {
return GetMediaRouter()->GetIssueManager(); return GetMediaRouter()->GetIssueManager();
} }
void MediaRouterViewsUI::StartObservingIssues() { void MediaRouterUI::StartObservingIssues() {
issues_observer_ = issues_observer_ =
std::make_unique<UiIssuesObserver>(GetIssueManager(), this); std::make_unique<UiIssuesObserver>(GetIssueManager(), this);
issues_observer_->Init(); issues_observer_->Init();
} }
void MediaRouterViewsUI::OnIssue(const Issue& issue) { void MediaRouterUI::OnIssue(const Issue& issue) {
issue_ = issue; issue_ = issue;
UpdateSinks(); UpdateSinks();
} }
void MediaRouterViewsUI::OnIssueCleared() { void MediaRouterUI::OnIssueCleared() {
issue_ = base::nullopt; issue_ = base::nullopt;
UpdateSinks(); UpdateSinks();
} }
void MediaRouterViewsUI::OnRoutesUpdated( void MediaRouterUI::OnRoutesUpdated(
const std::vector<MediaRoute>& routes, const std::vector<MediaRoute>& routes,
const std::vector<MediaRoute::Id>& joinable_route_ids) { const std::vector<MediaRoute::Id>& joinable_route_ids) {
routes_.clear(); routes_.clear();
...@@ -909,7 +904,7 @@ void MediaRouterViewsUI::OnRoutesUpdated( ...@@ -909,7 +904,7 @@ void MediaRouterViewsUI::OnRoutesUpdated(
UpdateSinks(); UpdateSinks();
} }
void MediaRouterViewsUI::OnResultsUpdated( void MediaRouterUI::OnResultsUpdated(
const std::vector<MediaSinkWithCastModes>& sinks) { const std::vector<MediaSinkWithCastModes>& sinks) {
sinks_ = sinks; sinks_ = sinks;
...@@ -922,7 +917,7 @@ void MediaRouterViewsUI::OnResultsUpdated( ...@@ -922,7 +917,7 @@ void MediaRouterViewsUI::OnResultsUpdated(
UpdateSinks(); UpdateSinks();
} }
void MediaRouterViewsUI::OnRouteResponseReceived( void MediaRouterUI::OnRouteResponseReceived(
int route_request_id, int route_request_id,
const MediaSink::Id& sink_id, const MediaSink::Id& sink_id,
MediaCastMode cast_mode, MediaCastMode cast_mode,
...@@ -952,7 +947,7 @@ void MediaRouterViewsUI::OnRouteResponseReceived( ...@@ -952,7 +947,7 @@ void MediaRouterViewsUI::OnRouteResponseReceived(
} }
} }
void MediaRouterViewsUI::UpdateModelHeader() { void MediaRouterUI::UpdateModelHeader() {
const base::string16 source_name = GetPresentationRequestSourceName(); const base::string16 source_name = GetPresentationRequestSourceName();
const base::string16 header_text = const base::string16 header_text =
source_name.empty() source_name.empty()
...@@ -964,8 +959,7 @@ void MediaRouterViewsUI::UpdateModelHeader() { ...@@ -964,8 +959,7 @@ void MediaRouterViewsUI::UpdateModelHeader() {
observer.OnModelUpdated(model_); observer.OnModelUpdated(model_);
} }
UIMediaSink MediaRouterViewsUI::ConvertToUISink( UIMediaSink MediaRouterUI::ConvertToUISink(const MediaSinkWithCastModes& sink,
const MediaSinkWithCastModes& sink,
const MediaRoute* route, const MediaRoute* route,
const base::Optional<Issue>& issue) { const base::Optional<Issue>& issue) {
UIMediaSink ui_sink; UIMediaSink ui_sink;
...@@ -996,21 +990,21 @@ UIMediaSink MediaRouterViewsUI::ConvertToUISink( ...@@ -996,21 +990,21 @@ UIMediaSink MediaRouterViewsUI::ConvertToUISink(
return ui_sink; return ui_sink;
} }
void MediaRouterViewsUI::FileDialogFileSelected( void MediaRouterUI::FileDialogFileSelected(
const ui::SelectedFileInfo& file_info) { const ui::SelectedFileInfo& file_info) {
std::move(file_selection_callback_).Run(&file_info); std::move(file_selection_callback_).Run(&file_info);
} }
void MediaRouterViewsUI::FileDialogSelectionFailed(const IssueInfo& issue) { void MediaRouterUI::FileDialogSelectionFailed(const IssueInfo& issue) {
AddIssue(issue); AddIssue(issue);
std::move(file_selection_callback_).Run(nullptr); std::move(file_selection_callback_).Run(nullptr);
} }
void MediaRouterViewsUI::FileDialogSelectionCanceled() { void MediaRouterUI::FileDialogSelectionCanceled() {
std::move(file_selection_callback_).Run(nullptr); std::move(file_selection_callback_).Run(nullptr);
} }
base::Optional<RouteParameters> MediaRouterViewsUI::GetLocalFileRouteParameters( base::Optional<RouteParameters> MediaRouterUI::GetLocalFileRouteParameters(
const MediaSink::Id& sink_id, const MediaSink::Id& sink_id,
const GURL& file_url, const GURL& file_url,
content::WebContents* tab_contents) { content::WebContents* tab_contents) {
...@@ -1022,19 +1016,18 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetLocalFileRouteParameters( ...@@ -1022,19 +1016,18 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetLocalFileRouteParameters(
int request_id = current_route_request() ? current_route_request()->id : -1; int request_id = current_route_request() ? current_route_request()->id : -1;
params.route_result_callbacks.push_back(base::BindOnce( params.route_result_callbacks.push_back(base::BindOnce(
&MediaRouterViewsUI::OnRouteResponseReceived, weak_factory_.GetWeakPtr(), &MediaRouterUI::OnRouteResponseReceived, weak_factory_.GetWeakPtr(),
request_id, sink_id, MediaCastMode::LOCAL_FILE, request_id, sink_id, MediaCastMode::LOCAL_FILE,
GetPresentationRequestSourceName())); GetPresentationRequestSourceName()));
params.route_result_callbacks.push_back( params.route_result_callbacks.push_back(
base::BindOnce(&MaybeReportCastingSource, MediaCastMode::LOCAL_FILE)); base::BindOnce(&MaybeReportCastingSource, MediaCastMode::LOCAL_FILE));
params.route_result_callbacks.push_back( params.route_result_callbacks.push_back(base::BindOnce(
base::BindOnce(&MediaRouterViewsUI::MaybeReportFileInformation, &MediaRouterUI::MaybeReportFileInformation, weak_factory_.GetWeakPtr()));
weak_factory_.GetWeakPtr()));
params.route_result_callbacks.push_back( params.route_result_callbacks.push_back(
base::BindOnce(&MediaRouterViewsUI::FullScreenFirstVideoElement, base::BindOnce(&MediaRouterUI::FullScreenFirstVideoElement,
weak_factory_.GetWeakPtr(), file_url, tab_contents)); weak_factory_.GetWeakPtr(), file_url, tab_contents));
params.timeout = GetRouteRequestTimeout(MediaCastMode::LOCAL_FILE); params.timeout = GetRouteRequestTimeout(MediaCastMode::LOCAL_FILE);
...@@ -1047,7 +1040,7 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetLocalFileRouteParameters( ...@@ -1047,7 +1040,7 @@ base::Optional<RouteParameters> MediaRouterViewsUI::GetLocalFileRouteParameters(
// TODO(crbug.com/792547): Refactor FullScreenFirstVideoElement() and // TODO(crbug.com/792547): Refactor FullScreenFirstVideoElement() and
// MaybeReportFileInformation() into a local media casting specific location // MaybeReportFileInformation() into a local media casting specific location
// instead of here in the main ui. // instead of here in the main ui.
void MediaRouterViewsUI::FullScreenFirstVideoElement( void MediaRouterUI::FullScreenFirstVideoElement(
const GURL& file_url, const GURL& file_url,
content::WebContents* web_contents, content::WebContents* web_contents,
const RouteRequestResult& result) { const RouteRequestResult& result) {
...@@ -1055,13 +1048,13 @@ void MediaRouterViewsUI::FullScreenFirstVideoElement( ...@@ -1055,13 +1048,13 @@ void MediaRouterViewsUI::FullScreenFirstVideoElement(
new WebContentsFullscreenOnLoadedObserver(file_url, web_contents); new WebContentsFullscreenOnLoadedObserver(file_url, web_contents);
} }
void MediaRouterViewsUI::MaybeReportFileInformation( void MediaRouterUI::MaybeReportFileInformation(
const RouteRequestResult& result) { const RouteRequestResult& result) {
if (result.result_code() == RouteRequestResult::OK) if (result.result_code() == RouteRequestResult::OK)
media_router_file_dialog_->MaybeReportLastSelectedFileInformation(); media_router_file_dialog_->MaybeReportLastSelectedFileInformation();
} }
content::WebContents* MediaRouterViewsUI::OpenTabWithUrl(const GURL& url) { content::WebContents* MediaRouterUI::OpenTabWithUrl(const GURL& url) {
// Check if the current page is a new tab. If so open file in current page. // Check if the current page is a new tab. If so open file in current page.
// If not then open a new page. // If not then open a new page.
auto initiatorOrigin = initiator_->GetVisibleURL().GetOrigin(); auto initiatorOrigin = initiator_->GetVisibleURL().GetOrigin();
...@@ -1077,16 +1070,16 @@ content::WebContents* MediaRouterViewsUI::OpenTabWithUrl(const GURL& url) { ...@@ -1077,16 +1070,16 @@ content::WebContents* MediaRouterViewsUI::OpenTabWithUrl(const GURL& url) {
ui::PAGE_TRANSITION_LINK); ui::PAGE_TRANSITION_LINK);
} }
MediaRouter* MediaRouterViewsUI::GetMediaRouter() const { MediaRouter* MediaRouterUI::GetMediaRouter() const {
return MediaRouterFactory::GetApiForBrowserContext( return MediaRouterFactory::GetApiForBrowserContext(
initiator_->GetBrowserContext()); initiator_->GetBrowserContext());
} }
Browser* MediaRouterViewsUI::GetBrowser() { Browser* MediaRouterUI::GetBrowser() {
return chrome::FindBrowserWithWebContents(initiator_); return chrome::FindBrowserWithWebContents(initiator_);
} }
void MediaRouterViewsUI::SimulateDocumentAvailableForTest() { void MediaRouterUI::SimulateDocumentAvailableForTest() {
DCHECK(web_contents_observer_for_test_); DCHECK(web_contents_observer_for_test_);
web_contents_observer_for_test_->DidFinishNavigation(nullptr); web_contents_observer_for_test_->DidFinishNavigation(nullptr);
} }
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_VIEWS_MEDIA_ROUTER_MEDIA_ROUTER_VIEWS_UI_H_ #ifndef CHROME_BROWSER_UI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_
#define CHROME_BROWSER_UI_VIEWS_MEDIA_ROUTER_MEDIA_ROUTER_VIEWS_UI_H_ #define CHROME_BROWSER_UI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_
#include <memory> #include <memory>
#include <set> #include <set>
...@@ -50,14 +50,14 @@ class MediaSink; ...@@ -50,14 +50,14 @@ class MediaSink;
class RouteRequestResult; class RouteRequestResult;
// Functions as an intermediary between MediaRouter and Views Cast dialog. // Functions as an intermediary between MediaRouter and Views Cast dialog.
class MediaRouterViewsUI class MediaRouterUI
: public CastDialogController, : public CastDialogController,
public QueryResultManager::Observer, public QueryResultManager::Observer,
public WebContentsPresentationManager::Observer, public WebContentsPresentationManager::Observer,
public MediaRouterFileDialog::MediaRouterFileDialogDelegate { public MediaRouterFileDialog::MediaRouterFileDialogDelegate {
public: public:
explicit MediaRouterViewsUI(content::WebContents* initiator); explicit MediaRouterUI(content::WebContents* initiator);
~MediaRouterViewsUI() override; ~MediaRouterUI() override;
// CastDialogController: // CastDialogController:
void AddObserver(CastDialogController::Observer* observer) override; void AddObserver(CastDialogController::Observer* observer) override;
...@@ -173,7 +173,7 @@ class MediaRouterViewsUI ...@@ -173,7 +173,7 @@ class MediaRouterViewsUI
// updated. // updated.
class UiIssuesObserver : public IssuesObserver { class UiIssuesObserver : public IssuesObserver {
public: public:
UiIssuesObserver(IssueManager* issue_manager, MediaRouterViewsUI* ui); UiIssuesObserver(IssueManager* issue_manager, MediaRouterUI* ui);
~UiIssuesObserver() override; ~UiIssuesObserver() override;
// IssuesObserver: // IssuesObserver:
...@@ -181,8 +181,8 @@ class MediaRouterViewsUI ...@@ -181,8 +181,8 @@ class MediaRouterViewsUI
void OnIssuesCleared() override; void OnIssuesCleared() override;
private: private:
// Reference back to the owning MediaRouterViewsUI instance. // Reference back to the owning MediaRouterUI instance.
MediaRouterViewsUI* const ui_; MediaRouterUI* const ui_;
DISALLOW_COPY_AND_ASSIGN(UiIssuesObserver); DISALLOW_COPY_AND_ASSIGN(UiIssuesObserver);
}; };
...@@ -203,7 +203,7 @@ class MediaRouterViewsUI ...@@ -203,7 +203,7 @@ class MediaRouterViewsUI
const std::vector<MediaRoute::Id>& joinable_route_ids) override; const std::vector<MediaRoute::Id>& joinable_route_ids) override;
private: private:
// Callback to the owning MediaRouterViewsUI instance. // Callback to the owning MediaRouterUI instance.
RoutesUpdatedCallback callback_; RoutesUpdatedCallback callback_;
DISALLOW_COPY_AND_ASSIGN(UIMediaRoutesObserver); DISALLOW_COPY_AND_ASSIGN(UIMediaRoutesObserver);
...@@ -418,11 +418,11 @@ class MediaRouterViewsUI ...@@ -418,11 +418,11 @@ class MediaRouterViewsUI
// NOTE: Weak pointers must be invalidated before all other member variables. // NOTE: Weak pointers must be invalidated before all other member variables.
// Therefore |weak_factory_| must be placed at the end. // Therefore |weak_factory_| must be placed at the end.
base::WeakPtrFactory<MediaRouterViewsUI> weak_factory_{this}; base::WeakPtrFactory<MediaRouterUI> weak_factory_{this};
DISALLOW_COPY_AND_ASSIGN(MediaRouterViewsUI); DISALLOW_COPY_AND_ASSIGN(MediaRouterUI);
}; };
} // namespace media_router } // namespace media_router
#endif // CHROME_BROWSER_UI_VIEWS_MEDIA_ROUTER_MEDIA_ROUTER_VIEWS_UI_H_ #endif // CHROME_BROWSER_UI_MEDIA_ROUTER_MEDIA_ROUTER_UI_H_
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/ui/views/media_router/media_router_views_ui.h" #include "chrome/browser/ui/media_router/media_router_ui.h"
#include <initializer_list> #include <initializer_list>
#include <memory> #include <memory>
...@@ -152,7 +152,7 @@ class MediaRouterViewsUITest : public ChromeRenderViewHostTestHarness { ...@@ -152,7 +152,7 @@ class MediaRouterViewsUITest : public ChromeRenderViewHostTestHarness {
ON_CALL(*mock_router_, GetLogger()).WillByDefault(Return(logger_.get())); ON_CALL(*mock_router_, GetLogger()).WillByDefault(Return(logger_.get()));
CreateSessionServiceTabHelper(web_contents()); CreateSessionServiceTabHelper(web_contents());
ui_ = std::make_unique<MediaRouterViewsUI>(web_contents()); ui_ = std::make_unique<MediaRouterUI>(web_contents());
ui_->InitWithDefaultMediaSource(); ui_->InitWithDefaultMediaSource();
} }
...@@ -172,7 +172,7 @@ class MediaRouterViewsUITest : public ChromeRenderViewHostTestHarness { ...@@ -172,7 +172,7 @@ class MediaRouterViewsUITest : public ChromeRenderViewHostTestHarness {
content::RenderFrameHostTester::CommitPendingLoad( content::RenderFrameHostTester::CommitPendingLoad(
&web_contents()->GetController()); &web_contents()->GetController());
CreateSessionServiceTabHelper(web_contents()); CreateSessionServiceTabHelper(web_contents());
ui_ = std::make_unique<MediaRouterViewsUI>(web_contents()); ui_ = std::make_unique<MediaRouterUI>(web_contents());
ui_->InitWithDefaultMediaSource(); ui_->InitWithDefaultMediaSource();
} }
...@@ -251,7 +251,7 @@ class MediaRouterViewsUITest : public ChromeRenderViewHostTestHarness { ...@@ -251,7 +251,7 @@ class MediaRouterViewsUITest : public ChromeRenderViewHostTestHarness {
protected: protected:
std::vector<MediaSinksObserver*> media_sinks_observers_; std::vector<MediaSinksObserver*> media_sinks_observers_;
MockMediaRouter* mock_router_ = nullptr; MockMediaRouter* mock_router_ = nullptr;
std::unique_ptr<MediaRouterViewsUI> ui_; std::unique_ptr<MediaRouterUI> ui_;
std::unique_ptr<StartPresentationContext> start_presentation_context_; std::unique_ptr<StartPresentationContext> start_presentation_context_;
std::unique_ptr<LoggerImpl> logger_; std::unique_ptr<LoggerImpl> logger_;
content::PresentationRequest presentation_request_{ content::PresentationRequest presentation_request_{
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/global_media_controls/media_notification_service.h" #include "chrome/browser/ui/global_media_controls/media_notification_service.h"
#include "chrome/browser/ui/global_media_controls/media_notification_service_factory.h" #include "chrome/browser/ui/global_media_controls/media_notification_service_factory.h"
#include "chrome/browser/ui/media_router/media_router_ui.h"
#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/frame/top_container_view.h" #include "chrome/browser/ui/views/frame/top_container_view.h"
#include "chrome/browser/ui/views/global_media_controls/media_dialog_view.h" #include "chrome/browser/ui/views/global_media_controls/media_dialog_view.h"
...@@ -162,7 +163,7 @@ void MediaRouterDialogControllerViews::OnServiceDisabled() { ...@@ -162,7 +163,7 @@ void MediaRouterDialogControllerViews::OnServiceDisabled() {
} }
void MediaRouterDialogControllerViews::InitializeMediaRouterUI() { void MediaRouterDialogControllerViews::InitializeMediaRouterUI() {
ui_ = std::make_unique<MediaRouterViewsUI>(initiator()); ui_ = std::make_unique<MediaRouterUI>(initiator());
if (start_presentation_context_) { if (start_presentation_context_) {
ui_->InitWithStartPresentationContext( ui_->InitWithStartPresentationContext(
std::move(start_presentation_context_)); std::move(start_presentation_context_));
......
...@@ -12,12 +12,13 @@ ...@@ -12,12 +12,13 @@
#include "base/scoped_observer.h" #include "base/scoped_observer.h"
#include "chrome/browser/media/router/media_router_dialog_controller.h" #include "chrome/browser/media/router/media_router_dialog_controller.h"
#include "chrome/browser/ui/media_router/media_router_ui_service.h" #include "chrome/browser/ui/media_router/media_router_ui_service.h"
#include "chrome/browser/ui/views/media_router/media_router_views_ui.h"
#include "ui/views/widget/widget.h" #include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_observer.h" #include "ui/views/widget/widget_observer.h"
namespace media_router { namespace media_router {
class MediaRouterUI;
// A Views implementation of MediaRouterDialogController. // A Views implementation of MediaRouterDialogController.
class MediaRouterDialogControllerViews class MediaRouterDialogControllerViews
: public content::WebContentsUserData<MediaRouterDialogControllerViews>, : public content::WebContentsUserData<MediaRouterDialogControllerViews>,
...@@ -60,13 +61,13 @@ class MediaRouterDialogControllerViews ...@@ -60,13 +61,13 @@ class MediaRouterDialogControllerViews
// toolbar action. It's owned by MediaRouterUIService and it may be nullptr. // toolbar action. It's owned by MediaRouterUIService and it may be nullptr.
MediaRouterActionController* GetActionController(); MediaRouterActionController* GetActionController();
MediaRouterViewsUI* ui() { return ui_.get(); } MediaRouterUI* ui() { return ui_.get(); }
// Responsible for notifying the dialog view of dialog model updates and // Responsible for notifying the dialog view of dialog model updates and
// sending route requests to MediaRouter. Set to nullptr when the dialog is // sending route requests to MediaRouter. Set to nullptr when the dialog is
// closed. Not used for presentation requests when // closed. Not used for presentation requests when
// GlobalMediaControlsCastStartStopEnabled() returns true. // GlobalMediaControlsCastStartStopEnabled() returns true.
std::unique_ptr<MediaRouterViewsUI> ui_; std::unique_ptr<MediaRouterUI> ui_;
base::RepeatingClosure dialog_creation_callback_; base::RepeatingClosure dialog_creation_callback_;
......
...@@ -5611,6 +5611,7 @@ test("unit_tests") { ...@@ -5611,6 +5611,7 @@ test("unit_tests") {
sources += [ sources += [
"../../ui/views/controls/webview/web_dialog_view_unittest.cc", "../../ui/views/controls/webview/web_dialog_view_unittest.cc",
"../../ui/views/controls/webview/webview_unittest.cc", "../../ui/views/controls/webview/webview_unittest.cc",
"../browser/ui/media_router/media_router_ui_unittest.cc",
"../browser/ui/views/accelerator_table_unittest.cc", "../browser/ui/views/accelerator_table_unittest.cc",
"../browser/ui/views/accelerator_table_unittest_mac.mm", "../browser/ui/views/accelerator_table_unittest_mac.mm",
"../browser/ui/views/apps/app_info_dialog/app_info_dialog_views_unittest.cc", "../browser/ui/views/apps/app_info_dialog/app_info_dialog_views_unittest.cc",
...@@ -5659,7 +5660,6 @@ test("unit_tests") { ...@@ -5659,7 +5660,6 @@ test("unit_tests") {
"../browser/ui/views/media_router/cast_dialog_view_unittest.cc", "../browser/ui/views/media_router/cast_dialog_view_unittest.cc",
"../browser/ui/views/media_router/cast_toolbar_button_unittest.cc", "../browser/ui/views/media_router/cast_toolbar_button_unittest.cc",
"../browser/ui/views/media_router/cloud_services_dialog_view_unittest.cc", "../browser/ui/views/media_router/cloud_services_dialog_view_unittest.cc",
"../browser/ui/views/media_router/media_router_views_ui_unittest.cc",
"../browser/ui/views/media_router/web_contents_display_observer_view_unittest.cc", "../browser/ui/views/media_router/web_contents_display_observer_view_unittest.cc",
"../browser/ui/views/omnibox/omnibox_result_view_unittest.cc", "../browser/ui/views/omnibox/omnibox_result_view_unittest.cc",
"../browser/ui/views/omnibox/omnibox_view_views_unittest.cc", "../browser/ui/views/omnibox/omnibox_view_views_unittest.cc",
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "chrome/browser/media/router/media_router_factory.h" #include "chrome/browser/media/router/media_router_factory.h"
#include "chrome/browser/media/router/media_routes_observer.h" #include "chrome/browser/media/router/media_routes_observer.h"
#include "chrome/browser/ui/media_router/media_router_file_dialog.h" #include "chrome/browser/ui/media_router/media_router_file_dialog.h"
#include "chrome/browser/ui/media_router/media_router_ui.h"
#include "chrome/browser/ui/views/media_router/cast_dialog_sink_button.h" #include "chrome/browser/ui/views/media_router/cast_dialog_sink_button.h"
#include "chrome/browser/ui/views/media_router/cast_dialog_view.h" #include "chrome/browser/ui/views/media_router/cast_dialog_view.h"
#include "chrome/browser/ui/views/media_router/media_router_dialog_controller_views.h" #include "chrome/browser/ui/views/media_router/media_router_dialog_controller_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