| Index: content/browser/find_request_manager_browsertest.cc
|
| diff --git a/content/browser/find_request_manager_browsertest.cc b/content/browser/find_request_manager_browsertest.cc
|
| index 499d4e4e717671239f47d3551fa138696ef43e7a..dce46635ca2be1e9c2bfb767a1121cd05a45a4de 100644
|
| --- a/content/browser/find_request_manager_browsertest.cc
|
| +++ b/content/browser/find_request_manager_browsertest.cc
|
| @@ -7,7 +7,6 @@
|
| #include "content/browser/web_contents/web_contents_impl.h"
|
| #include "content/public/browser/notification_types.h"
|
| #include "content/public/common/content_switches.h"
|
| -#include "content/public/test/browser_test_utils.h"
|
| #include "content/public/test/content_browser_test.h"
|
| #include "content/public/test/content_browser_test_utils.h"
|
| #include "content/public/test/test_navigation_observer.h"
|
| @@ -477,124 +476,8 @@
|
| results = delegate()->GetFindResults();
|
| EXPECT_EQ(12, results.number_of_matches);
|
| EXPECT_EQ(8, results.active_match_ordinal);
|
| -}
|
| -
|
| -// Tests adding a frame during a find session.
|
| -IN_PROC_BROWSER_TEST_P(FindRequestManagerTest, MAYBE(AddFrame)) {
|
| - LoadMultiFramePage(2 /* height */, GetParam() /* cross_process */);
|
| -
|
| - blink::WebFindOptions options;
|
| - Find("result", options);
|
| - options.findNext = true;
|
| - Find("result", options);
|
| - Find("result", options);
|
| - Find("result", options);
|
| - Find("result", options);
|
| - delegate()->WaitForFinalReply();
|
| -
|
| - FindResults results = delegate()->GetFindResults();
|
| - EXPECT_EQ(last_request_id(), results.request_id);
|
| - EXPECT_EQ(21, results.number_of_matches);
|
| - EXPECT_EQ(5, results.active_match_ordinal);
|
| -
|
| - // Add a frame. It contains 5 new matches.
|
| - std::string url = embedded_test_server()->GetURL(
|
| - GetParam() ? "b.com" : "a.com", "/find_in_simple_page.html").spec();
|
| - std::string script = std::string() +
|
| - "var frame = document.createElement('iframe');" +
|
| - "frame.src = '" + url + "';" +
|
| - "document.body.appendChild(frame);";
|
| - delegate()->MarkNextReply();
|
| - ASSERT_TRUE(ExecuteScript(shell(), script));
|
| - delegate()->WaitForNextReply();
|
| -
|
| - // The number of matches should update automatically to include the matches
|
| - // from the newly added frame.
|
| - results = delegate()->GetFindResults();
|
| - EXPECT_EQ(26, results.number_of_matches);
|
| - EXPECT_EQ(5, results.active_match_ordinal);
|
| -}
|
| -
|
| -// Tests adding a frame during a find session where there were previously no
|
| -// matches.
|
| -IN_PROC_BROWSER_TEST_F(FindRequestManagerTest, MAYBE(AddFrameAfterNoMatches)) {
|
| - TestNavigationObserver navigation_observer(contents());
|
| - NavigateToURL(shell(), GURL("about:blank"));
|
| - EXPECT_TRUE(navigation_observer.last_navigation_succeeded());
|
| -
|
| - blink::WebFindOptions default_options;
|
| - Find("result", default_options);
|
| - delegate()->WaitForFinalReply();
|
| -
|
| - // Initially, there are no matches on the page.
|
| - FindResults results = delegate()->GetFindResults();
|
| - EXPECT_EQ(last_request_id(), results.request_id);
|
| - EXPECT_EQ(0, results.number_of_matches);
|
| - EXPECT_EQ(0, results.active_match_ordinal);
|
| -
|
| - // Add a frame. It contains 5 new matches.
|
| - std::string url =
|
| - embedded_test_server()->GetURL("/find_in_simple_page.html").spec();
|
| - std::string script = std::string() +
|
| - "var frame = document.createElement('iframe');" +
|
| - "frame.src = '" + url + "';" +
|
| - "document.body.appendChild(frame);";
|
| - delegate()->MarkNextReply();
|
| - ASSERT_TRUE(ExecuteScript(shell(), script));
|
| - delegate()->WaitForNextReply();
|
| -
|
| - // The matches from the new frame should be found automatically, and the first
|
| - // match in the frame should be activated.
|
| - results = delegate()->GetFindResults();
|
| - EXPECT_EQ(5, results.number_of_matches);
|
| - EXPECT_EQ(1, results.active_match_ordinal);
|
| -}
|
| -
|
| -// Tests a frame navigating to a different page during a find session.
|
| -IN_PROC_BROWSER_TEST_P(FindRequestManagerTest, MAYBE(NavigateFrame)) {
|
| - LoadMultiFramePage(2 /* height */, GetParam() /* cross_process */);
|
| -
|
| - blink::WebFindOptions options;
|
| - Find("result", options);
|
| - options.findNext = true;
|
| - options.forward = false;
|
| - Find("result", options);
|
| - Find("result", options);
|
| - Find("result", options);
|
| - delegate()->WaitForFinalReply();
|
| -
|
| - FindResults results = delegate()->GetFindResults();
|
| - EXPECT_EQ(last_request_id(), results.request_id);
|
| - EXPECT_EQ(21, results.number_of_matches);
|
| - EXPECT_EQ(19, results.active_match_ordinal);
|
| -
|
| - // Navigate one of the empty frames to a page with 5 matches.
|
| - FrameTreeNode* root =
|
| - static_cast<WebContentsImpl*>(shell()->web_contents())->
|
| - GetFrameTree()->root();
|
| - GURL url(embedded_test_server()->GetURL(
|
| - GetParam() ? "b.com" : "a.com", "/find_in_simple_page.html"));
|
| - delegate()->MarkNextReply();
|
| - TestNavigationObserver navigation_observer(contents());
|
| - NavigateFrameToURL(root->child_at(0)->child_at(1)->child_at(0), url);
|
| - EXPECT_TRUE(navigation_observer.last_navigation_succeeded());
|
| - delegate()->WaitForNextReply();
|
| -
|
| - // The navigation results in an extra reply before the one we care about. This
|
| - // extra reply happens because the RenderFrameHost changes before it navigates
|
| - // (because the navigation is cross-origin). The first reply will not change
|
| - // the number of matches because the frame that is navigating was empty
|
| - // before.
|
| - if (delegate()->GetFindResults().number_of_matches == 21) {
|
| - delegate()->MarkNextReply();
|
| - delegate()->WaitForNextReply();
|
| - }
|
| -
|
| - // The number of matches and the active match ordinal should update
|
| - // automatically to include the new matches.
|
| - results = delegate()->GetFindResults();
|
| - EXPECT_EQ(26, results.number_of_matches);
|
| - EXPECT_EQ(24, results.active_match_ordinal);
|
| +
|
| + // TODO(paulemeyer): Once adding frames mid-session is handled, test that too.
|
| }
|
|
|
| // Tests Searching in a hidden frame. Matches in the hidden frame should be
|
| @@ -696,6 +579,7 @@
|
| results = delegate()->GetFindResults();
|
| EXPECT_EQ(last_request_id(), results.request_id);
|
| EXPECT_EQ(5, results.number_of_matches);
|
| + EXPECT_EQ(1, results.active_match_ordinal);
|
| }
|
|
|
| #if defined(OS_ANDROID)
|
|
|