eEntry", this); } receiveMessage(message) { switch (message.name) { case "FormHistory:AutoCompleteSearchAsync": this.#onFormHistoryAutoCompleteSearchAsync({ ...message.data, target: message.target, }); break; case "FormHistory:RemoveEntry": this.#onFormHistoryRemoveEntry(message.data); break; } } async #onFormHistoryAutoCompleteSearchAsync({ id, searchString, params, target, }) { // This case is only used for the search field. There is a // similar algorithm in FormHistoryParent.sys.mjs that uses // sendQuery for other form fields. const instance = (this._queryInstance = {}); const formHistoryEntries = await lazy.FormHistory.getAutoCompleteResults( searchString, params, () => this._queryInstance != instance ); if (this._queryInstance == instance) { target.sendAsyncMessage("FormHistory:AutoCompleteSearchResults", { id, results: { formHistoryEntries, externalEntries: [], }, }); } } #onFormHistoryRemoveEntry({ inputName, value, guid }) { lazy.FormHistory.update({ op: "remove", fieldname: inputName, value, guid, }); } } PK