diff options
author | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-28 08:46:35 +0000 |
---|---|---|
committer | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-28 08:46:35 +0000 |
commit | 6c1a852ad00df937a1c9ce8e15f9940e72d24386 (patch) | |
tree | a47a80b970c86fefa48b6809da26d9ad02509899 /chrome/renderer | |
parent | 7a338dcbd7a00980a53824b9901beb2344047a19 (diff) | |
download | chromium_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.js | 2 | ||||
-rw-r--r-- | chrome/renderer/resources/extensions/storage_custom_bindings.js | 10 |
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; }); })(); |