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

Side by Side Diff: media/base/cdm_promise_adapter.cc

Issue 2600603002: Remove base::ScopedPtrHashMap from media/. (Closed)
Patch Set: rev Created 3 years, 12 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
« no previous file with comments | « media/base/cdm_promise_adapter.h ('k') | media/blink/webencryptedmediaclient_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "media/base/cdm_promise_adapter.h" 5 #include "media/base/cdm_promise_adapter.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 namespace media { 9 namespace media {
10 10
11 CdmPromiseAdapter::CdmPromiseAdapter() : next_promise_id_(1) { 11 CdmPromiseAdapter::CdmPromiseAdapter() : next_promise_id_(1) {
12 } 12 }
13 13
14 CdmPromiseAdapter::~CdmPromiseAdapter() { 14 CdmPromiseAdapter::~CdmPromiseAdapter() {
15 DCHECK(promises_.empty()); 15 DCHECK(promises_.empty());
16 DCHECK(thread_checker_.CalledOnValidThread()); 16 DCHECK(thread_checker_.CalledOnValidThread());
17 Clear(); 17 Clear();
18 } 18 }
19 19
20 uint32_t CdmPromiseAdapter::SavePromise(std::unique_ptr<CdmPromise> promise) { 20 uint32_t CdmPromiseAdapter::SavePromise(std::unique_ptr<CdmPromise> promise) {
21 DCHECK(thread_checker_.CalledOnValidThread()); 21 DCHECK(thread_checker_.CalledOnValidThread());
22 uint32_t promise_id = next_promise_id_++; 22 uint32_t promise_id = next_promise_id_++;
23 promises_.add(promise_id, std::move(promise)); 23 promises_[promise_id] = std::move(promise);
24 return promise_id; 24 return promise_id;
25 } 25 }
26 26
27 template <typename... T> 27 template <typename... T>
28 void CdmPromiseAdapter::ResolvePromise(uint32_t promise_id, 28 void CdmPromiseAdapter::ResolvePromise(uint32_t promise_id,
29 const T&... result) { 29 const T&... result) {
30 std::unique_ptr<CdmPromise> promise = TakePromise(promise_id); 30 std::unique_ptr<CdmPromise> promise = TakePromise(promise_id);
31 if (!promise) { 31 if (!promise) {
32 NOTREACHED() << "Promise not found for " << promise_id; 32 NOTREACHED() << "Promise not found for " << promise_id;
33 return; 33 return;
(...skipping 30 matching lines...) Expand all
64 promise.second->reject(CdmPromise::UNKNOWN_ERROR, 0, "Operation aborted."); 64 promise.second->reject(CdmPromise::UNKNOWN_ERROR, 0, "Operation aborted.");
65 promises_.clear(); 65 promises_.clear();
66 } 66 }
67 67
68 std::unique_ptr<CdmPromise> CdmPromiseAdapter::TakePromise( 68 std::unique_ptr<CdmPromise> CdmPromiseAdapter::TakePromise(
69 uint32_t promise_id) { 69 uint32_t promise_id) {
70 DCHECK(thread_checker_.CalledOnValidThread()); 70 DCHECK(thread_checker_.CalledOnValidThread());
71 PromiseMap::iterator it = promises_.find(promise_id); 71 PromiseMap::iterator it = promises_.find(promise_id);
72 if (it == promises_.end()) 72 if (it == promises_.end())
73 return nullptr; 73 return nullptr;
74 return promises_.take_and_erase(it); 74 std::unique_ptr<CdmPromise> result = std::move(it->second);
75 promises_.erase(it);
76 return result;
75 } 77 }
76 78
77 // Explicit instantiation of function templates. 79 // Explicit instantiation of function templates.
78 template MEDIA_EXPORT void CdmPromiseAdapter::ResolvePromise(uint32_t); 80 template MEDIA_EXPORT void CdmPromiseAdapter::ResolvePromise(uint32_t);
79 template MEDIA_EXPORT void CdmPromiseAdapter::ResolvePromise( 81 template MEDIA_EXPORT void CdmPromiseAdapter::ResolvePromise(
80 uint32_t, 82 uint32_t,
81 const std::string&); 83 const std::string&);
82 84
83 } // namespace media 85 } // namespace media
OLDNEW
« no previous file with comments | « media/base/cdm_promise_adapter.h ('k') | media/blink/webencryptedmediaclient_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698