Chromium Code Reviews| 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 "chrome/browser/prerender/prerender_contents.h" | 5 #include "chrome/browser/prerender/prerender_contents.h" |
| 6 | 6 |
| 7 #include "base/process_util.h" | 7 #include "base/process_util.h" |
| 8 #include "base/task.h" | 8 #include "base/task.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/browser/background_contents_service.h" | 10 #include "chrome/browser/background_contents_service.h" |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 239 } | 239 } |
| 240 | 240 |
| 241 ViewType::Type PrerenderContents::GetRenderViewType() const { | 241 ViewType::Type PrerenderContents::GetRenderViewType() const { |
| 242 return ViewType::BACKGROUND_CONTENTS; | 242 return ViewType::BACKGROUND_CONTENTS; |
| 243 } | 243 } |
| 244 | 244 |
| 245 int PrerenderContents::GetBrowserWindowID() const { | 245 int PrerenderContents::GetBrowserWindowID() const { |
| 246 return extension_misc::kUnknownWindowId; | 246 return extension_misc::kUnknownWindowId; |
| 247 } | 247 } |
| 248 | 248 |
| 249 void PrerenderContents::RenderViewGone(RenderViewHost* render_view_host, | |
| 250 base::TerminationStatus status, | |
| 251 int error_code) { | |
| 252 // Cancel the prerender if the RenderView crashes. | |
|
cbentzel
2011/04/22 20:16:41
Add
DCHECK_EQ(render_view_host_, render_view_hos
mmenke
2011/04/22 20:30:30
Done. Added it to the other RenderViewHostDelegat
| |
| 253 Destroy(FINAL_STATUS_RENDERER_CRASHED); | |
| 254 } | |
| 255 | |
| 249 void PrerenderContents::DidNavigate( | 256 void PrerenderContents::DidNavigate( |
| 250 RenderViewHost* render_view_host, | 257 RenderViewHost* render_view_host, |
| 251 const ViewHostMsg_FrameNavigate_Params& params) { | 258 const ViewHostMsg_FrameNavigate_Params& params) { |
| 252 // We only care when the outer frame changes. | 259 // We only care when the outer frame changes. |
| 253 if (!PageTransition::IsMainFrame(params.transition)) | 260 if (!PageTransition::IsMainFrame(params.transition)) |
| 254 return; | 261 return; |
| 255 | 262 |
| 256 // Store the navigation params. | 263 // Store the navigation params. |
| 257 ViewHostMsg_FrameNavigate_Params* p = new ViewHostMsg_FrameNavigate_Params(); | 264 ViewHostMsg_FrameNavigate_Params* p = new ViewHostMsg_FrameNavigate_Params(); |
| 258 *p = params; | 265 *p = params; |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 556 return; | 563 return; |
| 557 | 564 |
| 558 size_t private_bytes, shared_bytes; | 565 size_t private_bytes, shared_bytes; |
| 559 if (metrics->GetMemoryBytes(&private_bytes, &shared_bytes)) { | 566 if (metrics->GetMemoryBytes(&private_bytes, &shared_bytes)) { |
| 560 if (private_bytes > kMaxPrerenderPrivateMB * 1024 * 1024) | 567 if (private_bytes > kMaxPrerenderPrivateMB * 1024 * 1024) |
| 561 Destroy(FINAL_STATUS_MEMORY_LIMIT_EXCEEDED); | 568 Destroy(FINAL_STATUS_MEMORY_LIMIT_EXCEEDED); |
| 562 } | 569 } |
| 563 } | 570 } |
| 564 | 571 |
| 565 } // namespace prerender | 572 } // namespace prerender |
| OLD | NEW |