Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <deque> | 5 #include <deque> |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "chrome/browser/prerender/prerender_contents.h" | 10 #include "chrome/browser/prerender/prerender_contents.h" |
| (...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 783 // Checks that we correctly use a prerendered page when the page uses JS to set | 783 // Checks that we correctly use a prerendered page when the page uses JS to set |
| 784 // the window.location.hash to a fragment on the same page. | 784 // the window.location.hash to a fragment on the same page. |
| 785 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | 785 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
| 786 PrerenderPageChangeFragmentLocationHash) { | 786 PrerenderPageChangeFragmentLocationHash) { |
| 787 PrerenderTestURL("files/prerender/prerender_fragment_location_hash.html", | 787 PrerenderTestURL("files/prerender/prerender_fragment_location_hash.html", |
| 788 FINAL_STATUS_USED, | 788 FINAL_STATUS_USED, |
| 789 1); | 789 1); |
| 790 NavigateToURL("files/prerender/prerender_fragment_location_hash.html"); | 790 NavigateToURL("files/prerender/prerender_fragment_location_hash.html"); |
| 791 } | 791 } |
| 792 | 792 |
| 793 // Checks that ftp scheme is not supported for prerender. | |
|
cbentzel
2011/04/30 01:03:34
You'll need to merge with trunk - I reverted the P
dominich
2011/05/02 16:45:55
Done.
| |
| 794 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeFtp) { | |
| 795 PrerenderTestURL(GURL("ftp://ftp.example.com"), | |
| 796 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 797 1); | |
| 798 } | |
| 799 | |
| 800 // Checks that ftp scheme is not supported for prerender when done as part of a | |
| 801 // client redirect. | |
| 802 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 803 PrerenderBadSchemeFtpClientRedirect) { | |
| 804 PrerenderTestURL(CreateClientRedirect("ftp://ftp.example.com"), | |
| 805 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 806 1); | |
| 807 } | |
| 808 | |
| 809 // Checks that ftp scheme is not supported for prerender when done as part of a | |
| 810 // server redirect. | |
| 811 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 812 PrerenderBadSchemeFtpServerRedirect) { | |
| 813 PrerenderTestURL(CreateServerRedirect("ftp://ftp.example.com"), | |
| 814 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 815 1); | |
| 816 } | |
| 817 | |
| 818 // Checks that gopher scheme is not supported for prerender. | |
| 819 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeGopher) { | |
| 820 PrerenderTestURL(GURL("gopher://gopher.example.com"), | |
| 821 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 822 1); | |
| 823 } | |
| 824 | |
| 825 // Checks that gopher scheme is not supported for prerender when done as part of | |
| 826 // a client redirect. | |
| 827 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 828 PrerenderBadSchemeGopherClientRedirect) { | |
| 829 PrerenderTestURL(CreateClientRedirect("gopher://gopher.example.com"), | |
| 830 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 831 1); | |
| 832 } | |
| 833 | |
| 834 // Checks that gopher scheme is not supported for prerender when done as part of | |
| 835 // a server redirect. | |
| 836 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 837 PrerenderBadSchemeGopherServerRedirect) { | |
| 838 PrerenderTestURL(CreateServerRedirect("gopher://gopher.example.com"), | |
| 839 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 840 1); | |
| 841 } | |
| 842 | |
| 843 // Checks that news scheme is not supported for prerender. | |
| 844 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeNews) { | |
| 845 PrerenderTestURL(GURL("news:alt.religion.kibology"), | |
| 846 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 847 1); | |
| 848 } | |
| 849 | |
| 850 // Checks that news scheme is not supported for prerender when done as part of | |
| 851 // a client redirect. | |
| 852 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 853 PrerenderBadSchemeNewsClientRedirect) { | |
| 854 PrerenderTestURL(CreateClientRedirect("news:alt.religion.kibology"), | |
| 855 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 856 1); | |
| 857 } | |
| 858 | |
| 859 // Checks that news scheme is not supported for prerender when done as part of | |
| 860 // a server redirect. | |
| 861 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 862 PrerenderBadSchemeNewsServerRedirect) { | |
| 863 PrerenderTestURL(CreateServerRedirect("news:alt.religion.kibology"), | |
| 864 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 865 1); | |
| 866 } | |
| 867 | |
| 868 // Checks that secure news scheme is not supported for prerender. | |
| 869 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeSnews) { | |
| 870 PrerenderTestURL(GURL("snews:alt.religion.kibology"), | |
| 871 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 872 1); | |
| 873 } | |
| 874 | |
| 875 // Checks that snews scheme is not supported for prerender when done as part of | |
| 876 // a client redirect. | |
| 877 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 878 PrerenderBadSchemeSnewsClientRedirect) { | |
| 879 PrerenderTestURL(CreateClientRedirect("snews:alt.religion.kibology"), | |
| 880 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 881 1); | |
| 882 } | |
| 883 | |
| 884 // Checks that snews scheme is not supported for prerender when done as part of | |
| 885 // a server redirect. | |
| 886 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 887 PrerenderBadSchemeSnewsServerRedirect) { | |
| 888 PrerenderTestURL(CreateServerRedirect("snews:alt.religion.kibology"), | |
| 889 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 890 1); | |
| 891 } | |
| 892 | |
| 893 // Checks that chrome-extension scheme is not supported for prerender. | |
| 894 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 895 PrerenderBadSchemeChromeExtension) { | |
| 896 PrerenderTestURL(GURL("chrome-extension://haoclkcoegjldmikeokmnfninfafegfm"), | |
| 897 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 898 1); | |
| 899 } | |
| 900 | |
| 901 // Checks that chrome-extension scheme is not supported for prerender when done | |
| 902 // as part of a client redirect. | |
| 903 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 904 PrerenderBadSchemeChromeExtensionClientRedirect) { | |
| 905 PrerenderTestURL( | |
| 906 CreateClientRedirect( | |
| 907 "chrome-extension://haoclkcoegjldmikeokmnfninfafegfm"), | |
| 908 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 909 1); | |
| 910 } | |
| 911 | |
| 912 // Checks that chrome-extension scheme is not supported for prerender when done | |
| 913 // as part of a server redirect. | |
| 914 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 915 PrerenderBadSchemeChromeExtensionServerRedirect) { | |
| 916 PrerenderTestURL( | |
| 917 CreateServerRedirect( | |
| 918 "chrome-extension://haoclkcoegjldmikeokmnfninfafegfm"), | |
| 919 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 920 1); | |
| 921 } | |
| 922 | |
| 923 // Checks that unknown schemes are not supported for prerender. | |
| 924 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeUnknown) { | |
| 925 PrerenderTestURL(GURL("invalid://foo.bar.co.uk"), | |
| 926 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 927 1); | |
| 928 } | |
| 929 | |
| 930 // Checks that unknown schemes are not supported for prerender when done as part | |
| 931 // of a client redirect. | |
| 932 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 933 PrerenderBadSchemeUnknownClientRedirect) { | |
| 934 PrerenderTestURL(CreateClientRedirect("invalid://foo.bar.co.uk"), | |
| 935 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 936 1); | |
| 937 } | |
| 938 | |
| 939 // Checks that invalid schemes are not supported for prerender when done as part | |
| 940 // of a server redirect. | |
| 941 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 942 PrerenderBadSchemeUnknownServerRedirect) { | |
| 943 PrerenderTestURL(CreateServerRedirect("invalid://foo.bar.co.uk"), | |
| 944 FINAL_STATUS_UNSUPPORTED_SCHEME, | |
| 945 1); | |
| 946 } | |
| 947 | |
| 948 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderXhrGet) { | |
|
cbentzel
2011/04/30 01:03:34
Please add browser tests for applicable methods th
dominich
2011/05/02 16:45:55
Done.
| |
| 949 PrerenderTestURL("files/prerender/prerender_xhr_get.html", | |
| 950 FINAL_STATUS_USED, | |
| 951 1); | |
| 952 NavigateToDestURL(); | |
| 953 } | |
| 954 | |
| 955 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderXhrPost) { | |
| 956 PrerenderTestURL("files/prerender/prerender_xhr_post.html", | |
| 957 FINAL_STATUS_INVALID_HTTP_METHOD, | |
| 958 1); | |
| 959 } | |
| 960 | |
| 961 // TODO(cbentzel): Add tests for file, chrome, and about schemes, which fail | |
| 962 // at webkit resource load time. | |
| 963 | |
| 793 } // namespace prerender | 964 } // namespace prerender |
| OLD | NEW |