Chromium Code Reviews| Index: chrome/browser/ui/webui/media_router/media_router_ui.cc |
| diff --git a/chrome/browser/ui/webui/media_router/media_router_ui.cc b/chrome/browser/ui/webui/media_router/media_router_ui.cc |
| index 9b7aa31f98d291bbdcad6d1a8c7d671ddfc370c4..17b560a1578ccbda07ca1ddf0f7e748ca9d6f269 100644 |
| --- a/chrome/browser/ui/webui/media_router/media_router_ui.cc |
| +++ b/chrome/browser/ui/webui/media_router/media_router_ui.cc |
| @@ -264,15 +264,16 @@ void MediaRouterUI::InitCommon(content::WebContents* initiator) { |
| query_result_manager_.reset(new QueryResultManager(router_)); |
| query_result_manager_->AddObserver(this); |
| + GURL origin = GetOrigin(false); |
| // Desktop mirror mode is always available. |
| query_result_manager_->StartSinksQuery(MediaCastMode::DESKTOP_MIRROR, |
| - MediaSourceForDesktop()); |
| + MediaSourceForDesktop(), origin); |
| initiator_ = initiator; |
| SessionID::id_type tab_id = SessionTabHelper::IdForTab(initiator); |
| if (tab_id != -1) { |
| MediaSource mirroring_source(MediaSourceForTab(tab_id)); |
| query_result_manager_->StartSinksQuery(MediaCastMode::TAB_MIRROR, |
| - mirroring_source); |
| + mirroring_source, origin); |
| } |
| UpdateCastModes(); |
| } |
| @@ -289,7 +290,8 @@ void MediaRouterUI::OnDefaultPresentationChanged( |
| const PresentationRequest& presentation_request) { |
| MediaSource source = presentation_request.GetMediaSource(); |
| presentation_request_.reset(new PresentationRequest(presentation_request)); |
| - query_result_manager_->StartSinksQuery(MediaCastMode::DEFAULT, source); |
| + query_result_manager_->StartSinksQuery(MediaCastMode::DEFAULT, source, |
| + GetOrigin(true)); |
| // Register for MediaRoute updates. |
| routes_observer_.reset(new UIMediaRoutesObserver( |
| router_, source.id(), |
| @@ -366,13 +368,7 @@ bool MediaRouterUI::CreateOrConnectRoute(const MediaSink::Id& sink_id, |
| } |
| current_route_request_id_ = ++route_request_counter_; |
| - GURL origin; |
| - if (for_default_source) { |
| - origin = presentation_request_->frame_url().GetOrigin(); |
| - } else { |
| - // Requesting route for mirroring. Use a placeholder URL as origin. |
| - origin = GURL(chrome::kChromeUIMediaRouterURL); |
| - } |
| + GURL origin = GetOrigin(for_default_source); |
| DCHECK(origin.is_valid()); |
| DVLOG(1) << "DoCreateRoute: origin: " << origin; |
| @@ -534,6 +530,13 @@ GURL MediaRouterUI::GetFrameURL() const { |
| return presentation_request_ ? presentation_request_->frame_url() : GURL(); |
| } |
| +GURL MediaRouterUI::GetOrigin(bool for_default_source) const { |
|
mark a. foltz
2016/03/11 01:20:23
I don't think we need a method for this. Just pas
imcheng
2016/03/14 21:30:20
Done.
|
| + DCHECK(!for_default_source || presentation_request_); |
| + // Use a placeholder URL as origin for mirroring. |
| + return for_default_source ? presentation_request_->frame_url().GetOrigin() |
| + : GURL(chrome::kChromeUIMediaRouterURL); |
| +} |
| + |
| std::string MediaRouterUI::GetPresentationRequestSourceName() const { |
| GURL gurl = GetFrameURL(); |
| return gurl.SchemeIs(extensions::kExtensionScheme) |