| 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. | 
|  | 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) { | 
|  | 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_NOT_GET, | 
|  | 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 | 
|---|