Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Side by Side Diff: chrome/browser/errorpage_browsertest.cc

Issue 1257603003: Revert of Add ExecuteJavaScriptForTest and make all tests use it (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 browser()->tab_strip_model()->GetActiveWebContents(); 614 browser()->tab_strip_model()->GetActiveWebContents();
615 615
616 // Do a search and make sure the browser ends up at the right page. 616 // Do a search and make sure the browser ends up at the right page.
617 content::TestNavigationObserver nav_observer(web_contents, 1); 617 content::TestNavigationObserver nav_observer(web_contents, 1);
618 content::TitleWatcher title_watcher( 618 content::TitleWatcher title_watcher(
619 web_contents, 619 web_contents,
620 base::ASCIIToUTF16("Title Of More Awesomeness")); 620 base::ASCIIToUTF16("Title Of More Awesomeness"));
621 // Can't use content::ExecuteScript because it waits for scripts to send 621 // Can't use content::ExecuteScript because it waits for scripts to send
622 // notification that they've run, and scripts that trigger a navigation may 622 // notification that they've run, and scripts that trigger a navigation may
623 // not send that notification. 623 // not send that notification.
624 web_contents->GetMainFrame()->ExecuteJavaScriptForTests( 624 web_contents->GetMainFrame()->ExecuteJavaScript(
625 base::ASCIIToUTF16("document.getElementById('search-button').click();")); 625 base::ASCIIToUTF16("document.getElementById('search-button').click();"));
626 nav_observer.Wait(); 626 nav_observer.Wait();
627 EXPECT_EQ(base::ASCIIToUTF16("Title Of More Awesomeness"), 627 EXPECT_EQ(base::ASCIIToUTF16("Title Of More Awesomeness"),
628 title_watcher.WaitAndGetTitle()); 628 title_watcher.WaitAndGetTitle());
629 629
630 // There should have been another Link Doctor request, for tracking purposes. 630 // There should have been another Link Doctor request, for tracking purposes.
631 // Have to wait for it, since the search page does not depend on having 631 // Have to wait for it, since the search page does not depend on having
632 // sent the tracking request. 632 // sent the tracking request.
633 link_doctor_interceptor()->WaitForRequests(2); 633 link_doctor_interceptor()->WaitForRequests(2);
634 EXPECT_EQ(2, link_doctor_interceptor()->num_requests()); 634 EXPECT_EQ(2, link_doctor_interceptor()->num_requests());
(...skipping 24 matching lines...) Expand all
659 659
660 content::WebContents* web_contents = 660 content::WebContents* web_contents =
661 browser()->tab_strip_model()->GetActiveWebContents(); 661 browser()->tab_strip_model()->GetActiveWebContents();
662 662
663 // Clicking the reload button should load the error page again, and there 663 // Clicking the reload button should load the error page again, and there
664 // should be two commits, as before. 664 // should be two commits, as before.
665 content::TestNavigationObserver nav_observer(web_contents, 2); 665 content::TestNavigationObserver nav_observer(web_contents, 2);
666 // Can't use content::ExecuteScript because it waits for scripts to send 666 // Can't use content::ExecuteScript because it waits for scripts to send
667 // notification that they've run, and scripts that trigger a navigation may 667 // notification that they've run, and scripts that trigger a navigation may
668 // not send that notification. 668 // not send that notification.
669 web_contents->GetMainFrame()->ExecuteJavaScriptForTests( 669 web_contents->GetMainFrame()->ExecuteJavaScript(
670 base::ASCIIToUTF16("document.getElementById('reload-button').click();")); 670 base::ASCIIToUTF16("document.getElementById('reload-button').click();"));
671 nav_observer.Wait(); 671 nav_observer.Wait();
672 ExpectDisplayingNavigationCorrections(browser(), net::ERR_NAME_NOT_RESOLVED); 672 ExpectDisplayingNavigationCorrections(browser(), net::ERR_NAME_NOT_RESOLVED);
673 673
674 // There should have two more requests to the correction service: One for the 674 // There should have two more requests to the correction service: One for the
675 // new error page, and one for tracking purposes. Have to make sure to wait 675 // new error page, and one for tracking purposes. Have to make sure to wait
676 // for the tracking request, since the new error page does not depend on it. 676 // for the tracking request, since the new error page does not depend on it.
677 link_doctor_interceptor()->WaitForRequests(3); 677 link_doctor_interceptor()->WaitForRequests(3);
678 EXPECT_EQ(3, link_doctor_interceptor()->num_requests()); 678 EXPECT_EQ(3, link_doctor_interceptor()->num_requests());
679 } 679 }
(...skipping 12 matching lines...) Expand all
692 692
693 // Simulate a click on a link. 693 // Simulate a click on a link.
694 694
695 content::TitleWatcher title_watcher( 695 content::TitleWatcher title_watcher(
696 web_contents, 696 web_contents,
697 base::ASCIIToUTF16("Title Of Awesomeness")); 697 base::ASCIIToUTF16("Title Of Awesomeness"));
698 std::string link_selector = 698 std::string link_selector =
699 "document.querySelector('a[href=\"http://mock.http/title2.html\"]')"; 699 "document.querySelector('a[href=\"http://mock.http/title2.html\"]')";
700 // The tracking request is triggered by onmousedown, so it catches middle 700 // The tracking request is triggered by onmousedown, so it catches middle
701 // mouse button clicks, as well as left clicks. 701 // mouse button clicks, as well as left clicks.
702 web_contents->GetMainFrame()->ExecuteJavaScriptForTests( 702 web_contents->GetMainFrame()->ExecuteJavaScript(
703 base::ASCIIToUTF16(link_selector + ".onmousedown();")); 703 base::ASCIIToUTF16(link_selector + ".onmousedown();"));
704 // Can't use content::ExecuteScript because it waits for scripts to send 704 // Can't use content::ExecuteScript because it waits for scripts to send
705 // notification that they've run, and scripts that trigger a navigation may 705 // notification that they've run, and scripts that trigger a navigation may
706 // not send that notification. 706 // not send that notification.
707 web_contents->GetMainFrame()->ExecuteJavaScriptForTests( 707 web_contents->GetMainFrame()->ExecuteJavaScript(
708 base::ASCIIToUTF16(link_selector + ".click();")); 708 base::ASCIIToUTF16(link_selector + ".click();"));
709 EXPECT_EQ(base::ASCIIToUTF16("Title Of Awesomeness"), 709 EXPECT_EQ(base::ASCIIToUTF16("Title Of Awesomeness"),
710 title_watcher.WaitAndGetTitle()); 710 title_watcher.WaitAndGetTitle());
711 711
712 // There should have been a tracking request to the correction service. Have 712 // There should have been a tracking request to the correction service. Have
713 // to make sure to wait the tracking request, since the new page does not 713 // to make sure to wait the tracking request, since the new page does not
714 // depend on it. 714 // depend on it.
715 link_doctor_interceptor()->WaitForRequests(2); 715 link_doctor_interceptor()->WaitForRequests(2);
716 EXPECT_EQ(2, link_doctor_interceptor()->num_requests()); 716 EXPECT_EQ(2, link_doctor_interceptor()->num_requests());
717 } 717 }
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 EXPECT_EQ(2, wc->GetController().GetEntryCount()); 783 EXPECT_EQ(2, wc->GetController().GetEntryCount());
784 784
785 std::string script = "var frame = document.createElement('iframe');" 785 std::string script = "var frame = document.createElement('iframe');"
786 "frame.src = '" + fail_url.spec() + "';" 786 "frame.src = '" + fail_url.spec() + "';"
787 "document.body.appendChild(frame);"; 787 "document.body.appendChild(frame);";
788 { 788 {
789 TestFailProvisionalLoadObserver fail_observer(wc); 789 TestFailProvisionalLoadObserver fail_observer(wc);
790 content::WindowedNotificationObserver load_observer( 790 content::WindowedNotificationObserver load_observer(
791 content::NOTIFICATION_LOAD_STOP, 791 content::NOTIFICATION_LOAD_STOP,
792 content::Source<NavigationController>(&wc->GetController())); 792 content::Source<NavigationController>(&wc->GetController()));
793 wc->GetMainFrame()->ExecuteJavaScriptForTests(base::ASCIIToUTF16(script)); 793 wc->GetMainFrame()->ExecuteJavaScript(base::ASCIIToUTF16(script));
794 load_observer.Wait(); 794 load_observer.Wait();
795 795
796 // Ensure we saw the expected failure. 796 // Ensure we saw the expected failure.
797 EXPECT_EQ(fail_url, fail_observer.fail_url()); 797 EXPECT_EQ(fail_url, fail_observer.fail_url());
798 798
799 // Failed initial navigation of an iframe shouldn't be adding any history 799 // Failed initial navigation of an iframe shouldn't be adding any history
800 // entries. 800 // entries.
801 EXPECT_EQ(2, wc->GetController().GetEntryCount()); 801 EXPECT_EQ(2, wc->GetController().GetEntryCount());
802 } 802 }
803 803
804 // Do the same test, but with an iframe that doesn't have initial URL 804 // Do the same test, but with an iframe that doesn't have initial URL
805 // assigned. 805 // assigned.
806 script = "var frame = document.createElement('iframe');" 806 script = "var frame = document.createElement('iframe');"
807 "frame.id = 'target_frame';" 807 "frame.id = 'target_frame';"
808 "document.body.appendChild(frame);"; 808 "document.body.appendChild(frame);";
809 { 809 {
810 content::WindowedNotificationObserver load_observer( 810 content::WindowedNotificationObserver load_observer(
811 content::NOTIFICATION_LOAD_STOP, 811 content::NOTIFICATION_LOAD_STOP,
812 content::Source<NavigationController>(&wc->GetController())); 812 content::Source<NavigationController>(&wc->GetController()));
813 wc->GetMainFrame()->ExecuteJavaScriptForTests(base::ASCIIToUTF16(script)); 813 wc->GetMainFrame()->ExecuteJavaScript(base::ASCIIToUTF16(script));
814 load_observer.Wait(); 814 load_observer.Wait();
815 } 815 }
816 816
817 script = "var f = document.getElementById('target_frame');" 817 script = "var f = document.getElementById('target_frame');"
818 "f.src = '" + fail_url.spec() + "';"; 818 "f.src = '" + fail_url.spec() + "';";
819 { 819 {
820 TestFailProvisionalLoadObserver fail_observer(wc); 820 TestFailProvisionalLoadObserver fail_observer(wc);
821 content::WindowedNotificationObserver load_observer( 821 content::WindowedNotificationObserver load_observer(
822 content::NOTIFICATION_LOAD_STOP, 822 content::NOTIFICATION_LOAD_STOP,
823 content::Source<NavigationController>(&wc->GetController())); 823 content::Source<NavigationController>(&wc->GetController()));
824 wc->GetMainFrame()->ExecuteJavaScriptForTests(base::ASCIIToUTF16(script)); 824 wc->GetMainFrame()->ExecuteJavaScript(base::ASCIIToUTF16(script));
825 load_observer.Wait(); 825 load_observer.Wait();
826 826
827 EXPECT_EQ(fail_url, fail_observer.fail_url()); 827 EXPECT_EQ(fail_url, fail_observer.fail_url());
828 EXPECT_EQ(2, wc->GetController().GetEntryCount()); 828 EXPECT_EQ(2, wc->GetController().GetEntryCount());
829 } 829 }
830 EXPECT_EQ(0, link_doctor_interceptor()->num_requests()); 830 EXPECT_EQ(0, link_doctor_interceptor()->num_requests());
831 } 831 }
832 832
833 // Checks that navigation corrections are not loaded when we receive an actual 833 // Checks that navigation corrections are not loaded when we receive an actual
834 // 404 page. 834 // 404 page.
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 993
994 EXPECT_EQ(2, interceptor()->failures()); 994 EXPECT_EQ(2, interceptor()->failures());
995 EXPECT_EQ(2, interceptor()->requests()); 995 EXPECT_EQ(2, interceptor()->requests());
996 996
997 ToggleHelpBox(browser()); 997 ToggleHelpBox(browser());
998 EXPECT_TRUE(IsDisplayingText(browser(), "error.page.auto.reload")); 998 EXPECT_TRUE(IsDisplayingText(browser(), "error.page.auto.reload"));
999 999
1000 content::WebContents* web_contents = 1000 content::WebContents* web_contents =
1001 browser()->tab_strip_model()->GetActiveWebContents(); 1001 browser()->tab_strip_model()->GetActiveWebContents();
1002 content::TestNavigationObserver nav_observer(web_contents, 1); 1002 content::TestNavigationObserver nav_observer(web_contents, 1);
1003 web_contents->GetMainFrame()->ExecuteJavaScriptForTests( 1003 web_contents->GetMainFrame()->ExecuteJavaScript(
1004 base::ASCIIToUTF16("document.getElementById('reload-button').click();")); 1004 base::ASCIIToUTF16("document.getElementById('reload-button').click();"));
1005 nav_observer.Wait(); 1005 nav_observer.Wait();
1006 EXPECT_FALSE(IsDisplayingText(browser(), "error.page.auto.reload")); 1006 EXPECT_FALSE(IsDisplayingText(browser(), "error.page.auto.reload"));
1007 } 1007 }
1008 1008
1009 // Interceptor that fails all requests with net::ERR_ADDRESS_UNREACHABLE. 1009 // Interceptor that fails all requests with net::ERR_ADDRESS_UNREACHABLE.
1010 class AddressUnreachableInterceptor : public net::URLRequestInterceptor { 1010 class AddressUnreachableInterceptor : public net::URLRequestInterceptor {
1011 public: 1011 public:
1012 AddressUnreachableInterceptor() {} 1012 AddressUnreachableInterceptor() {}
1013 ~AddressUnreachableInterceptor() override {} 1013 ~AddressUnreachableInterceptor() override {}
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
1221 ui_test_utils::NavigateToURL( 1221 ui_test_utils::NavigateToURL(
1222 browser(), 1222 browser(),
1223 URLRequestFailedJob::GetMockHttpUrlForHostname(net::ERR_UNSAFE_PORT, 1223 URLRequestFailedJob::GetMockHttpUrlForHostname(net::ERR_UNSAFE_PORT,
1224 kHostname)); 1224 kHostname));
1225 1225
1226 ToggleHelpBox(browser()); 1226 ToggleHelpBox(browser());
1227 EXPECT_TRUE(IsDisplayingText(browser(), kHostnameJSUnicode)); 1227 EXPECT_TRUE(IsDisplayingText(browser(), kHostnameJSUnicode));
1228 } 1228 }
1229 1229
1230 } // namespace 1230 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/download/download_browsertest.cc ('k') | chrome/browser/extensions/alert_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698