| 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/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 | 153 |
| 154 EXPECT_EQ(should_be_shown_, was_shown_); | 154 EXPECT_EQ(should_be_shown_, was_shown_); |
| 155 | 155 |
| 156 // When the PrerenderContents is destroyed, quit the UI message loop. | 156 // When the PrerenderContents is destroyed, quit the UI message loop. |
| 157 // This happens on navigation to used prerendered pages, and soon | 157 // This happens on navigation to used prerendered pages, and soon |
| 158 // after cancellation of unused prerendered pages. | 158 // after cancellation of unused prerendered pages. |
| 159 if (quit_message_loop_on_destruction_) | 159 if (quit_message_loop_on_destruction_) |
| 160 MessageLoopForUI::current()->Quit(); | 160 MessageLoopForUI::current()->Quit(); |
| 161 } | 161 } |
| 162 | 162 |
| 163 virtual void RenderViewGone() OVERRIDE { | 163 virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE { |
| 164 // On quit, it's possible to end up here when render processes are closed | 164 // On quit, it's possible to end up here when render processes are closed |
| 165 // before the PrerenderManager is destroyed. As a result, it's possible to | 165 // before the PrerenderManager is destroyed. As a result, it's possible to |
| 166 // get either FINAL_STATUS_APP_TERMINATING or FINAL_STATUS_RENDERER_CRASHED | 166 // get either FINAL_STATUS_APP_TERMINATING or FINAL_STATUS_RENDERER_CRASHED |
| 167 // on quit. | 167 // on quit. |
| 168 // | 168 // |
| 169 // It's also possible for this to be called after we've been notified of | 169 // It's also possible for this to be called after we've been notified of |
| 170 // app termination, but before we've been deleted, which is why the second | 170 // app termination, but before we've been deleted, which is why the second |
| 171 // check is needed. | 171 // check is needed. |
| 172 if (expected_final_status_ == FINAL_STATUS_APP_TERMINATING && | 172 if (expected_final_status_ == FINAL_STATUS_APP_TERMINATING && |
| 173 final_status() != expected_final_status_) { | 173 final_status() != expected_final_status_) { |
| 174 expected_final_status_ = FINAL_STATUS_RENDERER_CRASHED; | 174 expected_final_status_ = FINAL_STATUS_RENDERER_CRASHED; |
| 175 } | 175 } |
| 176 | 176 |
| 177 PrerenderContents::RenderViewGone(); | 177 PrerenderContents::RenderViewGone(status); |
| 178 } | 178 } |
| 179 | 179 |
| 180 virtual bool AddAliasURL(const GURL& url) OVERRIDE { | 180 virtual bool AddAliasURL(const GURL& url) OVERRIDE { |
| 181 // Prevent FINAL_STATUS_UNSUPPORTED_SCHEME when navigating to about:crash in | 181 // Prevent FINAL_STATUS_UNSUPPORTED_SCHEME when navigating to about:crash in |
| 182 // the PrerenderRendererCrash test. | 182 // the PrerenderRendererCrash test. |
| 183 if (url.spec() != chrome::kAboutCrashURL) | 183 if (url.spec() != chrome::kAboutCrashURL) |
| 184 return PrerenderContents::AddAliasURL(url); | 184 return PrerenderContents::AddAliasURL(url); |
| 185 return true; | 185 return true; |
| 186 } | 186 } |
| 187 | 187 |
| (...skipping 1652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1840 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSessionStorage) { | 1840 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSessionStorage) { |
| 1841 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); | 1841 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); |
| 1842 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), | 1842 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), |
| 1843 FINAL_STATUS_USED, | 1843 FINAL_STATUS_USED, |
| 1844 1); | 1844 1); |
| 1845 NavigateToDestURL(); | 1845 NavigateToDestURL(); |
| 1846 GoBackToPageBeforePrerender(browser()); | 1846 GoBackToPageBeforePrerender(browser()); |
| 1847 } | 1847 } |
| 1848 | 1848 |
| 1849 } // namespace prerender | 1849 } // namespace prerender |
| OLD | NEW |