Chromium Code Reviews| 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 |