| 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
|
|
|