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

Side by Side Diff: content/child/quota_dispatcher.cc

Issue 2480293004: Mandate unique_ptr for base::IDMap in IDMapOwnPointer mode. (Closed)
Patch Set: Make changes requested by danakj, fix a few more headers Created 4 years 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/child/quota_dispatcher.h" 5 #include "content/child/quota_dispatcher.h"
6 6
7 #include <memory>
8 #include <utility>
9
7 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
8 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/memory/ptr_util.h"
9 #include "base/threading/thread_local.h" 13 #include "base/threading/thread_local.h"
10 #include "content/child/quota_message_filter.h" 14 #include "content/child/quota_message_filter.h"
11 #include "content/child/thread_safe_sender.h" 15 #include "content/child/thread_safe_sender.h"
12 #include "content/common/quota_messages.h" 16 #include "content/common/quota_messages.h"
13 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" 17 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h"
14 #include "third_party/WebKit/public/platform/WebStorageQuotaType.h" 18 #include "third_party/WebKit/public/platform/WebStorageQuotaType.h"
15 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h" 19 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h"
16 #include "url/gurl.h" 20 #include "url/gurl.h"
17 21
18 using blink::WebStorageQuotaCallbacks; 22 using blink::WebStorageQuotaCallbacks;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 DidQueryStorageUsageAndQuota); 105 DidQueryStorageUsageAndQuota);
102 IPC_MESSAGE_HANDLER(QuotaMsg_DidFail, DidFail); 106 IPC_MESSAGE_HANDLER(QuotaMsg_DidFail, DidFail);
103 IPC_MESSAGE_UNHANDLED(handled = false) 107 IPC_MESSAGE_UNHANDLED(handled = false)
104 IPC_END_MESSAGE_MAP() 108 IPC_END_MESSAGE_MAP()
105 DCHECK(handled) << "Unhandled message:" << msg.type(); 109 DCHECK(handled) << "Unhandled message:" << msg.type();
106 } 110 }
107 111
108 void QuotaDispatcher::QueryStorageUsageAndQuota( 112 void QuotaDispatcher::QueryStorageUsageAndQuota(
109 const GURL& origin_url, 113 const GURL& origin_url,
110 StorageType type, 114 StorageType type,
111 Callback* callback) { 115 std::unique_ptr<Callback> callback) {
112 DCHECK(callback); 116 DCHECK(callback);
113 int request_id = quota_message_filter_->GenerateRequestID(CurrentWorkerId()); 117 int request_id = quota_message_filter_->GenerateRequestID(CurrentWorkerId());
114 pending_quota_callbacks_.AddWithID(callback, request_id); 118 pending_quota_callbacks_.AddWithID(std::move(callback), request_id);
115 thread_safe_sender_->Send(new QuotaHostMsg_QueryStorageUsageAndQuota( 119 thread_safe_sender_->Send(new QuotaHostMsg_QueryStorageUsageAndQuota(
116 request_id, origin_url, type)); 120 request_id, origin_url, type));
117 } 121 }
118 122
119 void QuotaDispatcher::RequestStorageQuota(int render_view_id, 123 void QuotaDispatcher::RequestStorageQuota(int render_view_id,
120 const GURL& origin_url, 124 const GURL& origin_url,
121 StorageType type, 125 StorageType type,
122 uint64_t requested_size, 126 uint64_t requested_size,
123 Callback* callback) { 127 std::unique_ptr<Callback> callback) {
124 DCHECK(callback); 128 DCHECK(callback);
125 DCHECK(CurrentWorkerId() == 0); 129 DCHECK(CurrentWorkerId() == 0);
126 int request_id = quota_message_filter_->GenerateRequestID(CurrentWorkerId()); 130 int request_id = quota_message_filter_->GenerateRequestID(CurrentWorkerId());
127 pending_quota_callbacks_.AddWithID(callback, request_id); 131 pending_quota_callbacks_.AddWithID(std::move(callback), request_id);
128 132
129 StorageQuotaParams params; 133 StorageQuotaParams params;
130 params.render_view_id = render_view_id; 134 params.render_view_id = render_view_id;
131 params.request_id = request_id; 135 params.request_id = request_id;
132 params.origin_url = origin_url; 136 params.origin_url = origin_url;
133 params.storage_type = type; 137 params.storage_type = type;
134 params.requested_size = requested_size; 138 params.requested_size = requested_size;
135 params.user_gesture = 139 params.user_gesture =
136 blink::WebUserGestureIndicator::isProcessingUserGesture(); 140 blink::WebUserGestureIndicator::isProcessingUserGesture();
137 thread_safe_sender_->Send(new QuotaHostMsg_RequestStorageQuota(params)); 141 thread_safe_sender_->Send(new QuotaHostMsg_RequestStorageQuota(params));
138 } 142 }
139 143
140 // static 144 // static
141 QuotaDispatcher::Callback* 145 std::unique_ptr<QuotaDispatcher::Callback>
142 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper( 146 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(
143 blink::WebStorageQuotaCallbacks callbacks) { 147 blink::WebStorageQuotaCallbacks callbacks) {
144 return new WebStorageQuotaDispatcherCallback(callbacks); 148 return base::MakeUnique<WebStorageQuotaDispatcherCallback>(callbacks);
145 } 149 }
146 150
147 void QuotaDispatcher::DidGrantStorageQuota(int request_id, 151 void QuotaDispatcher::DidGrantStorageQuota(int request_id,
148 int64_t current_usage, 152 int64_t current_usage,
149 int64_t granted_quota) { 153 int64_t granted_quota) {
150 Callback* callback = pending_quota_callbacks_.Lookup(request_id); 154 Callback* callback = pending_quota_callbacks_.Lookup(request_id);
151 DCHECK(callback); 155 DCHECK(callback);
152 callback->DidGrantStorageQuota(current_usage, granted_quota); 156 callback->DidGrantStorageQuota(current_usage, granted_quota);
153 pending_quota_callbacks_.Remove(request_id); 157 pending_quota_callbacks_.Remove(request_id);
154 } 158 }
(...skipping 24 matching lines...) Expand all
179 "mismatching enums: kStorageTypePersistent"); 183 "mismatching enums: kStorageTypePersistent");
180 184
181 static_assert(int(blink::WebStorageQuotaErrorNotSupported) == 185 static_assert(int(blink::WebStorageQuotaErrorNotSupported) ==
182 int(storage::kQuotaErrorNotSupported), 186 int(storage::kQuotaErrorNotSupported),
183 "mismatching enums: kQuotaErrorNotSupported"); 187 "mismatching enums: kQuotaErrorNotSupported");
184 static_assert(int(blink::WebStorageQuotaErrorAbort) == 188 static_assert(int(blink::WebStorageQuotaErrorAbort) ==
185 int(storage::kQuotaErrorAbort), 189 int(storage::kQuotaErrorAbort),
186 "mismatching enums: kQuotaErrorAbort"); 190 "mismatching enums: kQuotaErrorAbort");
187 191
188 } // namespace content 192 } // namespace content
OLDNEW
« no previous file with comments | « content/child/quota_dispatcher.h ('k') | content/child/service_worker/service_worker_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698