diff options
-rw-r--r-- | netwerk/base/nsIBrowserSearchService.idl | 8 | ||||
-rw-r--r-- | 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 045973e0c0..4ca052e916 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 19f4048b48..f6303bca11 100644 --- a/toolkit/components/search/nsSearchService.js +++ b/toolkit/components/search/nsSearchService.js @@ -780,6 +780,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... @@ -787,6 +788,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"]. @@ -800,7 +802,7 @@ EngineURL.prototype = { postData.setData(stringStream); } - return new Submission(makeURI(url), postData); + return new Submission(makeURI(url), postData, postDataString); }, _getTermsParameterName: function SRCH_EURL__getTermsParameterName() { @@ -2409,9 +2411,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() { @@ -2420,6 +2423,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)) |