Commit bae32143 authored by takumif's avatar takumif Committed by Commit Bot

[Media Router] Remove the extension ID getter from MRMojoImpl

This CL removes the media_route_provider_extension_id() getter from
MediaRouterMojoImpl, which was previously being accessed by static-casting
MediaRouter into MediaRouterMojoImpl. The getter in EventPageRequestManager is
now used.

It seems that we cannot simply hard-code the ID, since it's different between
dev and release builds of the component extension.

BUG=597778
BUG=727993

Review-Url: https://codereview.chromium.org/2970273002
Cr-Commit-Position: refs/heads/master@{#485439}
parent f01e385c
...@@ -222,11 +222,6 @@ void MediaRouterMojoImpl::OnRoutesUpdated( ...@@ -222,11 +222,6 @@ void MediaRouterMojoImpl::OnRoutesUpdated(
RemoveInvalidRouteControllers(routes); RemoveInvalidRouteControllers(routes);
} }
const std::string& MediaRouterMojoImpl::media_route_provider_extension_id()
const {
return event_page_request_manager_->media_route_provider_extension_id();
}
void MediaRouterMojoImpl::RouteResponseReceived( void MediaRouterMojoImpl::RouteResponseReceived(
const std::string& presentation_id, const std::string& presentation_id,
bool is_incognito, bool is_incognito,
......
...@@ -115,9 +115,6 @@ class MediaRouterMojoImpl : public MediaRouterBase, ...@@ -115,9 +115,6 @@ class MediaRouterMojoImpl : public MediaRouterBase,
scoped_refptr<MediaRouteController> GetRouteController( scoped_refptr<MediaRouteController> GetRouteController(
const MediaRoute::Id& route_id) override; const MediaRoute::Id& route_id) override;
// TODO(crbug.com/597778): Remove this getter.
const std::string& media_route_provider_extension_id() const;
void set_instance_id_for_test(const std::string& instance_id) { void set_instance_id_for_test(const std::string& instance_id) {
instance_id_ = instance_id; instance_id_ = instance_id;
} }
...@@ -218,7 +215,7 @@ class MediaRouterMojoImpl : public MediaRouterBase, ...@@ -218,7 +215,7 @@ class MediaRouterMojoImpl : public MediaRouterBase,
// Binds |this| to a Mojo interface request, so that clients can acquire a // Binds |this| to a Mojo interface request, so that clients can acquire a
// handle to a MediaRouterMojoImpl instance via the Mojo service connector. // handle to a MediaRouterMojoImpl instance via the Mojo service connector.
// Stores the ID of |extension| in |media_route_provider_extension_id_|. // Passes the extension's ID to the event page request manager.
void BindToMojoRequest( void BindToMojoRequest(
mojo::InterfaceRequest<mojom::MediaRouter> request, mojo::InterfaceRequest<mojom::MediaRouter> request,
const extensions::Extension& extension); const extensions::Extension& extension);
......
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
#include "base/logging.h" #include "base/logging.h"
#include "base/metrics/user_metrics.h" #include "base/metrics/user_metrics.h"
#include "chrome/app/chrome_command_ids.h" #include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/media/router/event_page_request_manager.h"
#include "chrome/browser/media/router/event_page_request_manager_factory.h"
#include "chrome/browser/media/router/media_router_factory.h" #include "chrome/browser/media/router/media_router_factory.h"
#include "chrome/browser/media/router/mojo/media_router_mojo_impl.h" #include "chrome/browser/media/router/mojo/media_router_mojo_impl.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
...@@ -182,17 +184,15 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id, ...@@ -182,17 +184,15 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id,
void MediaRouterContextualMenu::ReportIssue() { void MediaRouterContextualMenu::ReportIssue() {
// Opens feedback page loaded from the media router extension. // Opens feedback page loaded from the media router extension.
// This is temporary until feedback UI is redesigned. // This is temporary until feedback UI is redesigned.
// TODO(crbug.com/597778): remove reference to MediaRouterMojoImpl media_router::EventPageRequestManager* request_manager =
media_router::MediaRouterMojoImpl* media_router = media_router::EventPageRequestManagerFactory::GetApiForBrowserContext(
static_cast<media_router::MediaRouterMojoImpl*>( browser_->profile());
media_router::MediaRouterFactory::GetApiForBrowserContext( if (request_manager->media_route_provider_extension_id().empty())
static_cast<content::BrowserContext*>(browser_->profile())));
if (media_router->media_route_provider_extension_id().empty())
return; return;
std::string feedback_url(extensions::kExtensionScheme + std::string feedback_url(
std::string(url::kStandardSchemeSeparator) + extensions::kExtensionScheme +
media_router->media_route_provider_extension_id() + std::string(url::kStandardSchemeSeparator) +
"/feedback.html"); request_manager->media_route_provider_extension_id() + "/feedback.html");
chrome::ShowSingletonTab(browser_, GURL(feedback_url)); chrome::ShowSingletonTab(browser_, GURL(feedback_url));
} }
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
#include "chrome/browser/ui/webui/cast/cast_ui.h" #include "chrome/browser/ui/webui/cast/cast_ui.h"
#include "chrome/browser/media/router/media_router_factory.h" #include "chrome/browser/media/router/event_page_request_manager.h"
#include "chrome/browser/media/router/mojo/media_router_mojo_impl.h" #include "chrome/browser/media/router/event_page_request_manager_factory.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/common/url_constants.h" #include "chrome/common/url_constants.h"
#include "chrome/grit/browser_resources.h" #include "chrome/grit/browser_resources.h"
...@@ -16,11 +16,11 @@ ...@@ -16,11 +16,11 @@
CastUI::CastUI(content::WebUI* web_ui) CastUI::CastUI(content::WebUI* web_ui)
: content::WebUIController(web_ui) { : content::WebUIController(web_ui) {
// Retrieve the ID of the component extension. // Retrieve the ID of the component extension.
// TODO(crbug.com/597778): remove reference to MediaRouterMojoImpl. auto* event_page_request_manager =
auto* router = static_cast<media_router::MediaRouterMojoImpl*>( media_router::EventPageRequestManagerFactory::GetApiForBrowserContext(
media_router::MediaRouterFactory::GetApiForBrowserContext( web_ui->GetWebContents()->GetBrowserContext());
web_ui->GetWebContents()->GetBrowserContext())); std::string extension_id =
std::string extension_id = router->media_route_provider_extension_id(); event_page_request_manager->media_route_provider_extension_id();
// Set up the chrome://cast data source and add required resources. // Set up the chrome://cast data source and add required resources.
content::WebUIDataSource* html_source = content::WebUIDataSource* html_source =
......
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
#include "build/build_config.h" #include "build/build_config.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/media/router/create_presentation_connection_request.h" #include "chrome/browser/media/router/create_presentation_connection_request.h"
#include "chrome/browser/media/router/event_page_request_manager.h"
#include "chrome/browser/media/router/event_page_request_manager_factory.h"
#include "chrome/browser/media/router/issues_observer.h" #include "chrome/browser/media/router/issues_observer.h"
#include "chrome/browser/media/router/media_router.h" #include "chrome/browser/media/router/media_router.h"
#include "chrome/browser/media/router/media_router_factory.h" #include "chrome/browser/media/router/media_router_factory.h"
...@@ -230,9 +232,11 @@ MediaRouterUI::MediaRouterUI(content::WebUI* web_ui) ...@@ -230,9 +232,11 @@ MediaRouterUI::MediaRouterUI(content::WebUI* web_ui)
content::WebContents* wc = web_ui->GetWebContents(); content::WebContents* wc = web_ui->GetWebContents();
DCHECK(wc); DCHECK(wc);
content::BrowserContext* context = wc->GetBrowserContext();
router_ = router_ = MediaRouterFactory::GetApiForBrowserContext(context);
MediaRouterFactory::GetApiForBrowserContext(wc->GetBrowserContext()); event_page_request_manager_ =
EventPageRequestManagerFactory::GetApiForBrowserContext(context);
// Allows UI to load extensionview. // Allows UI to load extensionview.
// TODO(haibinlu): limit object-src to current extension once crbug/514866 // TODO(haibinlu): limit object-src to current extension once crbug/514866
...@@ -858,9 +862,7 @@ const std::set<MediaCastMode>& MediaRouterUI::cast_modes() const { ...@@ -858,9 +862,7 @@ const std::set<MediaCastMode>& MediaRouterUI::cast_modes() const {
} }
const std::string& MediaRouterUI::GetRouteProviderExtensionId() const { const std::string& MediaRouterUI::GetRouteProviderExtensionId() const {
// TODO(crbug.com/597778): remove reference to MediaRouterMojoImpl return event_page_request_manager_->media_route_provider_extension_id();
return static_cast<MediaRouterMojoImpl*>(router_)
->media_route_provider_extension_id();
} }
void MediaRouterUI::SetUIInitializationTimer(const base::Time& start_time) { void MediaRouterUI::SetUIInitializationTimer(const base::Time& start_time) {
......
...@@ -44,6 +44,7 @@ class Browser; ...@@ -44,6 +44,7 @@ class Browser;
namespace media_router { namespace media_router {
class CreatePresentationConnectionRequest; class CreatePresentationConnectionRequest;
class EventPageRequestManager;
class IssuesObserver; class IssuesObserver;
class MediaRoute; class MediaRoute;
class MediaRouter; class MediaRouter;
...@@ -414,6 +415,9 @@ class MediaRouterUI ...@@ -414,6 +415,9 @@ class MediaRouterUI
// Pointer to the MediaRouter for this instance's BrowserContext. // Pointer to the MediaRouter for this instance's BrowserContext.
MediaRouter* router_; MediaRouter* router_;
// Request manager for the Media Router component extension.
const EventPageRequestManager* event_page_request_manager_;
// The start time for UI initialization metrics timer. When a dialog has been // The start time for UI initialization metrics timer. When a dialog has been
// been painted and initialized with initial data, this should be cleared. // been painted and initialized with initial data, this should be cleared.
base::Time start_time_; base::Time start_time_;
......
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