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

Side by Side Diff: content/renderer/presentation/presentation_dispatcher.cc

Issue 2480293004: Mandate unique_ptr for base::IDMap in IDMapOwnPointer mode. (Closed)
Patch Set: Fix typo breaking a bunch of trybot builds, oops Created 4 years, 1 month 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/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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698