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
3 // found in the LICENSE file.
5 package com
.android
.webview
.chromium
;
7 import android
.webkit
.ValueCallback
;
8 import android
.webkit
.WebStorage
;
10 import org
.chromium
.android_webview
.AwQuotaManagerBridge
;
12 import java
.util
.HashMap
;
16 * Chromium implementation of WebStorage -- forwards calls to the
17 * chromium internal implementation.
19 @SuppressWarnings("deprecation")
20 final class WebStorageAdapter
extends WebStorage
{
21 private final AwQuotaManagerBridge mQuotaManagerBridge
;
22 WebStorageAdapter(AwQuotaManagerBridge quotaManagerBridge
) {
23 mQuotaManagerBridge
= quotaManagerBridge
;
27 public void getOrigins(final ValueCallback
<Map
> callback
) {
28 mQuotaManagerBridge
.getOrigins(new ValueCallback
<AwQuotaManagerBridge
.Origins
>() {
30 public void onReceiveValue(AwQuotaManagerBridge
.Origins origins
) {
31 Map
<String
, Origin
> originsMap
= new HashMap
<String
, Origin
>();
32 for (int i
= 0; i
< origins
.mOrigins
.length
; ++i
) {
33 Origin origin
= new Origin(origins
.mOrigins
[i
], origins
.mQuotas
[i
],
35 // Intentionally empty to work around cross-package protected visibility
36 // of Origin constructor.
38 originsMap
.put(origins
.mOrigins
[i
], origin
);
40 callback
.onReceiveValue(originsMap
);
46 public void getUsageForOrigin(String origin
, ValueCallback
<Long
> callback
) {
47 mQuotaManagerBridge
.getUsageForOrigin(origin
, callback
);
51 public void getQuotaForOrigin(String origin
, ValueCallback
<Long
> callback
) {
52 mQuotaManagerBridge
.getQuotaForOrigin(origin
, callback
);
56 public void setQuotaForOrigin(String origin
, long quota
) {
57 // Intentional no-op for deprecated method.
61 public void deleteOrigin(String origin
) {
62 mQuotaManagerBridge
.deleteOrigin(origin
);
66 public void deleteAllData() {
67 mQuotaManagerBridge
.deleteAllData();