From 9998b2436a9f904bd8d59853031ceefe3af1c9e2 Mon Sep 17 00:00:00 2001 From: Fedor Date: Thu, 5 Sep 2019 20:09:30 +0300 Subject: [PATCH] Reinstate postDataString for about:home searches. --- netwerk/base/nsIBrowserSearchService.idl | 8 +++++++- toolkit/components/search/nsSearchService.js | 10 ++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/netwerk/base/nsIBrowserSearchService.idl b/netwerk/base/nsIBrowserSearchService.idl index 045973e0c..4ca052e91 100644 --- a/netwerk/base/nsIBrowserSearchService.idl +++ b/netwerk/base/nsIBrowserSearchService.idl @@ -7,7 +7,7 @@ interface nsIURI; interface nsIInputStream; -[scriptable, uuid(5799251f-5b55-4df7-a9e7-0c27812c469a)] +[scriptable, uuid(72599f7a-3712-4b93-90e9-86127006cd68)] interface nsISearchSubmission : nsISupports { /** @@ -20,6 +20,12 @@ interface nsISearchSubmission : nsISupports * The URI to submit a search to. */ readonly attribute nsIURI uri; + + /** + * The POST data associated with a search submission as an + * application/x-www-form-urlencoded string. May be null. + */ + readonly attribute AString postDataString; }; [scriptable, uuid(620bd920-0491-48c8-99a8-d6047e64802d)] diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/search/nsSearchService.js index 399c4924e..cef4cfce7 100644 --- a/toolkit/components/search/nsSearchService.js +++ b/toolkit/components/search/nsSearchService.js @@ -781,6 +781,7 @@ EngineURL.prototype = { } var postData = null; + let postDataString = null; if (this.method == "GET") { // GET method requests have no post data, and append the encoded // query string to the url... @@ -788,6 +789,7 @@ EngineURL.prototype = { url += "?"; url += dataString; } else if (this.method == "POST") { + postDataString = dataString; // POST method requests must wrap the encoded text in a MIME // stream and supply that as POSTDATA. var stringStream = Cc["@mozilla.org/io/string-input-stream;1"]. @@ -801,7 +803,7 @@ EngineURL.prototype = { postData.setData(stringStream); } - return new Submission(makeURI(url), postData); + return new Submission(makeURI(url), postData, postDataString); }, _getTermsParameterName: function SRCH_EURL__getTermsParameterName() { @@ -2410,9 +2412,10 @@ Engine.prototype = { }; // nsISearchSubmission -function Submission(aURI, aPostData = null) { +function Submission(aURI, aPostData = null, aPostDataString = null) { this._uri = aURI; this._postData = aPostData; + this._postDataString = aPostDataString; } Submission.prototype = { get uri() { @@ -2421,6 +2424,9 @@ Submission.prototype = { get postData() { return this._postData; }, + get postDataString() { + return this._postDataString; + }, QueryInterface: function SRCH_SUBM_QI(aIID) { if (aIID.equals(Ci.nsISearchSubmission) || aIID.equals(Ci.nsISupports))