summaryrefslogtreecommitdiffstats
path: root/layout/inspector/inISearchProcess.idl
diff options
context:
space:
mode:
Diffstat (limited to 'layout/inspector/inISearchProcess.idl')
-rw-r--r--layout/inspector/inISearchProcess.idl49
1 files changed, 49 insertions, 0 deletions
diff --git a/layout/inspector/inISearchProcess.idl b/layout/inspector/inISearchProcess.idl
new file mode 100644
index 000000000..d1e2f1ca2
--- /dev/null
+++ b/layout/inspector/inISearchProcess.idl
@@ -0,0 +1,49 @@
+/* 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 nsAString;
+interface inISearchObserver;
+
+[scriptable, uuid(D5FA765B-2448-4686-B7C1-5FF13ACB0FC9)]
+interface inISearchProcess : nsISupports
+{
+ // indicates if an asynchronous search is in progress
+ readonly attribute boolean isActive;
+
+ // the number of results returned
+ readonly attribute long resultCount;
+
+ // for optimization when doing an async search, this will optionally
+ // destroy old results, assuming they will be fetched as soon as
+ // the observer is notified of their presence. If true, then indices
+ // pass to the get*ResultAt methods will return null for any index
+ // other than the most recent one, and getResults will return null always.
+ attribute boolean holdResults;
+
+ // start a synchronous search
+ void searchSync();
+
+ // start an asynchronous search
+ void searchAsync(in inISearchObserver aObserver);
+
+ // command an async process to stop immediately
+ void searchStop();
+
+ // performs a step in the asynchronous search loop
+ // return indicates true if loop is done, false if it should continue
+ // This is there only for the benefit of asynchronous search controllers,
+ // and is not for use by those who just wish to call searchAsync
+ boolean searchStep();
+
+ // methods for getting results of specific types
+
+ AString getStringResultAt(in long aIndex);
+
+ long getIntResultAt(in long aIndex);
+
+ unsigned long getUIntResultAt(in long aIndex);
+};