OLD | NEW |
---|---|
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/renderer/presentation/presentation_dispatcher.h" | 5 #include "content/renderer/presentation/presentation_dispatcher.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
237 | 237 |
238 void PresentationDispatcher::terminateSession( | 238 void PresentationDispatcher::terminateSession( |
239 const blink::WebURL& presentationUrl, | 239 const blink::WebURL& presentationUrl, |
240 const blink::WebString& presentationId) { | 240 const blink::WebString& presentationId) { |
241 ConnectToPresentationServiceIfNeeded(); | 241 ConnectToPresentationServiceIfNeeded(); |
242 presentation_service_->Terminate(presentationUrl, presentationId.utf8()); | 242 presentation_service_->Terminate(presentationUrl, presentationId.utf8()); |
243 } | 243 } |
244 | 244 |
245 void PresentationDispatcher::getAvailability( | 245 void PresentationDispatcher::getAvailability( |
246 const blink::WebURL& availabilityUrl, | 246 const blink::WebURL& availabilityUrl, |
247 blink::WebPresentationAvailabilityCallbacks* callbacks) { | 247 blink::WebPresentationAvailabilityCallbacks* callbacks) { |
danakj
2016/11/18 00:15:33
same
rlanday
2016/11/18 23:46:56
I am uncertain how to do this, as this method is m
danakj
2016/11/21 21:34:26
Ah ok here's an example to work around gmock. Basi
| |
248 AvailabilityStatus* status = nullptr; | 248 AvailabilityStatus* status = nullptr; |
249 auto status_it = availability_status_.find(availabilityUrl); | 249 auto status_it = availability_status_.find(availabilityUrl); |
250 if (status_it == availability_status_.end()) { | 250 if (status_it == availability_status_.end()) { |
251 status = new AvailabilityStatus(availabilityUrl); | 251 status = new AvailabilityStatus(availabilityUrl); |
252 availability_status_[availabilityUrl] = base::WrapUnique(status); | 252 availability_status_[availabilityUrl] = base::WrapUnique(status); |
253 } else { | 253 } else { |
254 status = status_it->second.get(); | 254 status = status_it->second.get(); |
255 } | 255 } |
256 DCHECK(status); | 256 DCHECK(status); |
257 | 257 |
258 if (status->listening_state == ListeningState::ACTIVE) { | 258 if (status->listening_state == ListeningState::ACTIVE) { |
259 base::ThreadTaskRunnerHandle::Get()->PostTask( | 259 base::ThreadTaskRunnerHandle::Get()->PostTask( |
260 FROM_HERE, | 260 FROM_HERE, |
261 base::Bind(&blink::WebPresentationAvailabilityCallbacks::onSuccess, | 261 base::Bind(&blink::WebPresentationAvailabilityCallbacks::onSuccess, |
262 base::Owned(callbacks), | 262 base::Owned(callbacks), |
263 status->last_known_availability)); | 263 status->last_known_availability)); |
264 return; | 264 return; |
265 } | 265 } |
266 | 266 |
267 status->availability_callbacks.Add(callbacks); | 267 status->availability_callbacks.Add( |
268 std::unique_ptr<blink::WebPresentationAvailabilityCallbacks>( | |
269 callbacks)); | |
268 UpdateListeningState(status); | 270 UpdateListeningState(status); |
269 } | 271 } |
270 | 272 |
271 void PresentationDispatcher::startListening( | 273 void PresentationDispatcher::startListening( |
272 blink::WebPresentationAvailabilityObserver* observer) { | 274 blink::WebPresentationAvailabilityObserver* observer) { |
273 auto status_it = availability_status_.find(observer->url()); | 275 auto status_it = availability_status_.find(observer->url()); |
274 if (status_it == availability_status_.end()) { | 276 if (status_it == availability_status_.end()) { |
275 DLOG(WARNING) << "Start listening for availability for unknown URL " | 277 DLOG(WARNING) << "Start listening for availability for unknown URL " |
276 << observer->url(); | 278 << observer->url(); |
277 return; | 279 return; |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
547 PresentationDispatcher::AvailabilityStatus::AvailabilityStatus( | 549 PresentationDispatcher::AvailabilityStatus::AvailabilityStatus( |
548 const GURL& availability_url) | 550 const GURL& availability_url) |
549 : url(availability_url), | 551 : url(availability_url), |
550 last_known_availability(false), | 552 last_known_availability(false), |
551 listening_state(ListeningState::INACTIVE) {} | 553 listening_state(ListeningState::INACTIVE) {} |
552 | 554 |
553 PresentationDispatcher::AvailabilityStatus::~AvailabilityStatus() { | 555 PresentationDispatcher::AvailabilityStatus::~AvailabilityStatus() { |
554 } | 556 } |
555 | 557 |
556 } // namespace content | 558 } // namespace content |
OLD | NEW |