OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 #include <utility> | 10 #include <utility> |
(...skipping 1903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1914 // a generated Response. | 1914 // a generated Response. |
1915 EXPECT_EQ(1, GetRequestCount(kPageUrl)); | 1915 EXPECT_EQ(1, GetRequestCount(kPageUrl)); |
1916 // The redirected request must not be sent. | 1916 // The redirected request must not be sent. |
1917 EXPECT_EQ(0, GetRequestCount(kRedirectedPageUrl)); | 1917 EXPECT_EQ(0, GetRequestCount(kRedirectedPageUrl)); |
1918 // TODO(horo): When MojoAsyncResourceHandler will support redirection, we | 1918 // TODO(horo): When MojoAsyncResourceHandler will support redirection, we |
1919 // shold provide more specific error message. | 1919 // shold provide more specific error message. |
1920 EXPECT_EQ("NetworkError: Service Worker navigation preload network error.", | 1920 EXPECT_EQ("NetworkError: Service Worker navigation preload network error.", |
1921 GetTextContent()); | 1921 GetTextContent()); |
1922 } | 1922 } |
1923 | 1923 |
1924 // When the content type of the page is not correctly set, | |
1925 // OnStartLoadingResponseBody() of mojom::URLLoaderClient is called before | |
1926 // OnReceiveResponse(). This behavior is caused by MimeSniffingResourceHandler. | |
1927 // This test checks that even if the MimeSniffingResourceHandler is triggerd | |
1928 // navigation preload must be handled correctly. | |
falken
2016/11/04 09:46:55
Thanks for docu. s/triggerd/triggered
horo
2016/11/04 09:58:19
Done.
| |
1929 IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest, | |
1930 RespondWithNavigationPreloadWithMimeSniffing) { | |
1931 const char kPageUrl[] = "/service_worker/navigation_preload.html"; | |
1932 const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; | |
1933 const char kPage[] = "<title>PASS</title>Hello world."; | |
1934 const char kScript[] = | |
1935 "self.addEventListener('fetch', event => {\n" | |
1936 " event.respondWith(event.preloadResponse);\n" | |
1937 " });"; | |
1938 const GURL page_url = embedded_test_server()->GetURL(kPageUrl); | |
1939 const GURL worker_url = embedded_test_server()->GetURL(kWorkerUrl); | |
1940 | |
1941 // Setting an empty content type to triger MimeSniffingResourceHandler. | |
falken
2016/11/04 09:46:55
s/triger/trigger
horo
2016/11/04 09:58:19
Done.
| |
1942 RegisterStaticFile(page_url, kPage, ""); | |
1943 RegisterStaticFile(worker_url, kScript, "text/javascript"); | |
1944 | |
1945 SetupForNavigationPreloadTest(page_url, worker_url, | |
1946 true /* enable_navigation_preload */); | |
1947 | |
1948 TitleWatcher title_watcher(shell()->web_contents(), | |
1949 base::ASCIIToUTF16("PASS")); | |
1950 NavigateToURL(shell(), page_url); | |
1951 EXPECT_EQ("Hello world.", GetTextContent()); | |
1952 | |
1953 // The page request must be sent only once, since the worker responded with | |
1954 // the navigation preload response | |
1955 EXPECT_EQ(1, GetRequestCount(kPageUrl)); | |
1956 } | |
1957 | |
1924 // Flaky on Win/Mac: http://crbug.com/533631 | 1958 // Flaky on Win/Mac: http://crbug.com/533631 |
1925 #if defined(OS_WIN) || defined(OS_MACOSX) | 1959 #if defined(OS_WIN) || defined(OS_MACOSX) |
1926 #define MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure DISABLED_ResponseFr omHTTPSServiceWorkerIsMarkedAsSecure | 1960 #define MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure DISABLED_ResponseFr omHTTPSServiceWorkerIsMarkedAsSecure |
1927 #else | 1961 #else |
1928 #define MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure ResponseFromHTTPSSe rviceWorkerIsMarkedAsSecure | 1962 #define MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure ResponseFromHTTPSSe rviceWorkerIsMarkedAsSecure |
1929 #endif | 1963 #endif |
1930 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, | 1964 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, |
1931 MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure) { | 1965 MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure) { |
1932 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; | 1966 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; |
1933 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; | 1967 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; |
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2632 ServiceWorkerV8CacheStrategiesNormalTest, | 2666 ServiceWorkerV8CacheStrategiesNormalTest, |
2633 ::testing::Values(true, false)); | 2667 ::testing::Values(true, false)); |
2634 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest, | 2668 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest, |
2635 ServiceWorkerV8CacheStrategiesAggressiveTest, | 2669 ServiceWorkerV8CacheStrategiesAggressiveTest, |
2636 ::testing::Values(true, false)); | 2670 ::testing::Values(true, false)); |
2637 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest, | 2671 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest, |
2638 ServiceWorkerDisableWebSecurityTest, | 2672 ServiceWorkerDisableWebSecurityTest, |
2639 ::testing::Values(true, false)); | 2673 ::testing::Values(true, false)); |
2640 | 2674 |
2641 } // namespace content | 2675 } // namespace content |
OLD | NEW |