Implement the basic testing infrastructure for FindRequestManager.

This patch adds find_request_manager_browsertest.cc, along with a few find-in-page tests that can already be tested (though not yet with cross-process frames). There are also some new testing files and some small changes to FindRequestManager to facilitate testing.

Design doc for multi-process find-in-page: https://docs.google.com/a/google.com/document/d/12S_6X2MWWLoyJslajcajL2ELU7zhodPxMOxa8Bg4Wg0/edit?usp=sharing

This is an attempt to reland https://codereview.chromium.org/1891773002/ .

BUG=457440

Review-Url: https://codereview.chromium.org/1943363002
Cr-Commit-Position: refs/heads/master@{#391822}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 80ab581..645b6c7 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -788,6 +788,9 @@
   FRIEND_TEST_ALL_PREFIXES(WebContentsImplBrowserTest,
                            JavaScriptDialogsInMainAndSubframes);
 
+  // So |find_request_manager_| can be accessed for testing.
+  friend class FindRequestManagerTest;
+
   // So InterstitialPageImpl can access SetIsLoading.
   friend class InterstitialPageImpl;