Index: content/browser/presentation/presentation_service_impl.cc |
diff --git a/content/browser/presentation/presentation_service_impl.cc b/content/browser/presentation/presentation_service_impl.cc |
index 900d186b1f50d6c7723a55a93982fcffa2fda26c..46ec67cf0158791d666a023c92abfb3e71e47546 100644 |
--- a/content/browser/presentation/presentation_service_impl.cc |
+++ b/content/browser/presentation/presentation_service_impl.cc |
@@ -181,22 +181,22 @@ void PresentationServiceImpl::SetClient( |
} |
void PresentationServiceImpl::ListenForScreenAvailability(const GURL& url) { |
- DVLOG(2) << "ListenForScreenAvailability " << url; |
+ DVLOG(2) << "ListenForScreenAvailability " << url.spec(); |
if (!delegate_) { |
client_->OnScreenAvailabilityUpdated(url, false); |
return; |
} |
- if (screen_availability_listeners_.count(url.spec())) |
+ if (screen_availability_listeners_.count(url)) |
return; |
std::unique_ptr<ScreenAvailabilityListenerImpl> listener( |
- new ScreenAvailabilityListenerImpl(url.spec(), this)); |
+ new ScreenAvailabilityListenerImpl(url, this)); |
if (delegate_->AddScreenAvailabilityListener( |
render_process_id_, |
render_frame_id_, |
listener.get())) { |
- screen_availability_listeners_[url.spec()] = std::move(listener); |
+ screen_availability_listeners_[url] = std::move(listener); |
} else { |
DVLOG(1) << "AddScreenAvailabilityListener failed. Ignoring request."; |
} |
@@ -208,7 +208,7 @@ void PresentationServiceImpl::StopListeningForScreenAvailability( |
if (!delegate_) |
return; |
- auto listener_it = screen_availability_listeners_.find(url.spec()); |
+ auto listener_it = screen_availability_listeners_.find(url); |
if (listener_it == screen_availability_listeners_.end()) |
return; |
@@ -236,16 +236,10 @@ void PresentationServiceImpl::StartSession( |
return; |
} |
- std::vector<std::string> presentation_urls_for_delegate( |
- presentation_urls.size()); |
- std::transform(presentation_urls.begin(), presentation_urls.end(), |
- presentation_urls_for_delegate.begin(), |
- [](const GURL& url) { return url.spec(); }); |
- |
start_session_request_id_ = GetNextRequestSessionId(); |
pending_start_session_cb_.reset(new NewSessionCallbackWrapper(callback)); |
delegate_->StartSession( |
- render_process_id_, render_frame_id_, presentation_urls_for_delegate, |
+ render_process_id_, render_frame_id_, presentation_urls, |
base::Bind(&PresentationServiceImpl::OnStartSessionSucceeded, |
weak_factory_.GetWeakPtr(), start_session_request_id_), |
base::Bind(&PresentationServiceImpl::OnStartSessionError, |
@@ -265,19 +259,13 @@ void PresentationServiceImpl::JoinSession( |
return; |
} |
- std::vector<std::string> presentation_urls_for_delegate( |
- presentation_urls.size()); |
- std::transform(presentation_urls.begin(), presentation_urls.end(), |
- presentation_urls_for_delegate.begin(), |
- [](const GURL& url) { return url.spec(); }); |
- |
int request_session_id = RegisterJoinSessionCallback(callback); |
if (request_session_id == kInvalidRequestSessionId) { |
InvokeNewSessionCallbackWithError(callback); |
return; |
} |
delegate_->JoinSession( |
- render_process_id_, render_frame_id_, presentation_urls_for_delegate, |
+ render_process_id_, render_frame_id_, presentation_urls, |
presentation_id.value_or(std::string()), |
base::Bind(&PresentationServiceImpl::OnJoinSessionSucceeded, |
weak_factory_.GetWeakPtr(), request_session_id), |
@@ -373,18 +361,12 @@ void PresentationServiceImpl::SetDefaultPresentationUrls( |
if (!delegate_) |
return; |
- std::vector<std::string> presentation_urls_for_delegate( |
- presentation_urls.size()); |
- std::transform(presentation_urls.begin(), presentation_urls.end(), |
- presentation_urls_for_delegate.begin(), |
- [](const GURL& url) { return url.spec(); }); |
- |
- if (default_presentation_urls_ == presentation_urls_for_delegate) |
+ if (default_presentation_urls_ == presentation_urls) |
return; |
- default_presentation_urls_ = presentation_urls_for_delegate; |
+ default_presentation_urls_ = presentation_urls; |
delegate_->SetDefaultPresentationUrls( |
- render_process_id_, render_frame_id_, presentation_urls_for_delegate, |
+ render_process_id_, render_frame_id_, presentation_urls, |
base::Bind(&PresentationServiceImpl::OnDefaultPresentationStarted, |
weak_factory_.GetWeakPtr())); |
} |
@@ -577,12 +559,10 @@ void PresentationServiceImpl::OnDefaultPresentationStarted( |
ListenForConnectionStateChange(connection); |
} |
-PresentationServiceImpl::ScreenAvailabilityListenerImpl |
-::ScreenAvailabilityListenerImpl( |
- const std::string& availability_url, |
- PresentationServiceImpl* service) |
- : availability_url_(availability_url), |
- service_(service) { |
+PresentationServiceImpl::ScreenAvailabilityListenerImpl:: |
+ ScreenAvailabilityListenerImpl(const GURL& availability_url, |
+ PresentationServiceImpl* service) |
+ : availability_url_(availability_url), service_(service) { |
DCHECK(service_); |
DCHECK(service_->client_.get()); |
} |
@@ -591,20 +571,19 @@ PresentationServiceImpl::ScreenAvailabilityListenerImpl:: |
~ScreenAvailabilityListenerImpl() { |
} |
-std::string PresentationServiceImpl::ScreenAvailabilityListenerImpl |
- ::GetAvailabilityUrl() const { |
+GURL PresentationServiceImpl::ScreenAvailabilityListenerImpl:: |
+ GetAvailabilityUrl() const { |
return availability_url_; |
} |
void PresentationServiceImpl::ScreenAvailabilityListenerImpl |
::OnScreenAvailabilityChanged(bool available) { |
- service_->client_->OnScreenAvailabilityUpdated(GURL(availability_url_), |
- available); |
+ service_->client_->OnScreenAvailabilityUpdated(availability_url_, available); |
} |
void PresentationServiceImpl::ScreenAvailabilityListenerImpl |
::OnScreenAvailabilityNotSupported() { |
- service_->client_->OnScreenAvailabilityNotSupported(GURL(availability_url_)); |
+ service_->client_->OnScreenAvailabilityNotSupported(availability_url_); |
} |
PresentationServiceImpl::NewSessionCallbackWrapper |