From b62560c6fb069d78006815f11b1f81aaeb8b0383 Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Sat, 23 Oct 2010 01:45:53 +1100 Subject: [PATCH] Extract a general searchEngine completer from 'suggestengines' completer. --- common/content/bookmarks.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/common/content/bookmarks.js b/common/content/bookmarks.js index 0cb4d0ab..095ef8d3 100644 --- a/common/content/bookmarks.js +++ b/common/content/bookmarks.js @@ -498,14 +498,10 @@ const Bookmarks = Module("bookmarks", { "Engine Alias which has a feature of suggest", "stringlist", "google", { - completer: function completer(value) { - let engines = services.get("browserSearch").getEngines({}) - .filter(function (engine) engine.supportsResponseType("application/x-suggestions+json")); - - return engines.map(function (engine) [engine.alias, engine.description]); - } + completer: function completer(context) completion.searchEngine(context, true), }); }, + completion: function () { completion.bookmark = function bookmark(context, tags, extra) { context.title = ["Bookmark", "Title"]; @@ -558,6 +554,15 @@ const Bookmarks = Module("bookmarks", { }); }; + completion.searchEngine = function searchEngine(context, suggest) { + let engines = services.get("browserSearch").getEngines({}); + if (suggest) + engines = engines.filter(function (e) e.supportsResponseType("application/x-suggestions+json")); + + context.title = ["Suggest Engine", "Description"]; + context.completions = engines.map(function (e) [e.alias, e.description]); + }; + completion.searchEngineSuggest = function searchEngineSuggest(context, engineAliases, kludge) { if (!context.filter) return;