Chromium Code Reviews| Index: content/browser/web_contents/web_contents_impl.h |
| diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h |
| index 77f73eab30e09edb9196b3b5000b5d75966a7f28..6ef11bdd3f0b1050d32e83ee4ecb58f55879d6bd 100644 |
| --- a/content/browser/web_contents/web_contents_impl.h |
| +++ b/content/browser/web_contents/web_contents_impl.h |
| @@ -56,6 +56,7 @@ class BrowserPluginEmbedder; |
| class BrowserPluginGuest; |
| class DateTimeChooserAndroid; |
| class DownloadItem; |
| +class FindRequestManager; |
| class GeolocationServiceContext; |
| class InterstitialPageImpl; |
| class JavaScriptDialogManager; |
| @@ -384,6 +385,8 @@ class CONTENT_EXPORT WebContentsImpl |
| #if defined(OS_ANDROID) |
| base::android::ScopedJavaLocalRef<jobject> GetJavaWebContents() override; |
| virtual WebContentsAndroid* GetWebContentsAndroid(); |
| + void ActivateNearestFindResult(float x, float y) override; |
| + void RequestFindMatchRects(int current_version) override; |
| #elif defined(OS_MACOSX) |
| void SetAllowOtherViews(bool allow) override; |
| bool GetAllowOtherViews() override; |
| @@ -746,6 +749,9 @@ class CONTENT_EXPORT WebContentsImpl |
| FRIEND_TEST_ALL_PREFIXES(SitePerProcessAccessibilityBrowserTest, |
| CrossSiteIframeAccessibility); |
| + // So FindRequestManager can access FindReply/FindMatchRectsReply. |
| + friend class FindRequestManager; |
|
lfg
2016/04/04 18:57:32
Those functions can be public in WebContentsImpl i
|
| + |
| // So InterstitialPageImpl can access SetIsLoading. |
| friend class InterstitialPageImpl; |
| @@ -779,7 +785,7 @@ class CONTENT_EXPORT WebContentsImpl |
| } |
| private: |
| - // The outer Webontents. |
| + // The outer WebContents. |
| WebContentsImpl* outer_web_contents_; |
| // The ID of the FrameTreeNode in outer WebContents that is hosting us. |
| int outer_contents_frame_tree_node_id_; |
| @@ -877,7 +883,7 @@ class CONTENT_EXPORT WebContentsImpl |
| void OnFindMatchRectsReply(int version, |
| const std::vector<gfx::RectF>& rects, |
| const gfx::RectF& active_rect); |
| - |
| + void OnGetNearestFindResultReply(int request_id, float distance); |
| void OnOpenDateTimeDialog( |
| const ViewHostMsg_DateTimeDialogValue_Params& value); |
| #endif |
| @@ -1031,6 +1037,24 @@ class CONTENT_EXPORT WebContentsImpl |
| void SetJavaScriptDialogManagerForTesting( |
| JavaScriptDialogManager* dialog_manager); |
| + // Returns the FindRequestManager, or creates one if it doesn't already exist. |
| + FindRequestManager* GetOrCreateFindRequestManager(); |
| + |
| + // Called by FindRequestManager when find replies come in from a renderer |
| + // process. |
| + void FindReply(int request_id, |
| + int number_of_matches, |
| + const gfx::Rect& selection_rect, |
| + int active_match_ordinal, |
| + bool final_update); |
| + |
| +#if defined(OS_ANDROID) |
| + // Called by FindRequestManager when all of the match rects are in. |
| + void FindMatchRectsReply(int version, |
| + const std::vector<gfx::RectF>& rects, |
| + const gfx::RectF& active_rect); |
| +#endif |
| + |
| // Data for core operation --------------------------------------------------- |
| // Delegate for notifying our owner about stuff. Not owned by us. |
| @@ -1082,6 +1106,9 @@ class CONTENT_EXPORT WebContentsImpl |
| // SavePackage, lazily created. |
| scoped_refptr<SavePackage> save_package_; |
| + // Manages/coordinates find-in-page requests. Created lazily. |
| + scoped_ptr<FindRequestManager> find_request_manager_; |
| + |
| // Data for loading state ---------------------------------------------------- |
| // Indicates whether the current load is to a different document. Only valid |