From cdf08f226693741459d4e340700db34a040b112f Mon Sep 17 00:00:00 2001 From: Wes Kocher Date: Tue, 21 Mar 2017 10:57:20 -0700 Subject: [PATCH] Bug 1318070 - Make sure multi-word queries are rejected when keyword.enabled is false r=mak MozReview-Commit-ID: 6kMU2oTy456 --HG-- extra : rebase_source : 26632a932b17bccd3da318dcbf0a45323acf71ae --- toolkit/components/places/UnifiedComplete.js | 14 ++++++++++++++ .../places/tests/unifiedcomplete/test_visit_url.js | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/toolkit/components/places/UnifiedComplete.js b/toolkit/components/places/UnifiedComplete.js index 3ef8071b12b4..85d455c52cc9 100644 --- a/toolkit/components/places/UnifiedComplete.js +++ b/toolkit/components/places/UnifiedComplete.js @@ -1569,6 +1569,20 @@ Search.prototype = { fixupInfo = Services.uriFixup.getFixupURIInfo(this._originalSearchString, flags); } catch (e) { + if (e.result == Cr.NS_ERROR_MALFORMED_URI && !Prefs.keywordEnabled) { + let value = PlacesUtils.mozActionURI("visiturl", { + url: this._originalSearchString, + input: this._originalSearchString, + }); + this._addMatch({ + value, + comment: this._originalSearchString, + style: "action visiturl", + frecency: 0, + }); + + return true; + } return false; } diff --git a/toolkit/components/places/tests/unifiedcomplete/test_visit_url.js b/toolkit/components/places/tests/unifiedcomplete/test_visit_url.js index f5ab311bf528..eaccb23e5d0c 100644 --- a/toolkit/components/places/tests/unifiedcomplete/test_visit_url.js +++ b/toolkit/components/places/tests/unifiedcomplete/test_visit_url.js @@ -141,6 +141,12 @@ add_task(function*() { searchParam: "enable-actions", matches: [ makeVisitMatch("bacon", "http://bacon/", { heuristic: true }) ] }); + do_print("visit two word query, keyword.enabled = false"); + yield check_autocomplete({ + search: "bacon lovers", + searchParam: "enable-actions", + matches: [ makeVisitMatch("bacon lovers", "bacon lovers", { heuristic: true }) ] + }); Services.prefs.setBoolPref("keyword.enabled", keywordEnabled); do_print("visit url, scheme+host");