| Index: components/web_view/public/interfaces/frame.mojom
|
| diff --git a/components/web_view/public/interfaces/frame.mojom b/components/web_view/public/interfaces/frame.mojom
|
| index d1a8f807d534260783d2a4a4360947c4c1cd74ef..ffe1f8f933dabb160440726605bb44f7ab318e58 100644
|
| --- a/components/web_view/public/interfaces/frame.mojom
|
| +++ b/components/web_view/public/interfaces/frame.mojom
|
| @@ -110,6 +110,14 @@ interface Frame {
|
|
|
| // Dispatches a load event to the parent of the frame.
|
| DispatchLoadEventToParent();
|
| +
|
| + // Reports the number of matches for a given find. This is an asynchronous
|
| + // notification and can fire multiple times per HighlightFindResults() call.
|
| + OnFindInFrameCountUpdated(int32 request_id, int32 count,
|
| + bool final_update);
|
| +
|
| + // Reports which match is currently highlighted.
|
| + OnFindInPageSelectionUpdated(int32 request_id, int32 active_match_ordinal);
|
| };
|
|
|
| enum ViewConnectType {
|
| @@ -166,4 +174,35 @@ interface FrameClient {
|
| // Called to dispatch a load event of |frame_id| in its parent. This is only
|
| // called on the FrameClient rendering the parent of |frame_id|.
|
| OnDispatchFrameLoadEvent(uint32 frame_id);
|
| +
|
| + // TODO(erg): Several of these take a WebFindOptions struct; we probably need
|
| + // to build a Frame version of that struct.
|
| +
|
| + // Searches for a given string. If a match is found, it will be
|
| + // selected. Find() will only return true if it found a match, and will return
|
| + // the result in the future through OnFindInPageSelectionUpdated(). That
|
| + // callback will return |request_id|, and the listener should verify the
|
| + // |request_id| on callback to guard against race conditions.
|
| + //
|
| + // |request_id| should be a monotonically increasing number which should only
|
| + // be reused between Find() and the HighlightFindResults() calls that are
|
| + // searching for the same string. |search_text| may be empty.
|
| + Find(int32 request_id, string search_text) => (bool found);
|
| +
|
| + // Stop finding the single find result on the page. If |clear_selection| is
|
| + // set, it will also clear the selected find text.
|
| + StopFinding(bool clear_selection);
|
| +
|
| + // Match every instance of a string in a document asynchronously, highlighting
|
| + // them and putting a tick mark in the scroll bar. This differs from Find() as
|
| + // Find() is about finding the one selected instance of the text.
|
| + // HighlightFindResults() is about highlighting all the instances of the text.
|
| + //
|
| + // HighlightFindResults() will asynchronously call
|
| + // OnFindInFrameCountUpdated() multiple times to report its progress.
|
| + HighlightFindResults(int32 request_id, string search_test, bool reset);
|
| +
|
| + // Removes the tick marks and highlighting done by HighlightFindResults() in
|
| + // this frame.
|
| + StopHighlightingFindResults();
|
| };
|
|
|