Browse Source

Invoke callback instead of returning

Kevin Sawicki 8 years ago
parent
commit
d2d11ce8bd
2 changed files with 10 additions and 7 deletions
  1. 9 6
      lib/renderer/extensions/storage.js
  2. 1 1
      spec/api-browser-window-spec.js

+ 9 - 6
lib/renderer/extensions/storage.js

@@ -12,11 +12,17 @@ const setStorage = (storageType, storage) => {
   window.localStorage.setItem(`__chrome.storage.${storageType}__`, json)
 }
 
+const scheduleCallback = (items, callback) => {
+  setTimeout(function () {
+    callback(items)
+  })
+}
+
 const getStorageManager = (storageType) => {
   return {
     get (keys, callback) {
       const storage = getStorage(storageType)
-      if (keys == null) return storage
+      if (keys == null) return scheduleCallback(storage, callback)
 
       let defaults = {}
       switch (typeof keys) {
@@ -30,7 +36,7 @@ const getStorageManager = (storageType) => {
           }
           break
       }
-      if (keys.length === 0) return {}
+      if (keys.length === 0) return scheduleCallback({}, callback)
 
       let items = {}
       keys.forEach(function (key) {
@@ -38,10 +44,7 @@ const getStorageManager = (storageType) => {
         if (value == null) value = defaults[key]
         items[key] = value
       })
-
-      setTimeout(function () {
-        callback(items)
-      })
+      scheduleCallback(items, callback)
     },
 
     set (items, callback) {

+ 1 - 1
spec/api-browser-window-spec.js

@@ -1025,7 +1025,7 @@ describe('browser-window module', function () {
         }, /Unexpected token }/)
       })
 
-      describe.only('when the devtools is docked', function () {
+      describe('when the devtools is docked', function () {
         it('creates the extension', function (done) {
           w.webContents.openDevTools({mode: 'bottom'})