Chromium Code Reviews| 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 |