commit 483c8eed68f2e2ae4983b4f6655c69dd65c7686f
parent e0ece3e625d16a9f00c3c42583b61561df03d367
Author: Mark Banner <standard8@mozilla.com>
Date: Sat, 15 Nov 2025 10:23:57 +0000
Bug 2000003 - Add TypeScript definitions Submission class in SearchEngine. r=search-reviewers,scunnane
Differential Revision: https://phabricator.services.mozilla.com/D272621
Diffstat:
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/toolkit/components/search/SearchEngine.sys.mjs b/toolkit/components/search/SearchEngine.sys.mjs
@@ -934,8 +934,11 @@ export class SearchEngine {
return (
existingSubmission.uri.equals(newSubmission.uri) &&
- existingSubmission.postData?.data.data ==
- newSubmission.postData?.data.data
+ // The input streams returned are `nsIStringInputStream`s which also
+ // implement `nsISupportsCString`.
+ existingSubmission.postData?.data.QueryInterface(Ci.nsISupportsCString)
+ .data ==
+ newSubmission.postData?.data.QueryInterface(Ci.nsISupportsCString).data
);
}
@@ -1623,14 +1626,30 @@ export class SearchEngine {
class Submission {
QueryInterface = ChromeUtils.generateQI(["nsISearchSubmission"]);
+ /**
+ * @param {nsIURI} uri
+ * The URI to submit a search to.
+ * @param {nsIMIMEInputStream} [postData]
+ * The POST data associated with a search submission.
+ */
constructor(uri, postData = null) {
this._uri = uri;
this._postData = postData;
}
+ /**
+ * The URI to submit a search to.
+ */
get uri() {
return this._uri;
}
+
+ /**
+ * The POST data associated with a search submission, wrapped in a MIME
+ * input stream.
+ *
+ * The Mime Input Stream contains a nsIStringInputStream.
+ */
get postData() {
return this._postData;
}