| Index: chrome/browser/media/router/offscreen_presentation_manager.cc
|
| diff --git a/chrome/browser/media/router/offscreen_presentation_manager.cc b/chrome/browser/media/router/offscreen_presentation_manager.cc
|
| index 917d1a2ca243607e0ec688cfac98925daffde853..0e721ad4a3863a91a0454b1d440998d29b1cd42a 100644
|
| --- a/chrome/browser/media/router/offscreen_presentation_manager.cc
|
| +++ b/chrome/browser/media/router/offscreen_presentation_manager.cc
|
| @@ -38,14 +38,17 @@ void OffscreenPresentationManager::RegisterOffscreenPresentationController(
|
| const std::string& presentation_id,
|
| const GURL& presentation_url,
|
| const RenderFrameHostId& render_frame_host_id,
|
| - content::PresentationConnectionPtr controller) {
|
| + content::PresentationConnectionPtr controller_connection_ptr,
|
| + content::PresentationConnectionRequest receiver_connection_request) {
|
| DVLOG(2) << __FUNCTION__ << " [presentation_id]: " << presentation_id
|
| << ", [render_frame_host_id]: " << render_frame_host_id.second;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| auto* presentation =
|
| GetOrCreateOffscreenPresentation(presentation_id, presentation_url);
|
| - presentation->RegisterController(render_frame_host_id, std::move(controller));
|
| + presentation->RegisterController(render_frame_host_id,
|
| + std::move(controller_connection_ptr),
|
| + std::move(receiver_connection_request));
|
| }
|
|
|
| void OffscreenPresentationManager::UnregisterOffscreenPresentationController(
|
| @@ -62,7 +65,7 @@ void OffscreenPresentationManager::UnregisterOffscreenPresentationController(
|
| // Remove presentation if no controller and receiver.
|
| it->second->UnregisterController(render_frame_host_id);
|
| if (!it->second->IsValid()) {
|
| - DLOG(WARNING) << __func__ << "no receiver callback has been registered to "
|
| + DLOG(WARNING) << __func__ << " no receiver callback has been registered to "
|
| << "[presentation_id]: " << presentation_id;
|
| offscreen_presentations_.erase(presentation_id);
|
| }
|
| @@ -97,14 +100,18 @@ OffscreenPresentationManager::OffscreenPresentation::~OffscreenPresentation() {}
|
|
|
| void OffscreenPresentationManager::OffscreenPresentation::RegisterController(
|
| const RenderFrameHostId& render_frame_host_id,
|
| - content::PresentationConnectionPtr controller) {
|
| + content::PresentationConnectionPtr controller_connection_ptr,
|
| + content::PresentationConnectionRequest receiver_connection_request) {
|
| if (!receiver_callback_.is_null()) {
|
| receiver_callback_.Run(
|
| content::PresentationSessionInfo(presentation_url_, presentation_id_),
|
| - std::move(controller));
|
| + std::move(controller_connection_ptr),
|
| + std::move(receiver_connection_request));
|
| } else {
|
| - pending_controllers_.insert(
|
| - std::make_pair(render_frame_host_id, std::move(controller)));
|
| + pending_controllers_.insert(std::make_pair(
|
| + render_frame_host_id, base::MakeUnique<ControllerConnection>(
|
| + std::move(controller_connection_ptr),
|
| + std::move(receiver_connection_request))));
|
| }
|
| }
|
|
|
| @@ -120,7 +127,8 @@ void OffscreenPresentationManager::OffscreenPresentation::RegisterReceiver(
|
| for (auto& controller : pending_controllers_) {
|
| receiver_callback.Run(
|
| content::PresentationSessionInfo(presentation_url_, presentation_id_),
|
| - std::move(controller.second));
|
| + std::move(controller.second->controller_connection_ptr),
|
| + std::move(controller.second->receiver_connection_request));
|
| }
|
| receiver_callback_ = receiver_callback;
|
| pending_controllers_.clear();
|
| @@ -130,4 +138,14 @@ bool OffscreenPresentationManager::OffscreenPresentation::IsValid() const {
|
| return !(pending_controllers_.empty() && receiver_callback_.is_null());
|
| }
|
|
|
| +OffscreenPresentationManager::OffscreenPresentation::ControllerConnection::
|
| + ControllerConnection(
|
| + content::PresentationConnectionPtr controller_connection_ptr,
|
| + content::PresentationConnectionRequest receiver_connection_request)
|
| + : controller_connection_ptr(std::move(controller_connection_ptr)),
|
| + receiver_connection_request(std::move(receiver_connection_request)) {}
|
| +
|
| +OffscreenPresentationManager::OffscreenPresentation::ControllerConnection::
|
| + ~ControllerConnection() {}
|
| +
|
| } // namespace media_router
|
|
|