diff options
Diffstat (limited to 'lib/completion.js')
| -rw-r--r-- | lib/completion.js | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/lib/completion.js b/lib/completion.js index 14c2dbe4..bb869206 100644 --- a/lib/completion.js +++ b/lib/completion.js @@ -116,33 +116,31 @@ var completion = (function() { }); /** A fuzzy bookmark completer */ - var FuzzyBookmarkCompletionSource = function() { - AsyncCompletionSource.call(this); - } - utils.extend(AsyncCompletionSource, FuzzyBookmarkCompletionSource); - - FuzzyBookmarkCompletionSource.prototype.traverseTree = function(bookmarks, results) { - var self = this; - bookmarks.forEach(function(bookmark) { - results.push(bookmark); - if (bookmark.children === undefined) - return; - self.traverseTree(bookmark.children, results); - }); - } - - FuzzyBookmarkCompletionSource.prototype.refresh = function() { - var self = this; self.reset(); - chrome.bookmarks.getTree(function(bookmarks) { - var results = []; - self.traverseTree(bookmarks, results); + var FuzzyBookmarkCompletionSource = AsyncCompletionSource.extend({ + traverseTree: function(bookmarks, results) { + var self = this; + bookmarks.forEach(function(bookmark) { + results.push(bookmark); + if (bookmark.children === undefined) + return; + self.traverseTree(bookmark.children, results); + }); + }, - self.resultsReady(results.filter(function(b) { return b.url !== undefined; }) - .map(function(bookmark) { - return self.createInternalMatch('bookmark', bookmark); - })); - }); - } + refresh: function() { + var self = this; + self.reset(); + chrome.bookmarks.getTree(function(bookmarks) { + var results = []; + self.traverseTree(bookmarks, results); + + self.resultsReady(results.filter(function(b) { return b.url !== undefined; }) + .map(function(bookmark) { + return self.createInternalMatch('bookmark', bookmark); + })); + }); + } + }); /** A fuzzy history completer */ var FuzzyHistoryCompletionSource = function(maxResults) { |
