Chromium Code Reviews| Index: chrome/browser/resources/bookmark_manager/js/bmm.js |
| diff --git a/chrome/browser/resources/bookmark_manager/js/bmm.js b/chrome/browser/resources/bookmark_manager/js/bmm.js |
| index 8daf62cd720fded56fefc2f64486966d56809fc3..3c854aa6290aa44c0f61cdf3b66f31776dc3a01a 100644 |
| --- a/chrome/browser/resources/bookmark_manager/js/bmm.js |
| +++ b/chrome/browser/resources/bookmark_manager/js/bmm.js |
| @@ -41,8 +41,14 @@ cr.define('bmm', function() { |
| * @return {!Promise<!Array<!BookmarkTreeNode>>} . |
| */ |
| function getSubtreePromise(id, foldersOnly) { |
| - return new Promise(function(resolve) { |
| - chrome.bookmarkManagerPrivate.getSubtree(id, foldersOnly, resolve); |
| + return new Promise(function(resolve, reject) { |
| + chrome.bookmarkManagerPrivate.getSubtree(id, foldersOnly, function(node) { |
| + if (chrome.runtime.lastError) { |
| + reject(new Error(chrome.runtime.lastError.message)); |
| + return; |
| + } |
| + resolve(node); |
| + }); |
| }); |
| } |
| @@ -55,8 +61,16 @@ cr.define('bmm', function() { |
| function loadSubtree(id) { |
| if (!loadingPromises[id]) { |
| loadingPromises[id] = getSubtreePromise(id, false).then(function(nodes) { |
| - delete loadingPromises[id]; |
| + loadingPromises[id].then(function() { |
|
Bernhard Bauer
2015/04/30 15:08:07
You can pull this out into a single callback on lo
Deepak
2015/04/30 16:11:19
Done.
|
| + delete loadingPromises[id]; |
| + }); |
| return nodes && nodes[0]; |
| + }, function(error) { |
| + loadingPromises[id].then(function() { |
| + delete loadingPromises[id]; |
| + }); |
| + console.error(error.message); |
| + return; |
| }); |
| } |
| return loadingPromises[id]; |