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

Side by Side Diff: android_webview/native/aw_quota_manager_bridge_impl.cc

Issue 1492703004: Pass method parameters as JavaParamRef in android_webview. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: forgot to test compile unit tests before uploading, whoops Created 5 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "android_webview/native/aw_quota_manager_bridge_impl.h" 5 #include "android_webview/native/aw_quota_manager_bridge_impl.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "android_webview/browser/aw_browser_context.h" 9 #include "android_webview/browser/aw_browser_context.h"
10 #include "android_webview/browser/aw_content_browser_client.h" 10 #include "android_webview/browser/aw_content_browser_client.h"
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 } 173 }
174 174
175 AwQuotaManagerBridgeImpl::AwQuotaManagerBridgeImpl( 175 AwQuotaManagerBridgeImpl::AwQuotaManagerBridgeImpl(
176 AwBrowserContext* browser_context) 176 AwBrowserContext* browser_context)
177 : browser_context_(browser_context), 177 : browser_context_(browser_context),
178 weak_factory_(this) { 178 weak_factory_(this) {
179 } 179 }
180 180
181 AwQuotaManagerBridgeImpl::~AwQuotaManagerBridgeImpl() {} 181 AwQuotaManagerBridgeImpl::~AwQuotaManagerBridgeImpl() {}
182 182
183 void AwQuotaManagerBridgeImpl::Init(JNIEnv* env, jobject object) { 183 void AwQuotaManagerBridgeImpl::Init(JNIEnv* env,
184 const JavaParamRef<jobject>& object) {
184 java_ref_ = JavaObjectWeakGlobalRef(env, object); 185 java_ref_ = JavaObjectWeakGlobalRef(env, object);
185 } 186 }
186 187
187 StoragePartition* AwQuotaManagerBridgeImpl::GetStoragePartition() const { 188 StoragePartition* AwQuotaManagerBridgeImpl::GetStoragePartition() const {
188 DCHECK_CURRENTLY_ON(BrowserThread::UI); 189 DCHECK_CURRENTLY_ON(BrowserThread::UI);
189 190
190 // AndroidWebview does not use per-site storage partitions. 191 // AndroidWebview does not use per-site storage partitions.
191 StoragePartition* storage_partition = 192 StoragePartition* storage_partition =
192 content::BrowserContext::GetDefaultStoragePartition(browser_context_); 193 content::BrowserContext::GetDefaultStoragePartition(browser_context_);
193 DCHECK(storage_partition); 194 DCHECK(storage_partition);
194 return storage_partition; 195 return storage_partition;
195 } 196 }
196 197
197 QuotaManager* AwQuotaManagerBridgeImpl::GetQuotaManager() const { 198 QuotaManager* AwQuotaManagerBridgeImpl::GetQuotaManager() const {
198 DCHECK_CURRENTLY_ON(BrowserThread::UI); 199 DCHECK_CURRENTLY_ON(BrowserThread::UI);
199 200
200 QuotaManager* quota_manager = GetStoragePartition()->GetQuotaManager(); 201 QuotaManager* quota_manager = GetStoragePartition()->GetQuotaManager();
201 DCHECK(quota_manager); 202 DCHECK(quota_manager);
202 return quota_manager; 203 return quota_manager;
203 } 204 }
204 205
205 void AwQuotaManagerBridgeImpl::DeleteAllData(JNIEnv* env, jobject object) { 206 void AwQuotaManagerBridgeImpl::DeleteAllData(
207 JNIEnv* env,
208 const JavaParamRef<jobject>& object) {
206 RunOnUIThread(base::Bind(&AwQuotaManagerBridgeImpl::DeleteAllDataOnUiThread, 209 RunOnUIThread(base::Bind(&AwQuotaManagerBridgeImpl::DeleteAllDataOnUiThread,
207 this)); 210 this));
208 } 211 }
209 212
210 void AwQuotaManagerBridgeImpl::DeleteAllDataOnUiThread() { 213 void AwQuotaManagerBridgeImpl::DeleteAllDataOnUiThread() {
211 DCHECK_CURRENTLY_ON(BrowserThread::UI); 214 DCHECK_CURRENTLY_ON(BrowserThread::UI);
212 GetStoragePartition()->ClearData( 215 GetStoragePartition()->ClearData(
213 // Clear all web storage data except cookies. 216 // Clear all web storage data except cookies.
214 StoragePartition::REMOVE_DATA_MASK_APPCACHE | 217 StoragePartition::REMOVE_DATA_MASK_APPCACHE |
215 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | 218 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS |
216 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB | 219 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB |
217 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE | 220 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE |
218 StoragePartition::REMOVE_DATA_MASK_WEBSQL, 221 StoragePartition::REMOVE_DATA_MASK_WEBSQL,
219 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_TEMPORARY, 222 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_TEMPORARY,
220 GURL(), StoragePartition::OriginMatcherFunction(), 223 GURL(), StoragePartition::OriginMatcherFunction(),
221 base::Time(), base::Time::Max(), base::Bind(&base::DoNothing)); 224 base::Time(), base::Time::Max(), base::Bind(&base::DoNothing));
222 } 225 }
223 226
224 void AwQuotaManagerBridgeImpl::DeleteOrigin( 227 void AwQuotaManagerBridgeImpl::DeleteOrigin(
225 JNIEnv* env, jobject object, jstring origin) { 228 JNIEnv* env,
229 const JavaParamRef<jobject>& object,
230 const JavaParamRef<jstring>& origin) {
226 base::string16 origin_string( 231 base::string16 origin_string(
227 base::android::ConvertJavaStringToUTF16(env, origin)); 232 base::android::ConvertJavaStringToUTF16(env, origin));
228 RunOnUIThread(base::Bind(&AwQuotaManagerBridgeImpl::DeleteOriginOnUiThread, 233 RunOnUIThread(base::Bind(&AwQuotaManagerBridgeImpl::DeleteOriginOnUiThread,
229 this, 234 this,
230 origin_string)); 235 origin_string));
231 } 236 }
232 237
233 void AwQuotaManagerBridgeImpl::DeleteOriginOnUiThread( 238 void AwQuotaManagerBridgeImpl::DeleteOriginOnUiThread(
234 const base::string16& origin) { 239 const base::string16& origin) {
235 DCHECK_CURRENTLY_ON(BrowserThread::UI); 240 DCHECK_CURRENTLY_ON(BrowserThread::UI);
236 StoragePartition* storage_partition = GetStoragePartition(); 241 StoragePartition* storage_partition = GetStoragePartition();
237 storage_partition->ClearDataForOrigin( 242 storage_partition->ClearDataForOrigin(
238 // All (temporary) QuotaClient types. 243 // All (temporary) QuotaClient types.
239 StoragePartition::REMOVE_DATA_MASK_APPCACHE | 244 StoragePartition::REMOVE_DATA_MASK_APPCACHE |
240 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | 245 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS |
241 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB | 246 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB |
242 StoragePartition::REMOVE_DATA_MASK_WEBSQL, 247 StoragePartition::REMOVE_DATA_MASK_WEBSQL,
243 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_TEMPORARY, 248 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_TEMPORARY,
244 GURL(origin), 249 GURL(origin),
245 storage_partition->GetURLRequestContext(), 250 storage_partition->GetURLRequestContext(),
246 base::Bind(&base::DoNothing)); 251 base::Bind(&base::DoNothing));
247 } 252 }
248 253
249 void AwQuotaManagerBridgeImpl::GetOrigins( 254 void AwQuotaManagerBridgeImpl::GetOrigins(JNIEnv* env,
250 JNIEnv* env, jobject object, jint callback_id) { 255 const JavaParamRef<jobject>& object,
256 jint callback_id) {
251 RunOnUIThread(base::Bind(&AwQuotaManagerBridgeImpl::GetOriginsOnUiThread, 257 RunOnUIThread(base::Bind(&AwQuotaManagerBridgeImpl::GetOriginsOnUiThread,
252 this, 258 this,
253 callback_id)); 259 callback_id));
254 } 260 }
255 261
256 void AwQuotaManagerBridgeImpl::GetOriginsOnUiThread(jint callback_id) { 262 void AwQuotaManagerBridgeImpl::GetOriginsOnUiThread(jint callback_id) {
257 DCHECK_CURRENTLY_ON(BrowserThread::UI); 263 DCHECK_CURRENTLY_ON(BrowserThread::UI);
258 264
259 const GetOriginsCallback ui_callback = base::Bind( 265 const GetOriginsCallback ui_callback = base::Bind(
260 &AwQuotaManagerBridgeImpl::GetOriginsCallbackImpl, 266 &AwQuotaManagerBridgeImpl::GetOriginsCallbackImpl,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 } 304 }
299 BrowserThread::PostTask( 305 BrowserThread::PostTask(
300 BrowserThread::UI, 306 BrowserThread::UI,
301 FROM_HERE, 307 FROM_HERE,
302 base::Bind(ui_callback, usage, quota)); 308 base::Bind(ui_callback, usage, quota));
303 } 309 }
304 310
305 } // namespace 311 } // namespace
306 312
307 void AwQuotaManagerBridgeImpl::GetUsageAndQuotaForOrigin( 313 void AwQuotaManagerBridgeImpl::GetUsageAndQuotaForOrigin(
308 JNIEnv* env, jobject object, 314 JNIEnv* env,
309 jstring origin, 315 const JavaParamRef<jobject>& object,
316 const JavaParamRef<jstring>& origin,
310 jint callback_id, 317 jint callback_id,
311 bool is_quota) { 318 bool is_quota) {
312 base::string16 origin_string( 319 base::string16 origin_string(
313 base::android::ConvertJavaStringToUTF16(env, origin)); 320 base::android::ConvertJavaStringToUTF16(env, origin));
314 RunOnUIThread(base::Bind( 321 RunOnUIThread(base::Bind(
315 &AwQuotaManagerBridgeImpl::GetUsageAndQuotaForOriginOnUiThread, 322 &AwQuotaManagerBridgeImpl::GetUsageAndQuotaForOriginOnUiThread,
316 this, 323 this,
317 origin_string, 324 origin_string,
318 callback_id, 325 callback_id,
319 is_quota)); 326 is_quota));
(...skipping 30 matching lines...) Expand all
350 357
351 Java_AwQuotaManagerBridge_onGetUsageAndQuotaForOriginCallback( 358 Java_AwQuotaManagerBridge_onGetUsageAndQuotaForOriginCallback(
352 env, obj.obj(), jcallback_id, is_quota, usage, quota); 359 env, obj.obj(), jcallback_id, is_quota, usage, quota);
353 } 360 }
354 361
355 bool RegisterAwQuotaManagerBridge(JNIEnv* env) { 362 bool RegisterAwQuotaManagerBridge(JNIEnv* env) {
356 return RegisterNativesImpl(env); 363 return RegisterNativesImpl(env);
357 } 364 }
358 365
359 } // namespace android_webview 366 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/native/aw_quota_manager_bridge_impl.h ('k') | android_webview/native/aw_settings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698