diff -r 000000000000 -r 6474c204b198 toolkit/components/typeaheadfind/nsITypeAheadFind.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/components/typeaheadfind/nsITypeAheadFind.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,88 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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/. */ + + +/********************************* #includes *********************************/ + +#include "domstubs.idl" // nsIDOMElement, nsIDOMWindow +#include "nsISupports.idl" // nsISupports + + +/******************************** Declarations *******************************/ + +interface nsIDocShell; + + +/****************************** nsTypeAheadFind ******************************/ + +[scriptable, uuid(0749a445-19d3-4eb9-9d66-78eca8c6f604)] +interface nsITypeAheadFind : nsISupports +{ + /****************************** Initializer ******************************/ + + /* Necessary initialization that can't happen in the constructor, either + * because function calls here may fail, or because the docShell is + * required. */ + void init(in nsIDocShell aDocShell); + + + /***************************** Core functions ****************************/ + + /* Find aSearchString in page. If aLinksOnly is true, only search the page's + * hyperlinks for the string. */ + unsigned short find(in AString aSearchString, in boolean aLinksOnly); + + /* Find another match in the page. */ + unsigned short findAgain(in boolean findBackwards, in boolean aLinksOnly); + + + /**************************** Helper functions ***************************/ + + /* Change searched docShell. This happens when e.g. we use the same + * nsITypeAheadFind object to search different tabs. */ + void setDocShell(in nsIDocShell aDocShell); + + /* Change the look of the the "found match" selection to aToggle, and repaint + * the selection. */ + void setSelectionModeAndRepaint(in short toggle); + + /* Collapse the "found match" selection to its start. Because not all + * matches are owned by the same selection controller, this doesn't + * necessarily happen automatically. */ + void collapseSelection(); + + + /******************************* Attributes ******************************/ + + readonly attribute AString searchString; + // Most recent search string + attribute boolean caseSensitive; // Searches are case sensitive + readonly attribute nsIDOMElement foundLink; + // Most recent elem found, if a link + readonly attribute nsIDOMElement foundEditable; + // Most recent elem found, if editable + readonly attribute nsIDOMWindow currentWindow; + // Window of most recent match + + + /******************************* Constants *******************************/ + + /* Find return codes */ + const unsigned short FIND_FOUND = 0; + // Successful find + const unsigned short FIND_NOTFOUND = 1; + // Unsuccessful find + const unsigned short FIND_WRAPPED = 2; + // Successful find, but wrapped around + const unsigned short FIND_PENDING = 3; + // Unknown status, find has not finished + + + /*************************************************************************/ + +}; + + +/*****************************************************************************/