Index: content/browser/web_contents/web_contents_impl_browsertest.cc |
diff --git a/content/browser/web_contents/web_contents_impl_browsertest.cc b/content/browser/web_contents/web_contents_impl_browsertest.cc |
index fea1eb689970be47a719c141df99207907b1f4c4..2f161b0134423a18edfa73ad2a9d3d710586340e 100644 |
--- a/content/browser/web_contents/web_contents_impl_browsertest.cc |
+++ b/content/browser/web_contents/web_contents_impl_browsertest.cc |
@@ -1467,78 +1467,4 @@ |
wc->SetJavaScriptDialogManagerForTesting(nullptr); |
} |
-class FormBubbleDelegate : public WebContentsDelegate { |
- public: |
- FormBubbleDelegate() = default; |
- |
- void WaitUntilShown() { |
- while (!is_visible_) { |
- message_loop_runner_ = new MessageLoopRunner; |
- message_loop_runner_->Run(); |
- } |
- } |
- |
- void WaitUntilHidden() { |
- while (is_visible_) { |
- message_loop_runner_ = new MessageLoopRunner; |
- message_loop_runner_->Run(); |
- } |
- } |
- |
- private: |
- void ShowValidationMessage(WebContents* web_contents, |
- const gfx::Rect& anchor_in_root_view, |
- const base::string16& main_text, |
- const base::string16& sub_text) override { |
- is_visible_ = true; |
- if (message_loop_runner_) |
- message_loop_runner_->Quit(); |
- } |
- |
- void HideValidationMessage(WebContents* web_contents) override { |
- is_visible_ = false; |
- if (message_loop_runner_) |
- message_loop_runner_->Quit(); |
- } |
- |
- bool is_visible_ = false; |
- scoped_refptr<MessageLoopRunner> message_loop_runner_; |
-}; |
- |
-IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest, |
- NavigationHidesFormValidationBubble) { |
- ASSERT_TRUE(embedded_test_server()->Start()); |
- EXPECT_TRUE(NavigateToURL( |
- shell(), embedded_test_server()->GetURL("a.com", "/title1.html"))); |
- |
- // Start listening for requests to show or hide the form validation bubble. |
- WebContentsImpl* web_contents = |
- static_cast<WebContentsImpl*>(shell()->web_contents()); |
- FormBubbleDelegate bubble_delegate; |
- web_contents->SetDelegate(&bubble_delegate); |
- |
- // Trigger a form validation bubble and verify that the bubble is shown. |
- std::string script = R"( |
- var input_field = document.createElement('input'); |
- input_field.required = true; |
- var form = document.createElement('form'); |
- form.appendChild(input_field); |
- document.body.appendChild(form); |
- |
- setTimeout(function() { |
- input_field.setCustomValidity('Custom validity message'); |
- input_field.reportValidity(); |
- }, |
- 0); |
- )"; |
- ASSERT_TRUE(ExecuteScript(web_contents, script)); |
- bubble_delegate.WaitUntilShown(); |
- |
- // Navigate to another page and verify that the form validation bubble is |
- // hidden. |
- EXPECT_TRUE(NavigateToURL( |
- shell(), embedded_test_server()->GetURL("b.com", "/title2.html"))); |
- bubble_delegate.WaitUntilHidden(); |
-} |
- |
} // namespace content |