summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorkalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-28 08:46:35 +0000
committerkalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-28 08:46:35 +0000
commit6c1a852ad00df937a1c9ce8e15f9940e72d24386 (patch)
treea47a80b970c86fefa48b6809da26d9ad02509899 /chrome/renderer
parent7a338dcbd7a00980a53824b9901beb2344047a19 (diff)
downloadchromium_src-6c1a852ad00df937a1c9ce8e15f9940e72d24386.zip
chromium_src-6c1a852ad00df937a1c9ce8e15f9940e72d24386.tar.gz
chromium_src-6c1a852ad00df937a1c9ce8e15f9940e72d24386.tar.bz2
Extension Storage API: expose storage quota information to extensions, via:
- exposing the constants as properties on chrome.storage.{sync,local}, and - adding a new API call "getBytesInUse". BUG=110980, 110583, 110663 TEST=unit_tests --gtest_filter=ExtensionSettingsFrontendTest*, browser_tests --gtest_filter=ExtensionSetting* Review URL: http://codereview.chromium.org/9284013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119598 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/resources/extensions/schema_generated_bindings.js2
-rw-r--r--chrome/renderer/resources/extensions/storage_custom_bindings.js10
2 files changed, 7 insertions, 5 deletions
diff --git a/chrome/renderer/resources/extensions/schema_generated_bindings.js b/chrome/renderer/resources/extensions/schema_generated_bindings.js
index 4134762..32c7701 100644
--- a/chrome/renderer/resources/extensions/schema_generated_bindings.js
+++ b/chrome/renderer/resources/extensions/schema_generated_bindings.js
@@ -493,6 +493,8 @@ var chrome = chrome || {};
// the constructor.
value = { __proto__: constructor.prototype };
constructor.apply(value, args);
+ // Recursively add properties.
+ addProperties(value, property);
} else if (property.type === 'object') {
// Recursively add properties.
addProperties(value, property);
diff --git a/chrome/renderer/resources/extensions/storage_custom_bindings.js b/chrome/renderer/resources/extensions/storage_custom_bindings.js
index cd58774..1d358c2 100644
--- a/chrome/renderer/resources/extensions/storage_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/storage_custom_bindings.js
@@ -10,8 +10,7 @@ native function GetChromeHidden();
var chromeHidden = GetChromeHidden();
-chromeHidden.registerCustomType('StorageNamespace',
- function(typesAPI) {
+chromeHidden.registerCustomType('StorageArea', function(typesAPI) {
var sendRequest = typesAPI.sendRequest;
function extendSchema(schema) {
@@ -20,7 +19,7 @@ chromeHidden.registerCustomType('StorageNamespace',
return extendedSchema;
}
- function StorageNamespace(namespace, schema) {
+ function StorageArea(namespace, schema) {
// Binds an API function for a namespace to its browser-side call, e.g.
// storage.sync.get('foo') -> (binds to) ->
// storage.get('sync', 'foo').
@@ -38,10 +37,11 @@ chromeHidden.registerCustomType('StorageNamespace',
extendSchema(schema));
};
}
- ['get', 'set', 'remove', 'clear'].forEach(bindApiFunction.bind(this));
+ var apiFunctions = ['get', 'set', 'remove', 'clear', 'getBytesInUse'];
+ apiFunctions.forEach(bindApiFunction.bind(this));
}
- return StorageNamespace;
+ return StorageArea;
});
})();