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

Side by Side Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 2801823004: Revert of prerender: disable all browser tests on mac asan (Closed)
Patch Set: Created 3 years, 8 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <stddef.h> 5 #include <stddef.h>
6 #include <deque> 6 #include <deque>
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <unordered_map> 9 #include <unordered_map>
10 #include <utility> 10 #include <utility>
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 using content::WebContentsObserver; 142 using content::WebContentsObserver;
143 using net::NetworkChangeNotifier; 143 using net::NetworkChangeNotifier;
144 using prerender::test_utils::RequestCounter; 144 using prerender::test_utils::RequestCounter;
145 using prerender::test_utils::CreateCountingInterceptorOnIO; 145 using prerender::test_utils::CreateCountingInterceptorOnIO;
146 using prerender::test_utils::CreateHangingFirstRequestInterceptorOnIO; 146 using prerender::test_utils::CreateHangingFirstRequestInterceptorOnIO;
147 using prerender::test_utils::CreateMockInterceptorOnIO; 147 using prerender::test_utils::CreateMockInterceptorOnIO;
148 using prerender::test_utils::TestPrerender; 148 using prerender::test_utils::TestPrerender;
149 using prerender::test_utils::TestPrerenderContents; 149 using prerender::test_utils::TestPrerenderContents;
150 using task_manager::browsertest_util::WaitForTaskManagerRows; 150 using task_manager::browsertest_util::WaitForTaskManagerRows;
151 151
152 // crbug.com/708158
153 #if !defined(OS_MACOSX) || !defined(ADDRESS_SANITIZER)
154
155 // Prerender tests work as follows: 152 // Prerender tests work as follows:
156 // 153 //
157 // A page with a prefetch link to the test page is loaded. Once prerendered, 154 // A page with a prefetch link to the test page is loaded. Once prerendered,
158 // its Javascript function DidPrerenderPass() is called, which returns true if 155 // its Javascript function DidPrerenderPass() is called, which returns true if
159 // the page behaves as expected when prerendered. 156 // the page behaves as expected when prerendered.
160 // 157 //
161 // The prerendered page is then displayed on a tab. The Javascript function 158 // The prerendered page is then displayed on a tab. The Javascript function
162 // DidDisplayPass() is called, and returns true if the page behaved as it 159 // DidDisplayPass() is called, and returns true if the page behaved as it
163 // should while being displayed. 160 // should while being displayed.
164 161
(...skipping 1869 matching lines...) Expand 10 before | Expand all | Expand 10 after
2034 2031
2035 ChannelDestructionWatcher channel_close_watcher; 2032 ChannelDestructionWatcher channel_close_watcher;
2036 channel_close_watcher.WatchChannel(browser()->tab_strip_model()-> 2033 channel_close_watcher.WatchChannel(browser()->tab_strip_model()->
2037 GetActiveWebContents()->GetRenderProcessHost()); 2034 GetActiveWebContents()->GetRenderProcessHost());
2038 NavigateToDestURL(); 2035 NavigateToDestURL();
2039 channel_close_watcher.WaitForChannelClose(); 2036 channel_close_watcher.WaitForChannelClose();
2040 2037
2041 ASSERT_TRUE(IsEmptyPrerenderLinkManager()); 2038 ASSERT_TRUE(IsEmptyPrerenderLinkManager());
2042 } 2039 }
2043 2040
2041 // crbug.com/708158
2042 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
2043 #define MAYBE_PrerenderPageNavigateFragment \
2044 DISABLED_PrerenderPageNavigateFragment
2045 #else
2046 #define MAYBE_PrerenderPageNavigateFragment PrerenderPageNavigateFragment
2047 #endif
2044 // Checks that we do not use a prerendered page when navigating from 2048 // Checks that we do not use a prerendered page when navigating from
2045 // the main page to a fragment. 2049 // the main page to a fragment.
2046 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPageNavigateFragment) { 2050 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
2051 MAYBE_PrerenderPageNavigateFragment) {
2047 PrerenderTestURL("/prerender/no_prerender_page.html", 2052 PrerenderTestURL("/prerender/no_prerender_page.html",
2048 FINAL_STATUS_APP_TERMINATING, 1); 2053 FINAL_STATUS_APP_TERMINATING, 1);
2049 NavigateToURLWithDisposition("/prerender/no_prerender_page.html#fragment", 2054 NavigateToURLWithDisposition("/prerender/no_prerender_page.html#fragment",
2050 WindowOpenDisposition::CURRENT_TAB, false); 2055 WindowOpenDisposition::CURRENT_TAB, false);
2051 } 2056 }
2052 2057
2058 // crbug.com/708158
2059 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
2060 #define MAYBE_PrerenderFragmentNavigatePage \
2061 DISABLED_PrerenderFragmentNavigatePage
2062 #else
2063 #define MAYBE_PrerenderFragmentNavigatePage PrerenderFragmentNavigatePage
2064 #endif
2053 // Checks that we do not use a prerendered page when we prerender a fragment 2065 // Checks that we do not use a prerendered page when we prerender a fragment
2054 // but navigate to the main page. 2066 // but navigate to the main page.
2055 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderFragmentNavigatePage) { 2067 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
2068 MAYBE_PrerenderFragmentNavigatePage) {
2056 PrerenderTestURL("/prerender/no_prerender_page.html#fragment", 2069 PrerenderTestURL("/prerender/no_prerender_page.html#fragment",
2057 FINAL_STATUS_APP_TERMINATING, 1); 2070 FINAL_STATUS_APP_TERMINATING, 1);
2058 NavigateToURLWithDisposition("/prerender/no_prerender_page.html", 2071 NavigateToURLWithDisposition("/prerender/no_prerender_page.html",
2059 WindowOpenDisposition::CURRENT_TAB, false); 2072 WindowOpenDisposition::CURRENT_TAB, false);
2060 } 2073 }
2061 2074
2075 // crbug.com/708158
2076 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
2077 #define MAYBE_PrerenderFragmentNavigateFragment \
2078 DISABLED_PrerenderFragmentNavigateFragment
2079 #else
2080 #define MAYBE_PrerenderFragmentNavigateFragment \
2081 PrerenderFragmentNavigateFragment
2082 #endif
2062 // Checks that we do not use a prerendered page when we prerender a fragment 2083 // Checks that we do not use a prerendered page when we prerender a fragment
2063 // but navigate to a different fragment on the same page. 2084 // but navigate to a different fragment on the same page.
2064 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 2085 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
2065 PrerenderFragmentNavigateFragment) { 2086 MAYBE_PrerenderFragmentNavigateFragment) {
2066 PrerenderTestURL("/prerender/no_prerender_page.html#other_fragment", 2087 PrerenderTestURL("/prerender/no_prerender_page.html#other_fragment",
2067 FINAL_STATUS_APP_TERMINATING, 1); 2088 FINAL_STATUS_APP_TERMINATING, 1);
2068 NavigateToURLWithDisposition("/prerender/no_prerender_page.html#fragment", 2089 NavigateToURLWithDisposition("/prerender/no_prerender_page.html#fragment",
2069 WindowOpenDisposition::CURRENT_TAB, false); 2090 WindowOpenDisposition::CURRENT_TAB, false);
2070 } 2091 }
2071 2092
2072 // Checks that we do not use a prerendered page when the page uses a client 2093 // Checks that we do not use a prerendered page when the page uses a client
2073 // redirect to refresh from a fragment on the same page. 2094 // redirect to refresh from a fragment on the same page.
2074 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 2095 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
2075 PrerenderClientRedirectFromFragment) { 2096 PrerenderClientRedirectFromFragment) {
(...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after
3076 NavigateToDestURL(); 3097 NavigateToDestURL();
3077 } 3098 }
3078 3099
3079 // Checks that deferred redirects in a synchronous XHR abort the prerender. 3100 // Checks that deferred redirects in a synchronous XHR abort the prerender.
3080 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderDeferredSynchronousXHR) { 3101 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderDeferredSynchronousXHR) {
3081 PrerenderTestURL("/prerender/prerender_deferred_sync_xhr.html", 3102 PrerenderTestURL("/prerender/prerender_deferred_sync_xhr.html",
3082 FINAL_STATUS_BAD_DEFERRED_REDIRECT, 0); 3103 FINAL_STATUS_BAD_DEFERRED_REDIRECT, 0);
3083 ui_test_utils::NavigateToURL(current_browser(), dest_url()); 3104 ui_test_utils::NavigateToURL(current_browser(), dest_url());
3084 } 3105 }
3085 3106
3107 // crbug.com/708158
3108 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
3109 #define MAYBE_PrerenderExtraHeadersNoSwap DISABLED_PrerenderExtraHeadersNoSwap
3110 #else
3111 #define MAYBE_PrerenderExtraHeadersNoSwap PrerenderExtraHeadersNoSwap
3112 #endif
3086 // Checks that prerenders are not swapped for navigations with extra headers. 3113 // Checks that prerenders are not swapped for navigations with extra headers.
3087 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderExtraHeadersNoSwap) { 3114 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
3115 MAYBE_PrerenderExtraHeadersNoSwap) {
3088 PrerenderTestURL("/prerender/prerender_page.html", 3116 PrerenderTestURL("/prerender/prerender_page.html",
3089 FINAL_STATUS_APP_TERMINATING, 1); 3117 FINAL_STATUS_APP_TERMINATING, 1);
3090 3118
3091 content::OpenURLParams params(dest_url(), Referrer(), 3119 content::OpenURLParams params(dest_url(), Referrer(),
3092 WindowOpenDisposition::CURRENT_TAB, 3120 WindowOpenDisposition::CURRENT_TAB,
3093 ui::PAGE_TRANSITION_TYPED, false); 3121 ui::PAGE_TRANSITION_TYPED, false);
3094 params.extra_headers = "X-Custom-Header: 42\r\n"; 3122 params.extra_headers = "X-Custom-Header: 42\r\n";
3095 NavigateToURLWithParams(params, false); 3123 NavigateToURLWithParams(params, false);
3096 } 3124 }
3097 3125
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
3784 WebContents* web_contents = 3812 WebContents* web_contents =
3785 browser()->tab_strip_model()->GetActiveWebContents(); 3813 browser()->tab_strip_model()->GetActiveWebContents();
3786 bool display_test_result = false; 3814 bool display_test_result = false;
3787 ASSERT_TRUE(content::ExecuteScriptAndExtractBool(web_contents, 3815 ASSERT_TRUE(content::ExecuteScriptAndExtractBool(web_contents,
3788 "DidDisplayReallyPass()", 3816 "DidDisplayReallyPass()",
3789 &display_test_result)); 3817 &display_test_result));
3790 ASSERT_TRUE(display_test_result); 3818 ASSERT_TRUE(display_test_result);
3791 } 3819 }
3792 #endif // !defined(DISABLE_NACL) 3820 #endif // !defined(DISABLE_NACL)
3793 3821
3794 #endif // !defined(OS_MACOSX) || !defined(ADDRESS_SANITIZER)
3795
3796 } // namespace prerender 3822 } // namespace prerender
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698