mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-10 13:18:45 +02:00
This patch marks `ScrollContentIntoView()` as `MOZ_CAN_RUN_SCRIPT` and changing some callers of them to guarantee thar their parent callers are also safe. Additionally, this patch moves it from `nsIPresShell` to `PresShell` because all callers can refer `PresShell` directly. Unfortunately, this patch changes a lot of methods in autocomplete and satchel since this patch needs to mark some interface methods as `can_run_script` and they are called each other. This means that autocomplete module is really sensitive like editor module. Perhaps, autocomplete and satchel should do scroll asynchronously and unmark some of them as `MOZ_CAN_RUN_SCRIPT` again. Differential Revision: https://phabricator.services.mozilla.com/D28320 --HG-- extra : moz-landing-system : lando
67 lines
2.2 KiB
Text
67 lines
2.2 KiB
Text
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
interface nsIAutoCompleteResult;
|
|
interface nsIAutoCompleteObserver;
|
|
|
|
[scriptable, uuid(DE8DB85F-C1DE-4d87-94BA-7844890F91FE)]
|
|
interface nsIAutoCompleteSearch : nsISupports
|
|
{
|
|
/*
|
|
* Search for a given string and notify a listener (either synchronously
|
|
* or asynchronously) of the result
|
|
*
|
|
* @param searchString - The string to search for
|
|
* @param searchParam - An extra parameter
|
|
* @param previousResult - A previous result to use for faster searching
|
|
* @param listener - A listener to notify when the search is complete
|
|
*/
|
|
void startSearch(in AString searchString,
|
|
in AString searchParam,
|
|
in nsIAutoCompleteResult previousResult,
|
|
in nsIAutoCompleteObserver listener);
|
|
|
|
/*
|
|
* Stop all searches that are in progress
|
|
*/
|
|
void stopSearch();
|
|
};
|
|
|
|
[scriptable, uuid(8bd1dbbc-dcce-4007-9afa-b551eb687b61)]
|
|
interface nsIAutoCompleteObserver : nsISupports
|
|
{
|
|
/*
|
|
* Called when a search is complete and the results are ready
|
|
*
|
|
* @param search - The search object that processed this search
|
|
* @param result - The search result object
|
|
*/
|
|
[can_run_script] void onSearchResult(in nsIAutoCompleteSearch search,
|
|
in nsIAutoCompleteResult result);
|
|
};
|
|
|
|
[scriptable, uuid(4c3e7462-fbfb-4310-8f4b-239238392b75)]
|
|
interface nsIAutoCompleteSearchDescriptor : nsISupports
|
|
{
|
|
// The search is started after the timeout specified by the corresponding
|
|
// nsIAutoCompleteInput implementation.
|
|
const unsigned short SEARCH_TYPE_DELAYED = 0;
|
|
// The search is started synchronously, before any delayed searches.
|
|
const unsigned short SEARCH_TYPE_IMMEDIATE = 1;
|
|
|
|
/**
|
|
* Identifies the search behavior.
|
|
* Should be one of the SEARCH_TYPE_* constants above.
|
|
* Defaults to SEARCH_TYPE_DELAYED.
|
|
*/
|
|
readonly attribute unsigned short searchType;
|
|
|
|
/*
|
|
* Whether a new search should be triggered when the user deletes the
|
|
* autofilled part.
|
|
*/
|
|
readonly attribute boolean clearingAutoFillSearchesAgain;
|
|
};
|