From b86dff45d77d3019222912753423b7d913bb6905 Mon Sep 17 00:00:00 2001 From: Jhen Date: Thu, 10 Nov 2016 11:34:46 +0800 Subject: [PATCH 1/2] Add support remove / clear for chrome.storage --- lib/renderer/extensions/storage.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/renderer/extensions/storage.js b/lib/renderer/extensions/storage.js index af3978e64846..d1a8d880a60b 100644 --- a/lib/renderer/extensions/storage.js +++ b/lib/renderer/extensions/storage.js @@ -56,6 +56,27 @@ const getStorageManager = (storageType) => { setStorage(storageType, storage) + setTimeout(callback) + }, + + remove (keys, callback) { + const storage = getStorage(storageType) + + if (!Array.isArray(keys)) { + keys = [keys] + } + keys.forEach(function (key) { + delete storage[key] + }) + + setStorage(storageType, storage) + + setTimeout(callback) + }, + + clear (callback) { + setStorage(storageType, {}) + setTimeout(callback) } } From 8b30439d7f91416f46e5c84049457dca7bf9cb1c Mon Sep 17 00:00:00 2001 From: Jhen Date: Tue, 15 Nov 2016 19:41:23 +0800 Subject: [PATCH 2/2] Update devtools extension spec for chrome.storage --- spec/api-browser-window-spec.js | 12 +++- .../devtools-extensions/foo/index.html | 64 +++++++++++++++++-- 2 files changed, 67 insertions(+), 9 deletions(-) diff --git a/spec/api-browser-window-spec.js b/spec/api-browser-window-spec.js index 9bfede278bc2..eb69be342b75 100644 --- a/spec/api-browser-window-spec.js +++ b/spec/api-browser-window-spec.js @@ -1384,8 +1384,16 @@ describe('browser-window module', function () { assert.equal(message.tabId, w.webContents.id) assert.equal(message.i18nString, 'foo - bar (baz)') assert.deepEqual(message.storageItems, { - local: {hello: 'world'}, - sync: {foo: 'bar'} + local: { + set: {hello: 'world', world: 'hello'}, + remove: {world: 'hello'}, + clear: {} + }, + sync: { + set: {foo: 'bar', bar: 'foo'}, + remove: {foo: 'bar'}, + clear: {} + } }) done() }) diff --git a/spec/fixtures/devtools-extensions/foo/index.html b/spec/fixtures/devtools-extensions/foo/index.html index 55d4664cc87d..92c20145588b 100644 --- a/spec/fixtures/devtools-extensions/foo/index.html +++ b/spec/fixtures/devtools-extensions/foo/index.html @@ -4,10 +4,10 @@