Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Side by Side Diff: content/browser/presentation/presentation_service_impl.cc

Issue 2851173004: Eliminate bind callback that doesn't take a BindSourceInfo parameter. (Closed)
Patch Set: . Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/presentation/presentation_service_impl.h" 5 #include "content/browser/presentation/presentation_service_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <algorithm> 9 #include <algorithm>
10 #include <utility> 10 #include <utility>
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 DVLOG(2) << __FUNCTION__ << ": " << render_process_id_ << ", " 69 DVLOG(2) << __FUNCTION__ << ": " << render_process_id_ << ", "
70 << render_frame_id_; 70 << render_frame_id_;
71 71
72 if (auto* delegate = GetPresentationServiceDelegate()) 72 if (auto* delegate = GetPresentationServiceDelegate())
73 delegate->RemoveObserver(render_process_id_, render_frame_id_); 73 delegate->RemoveObserver(render_process_id_, render_frame_id_);
74 } 74 }
75 75
76 // static 76 // static
77 void PresentationServiceImpl::CreateMojoService( 77 void PresentationServiceImpl::CreateMojoService(
78 RenderFrameHost* render_frame_host, 78 RenderFrameHost* render_frame_host,
79 mojo::InterfaceRequest<blink::mojom::PresentationService> request) { 79 const service_manager::BindSourceInfo& source_info,
80 blink::mojom::PresentationServiceRequest request) {
80 DVLOG(2) << "CreateMojoService"; 81 DVLOG(2) << "CreateMojoService";
81 WebContents* web_contents = 82 WebContents* web_contents =
82 WebContents::FromRenderFrameHost(render_frame_host); 83 WebContents::FromRenderFrameHost(render_frame_host);
83 DCHECK(web_contents); 84 DCHECK(web_contents);
84 85
85 auto* browser = GetContentClient()->browser(); 86 auto* browser = GetContentClient()->browser();
86 auto* receiver_delegate = 87 auto* receiver_delegate =
87 browser->GetReceiverPresentationServiceDelegate(web_contents); 88 browser->GetReceiverPresentationServiceDelegate(web_contents);
88 89
89 // In current implementation, web_contents can be controller or receiver 90 // In current implementation, web_contents can be controller or receiver
90 // but not both. 91 // but not both.
91 auto* controller_delegate = 92 auto* controller_delegate =
92 receiver_delegate 93 receiver_delegate
93 ? nullptr 94 ? nullptr
94 : browser->GetControllerPresentationServiceDelegate(web_contents); 95 : browser->GetControllerPresentationServiceDelegate(web_contents);
95 96
96 // This object will be deleted when the RenderFrameHost is about to be 97 // This object will be deleted when the RenderFrameHost is about to be
97 // deleted (RenderFrameDeleted). 98 // deleted (RenderFrameDeleted).
98 PresentationServiceImpl* impl = new PresentationServiceImpl( 99 PresentationServiceImpl* impl = new PresentationServiceImpl(
99 render_frame_host, web_contents, controller_delegate, receiver_delegate); 100 render_frame_host, web_contents, controller_delegate, receiver_delegate);
100 impl->Bind(std::move(request)); 101 impl->Bind(std::move(request));
101 } 102 }
102 103
103 void PresentationServiceImpl::Bind( 104 void PresentationServiceImpl::Bind(
104 mojo::InterfaceRequest<blink::mojom::PresentationService> request) { 105 blink::mojom::PresentationServiceRequest request) {
105 binding_.reset(new mojo::Binding<blink::mojom::PresentationService>( 106 binding_.reset(new mojo::Binding<blink::mojom::PresentationService>(
106 this, std::move(request))); 107 this, std::move(request)));
107 } 108 }
108 109
109 void PresentationServiceImpl::SetClient( 110 void PresentationServiceImpl::SetClient(
110 blink::mojom::PresentationServiceClientPtr client) { 111 blink::mojom::PresentationServiceClientPtr client) {
111 DCHECK(!client_.get()); 112 DCHECK(!client_.get());
112 // TODO(imcheng): Set ErrorHandler to listen for errors. 113 // TODO(imcheng): Set ErrorHandler to listen for errors.
113 client_ = std::move(client); 114 client_ = std::move(client);
114 115
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 511
511 void PresentationServiceImpl::NewPresentationCallbackWrapper::Run( 512 void PresentationServiceImpl::NewPresentationCallbackWrapper::Run(
512 const base::Optional<PresentationInfo>& presentation_info, 513 const base::Optional<PresentationInfo>& presentation_info,
513 const base::Optional<PresentationError>& error) { 514 const base::Optional<PresentationError>& error) {
514 DCHECK(!callback_.is_null()); 515 DCHECK(!callback_.is_null());
515 callback_.Run(presentation_info, error); 516 callback_.Run(presentation_info, error);
516 callback_.Reset(); 517 callback_.Reset();
517 } 518 }
518 519
519 } // namespace content 520 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/presentation/presentation_service_impl.h ('k') | content/browser/push_messaging/push_messaging_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698