Bug 1234020: Part 3 - [webext] Remove promise<->callback compatibility workarounds. r?billm draft
authorKris Maglione <maglione.k@gmail.com>
Mon, 25 Jan 2016 16:06:08 -0800
changeset 328985 bb467ff2b3df47316edfafe39581d316ffad4d2e
parent 328984 b4496250f1446d69f50e43f88f012824c47c038d
child 328986 e13030016edf058b1cb02b7dcc031af91103b666
push id10445
push usermaglione.k@gmail.com
push dateThu, 04 Feb 2016 21:38:16 +0000
reviewersbillm
bugs1234020
milestone47.0a1
Bug 1234020: Part 3 - [webext] Remove promise<->callback compatibility workarounds. r?billm
toolkit/components/extensions/Extension.jsm
--- a/toolkit/components/extensions/Extension.jsm
+++ b/toolkit/components/extensions/Extension.jsm
@@ -372,29 +372,22 @@ GlobalManager = {
             // the `chrome` API, so promise objects are not returned,
             // and lastError values are reported immediately.
             if (callback === null) {
               callback = defaultCallback;
             }
 
             let promise;
             try {
-              // TODO: Stop passing the callback once all APIs return
-              // promises.
-              promise = schemaApi[ns][name](...args, callback);
+              promise = schemaApi[ns][name](...args);
             } catch (e) {
               promise = Promise.reject(e);
             }
 
-            // TODO: This check should no longer be necessary
-            // once all async methods return promises.
-            if (promise) {
-              return context.wrapPromise(promise, callback);
-            }
-            return undefined;
+            return context.wrapPromise(promise || Promise.resolve(), callback);
           },
 
           getProperty(ns, name) {
             return schemaApi[ns][name];
           },
 
           setProperty(ns, name, value) {
             schemaApi[ns][name] = value;