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

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

Issue 6879114: Cancels prerendering on prerendering RenderView crash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 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 | Annotate | Revision Log
OLDNEW
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
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 19:55:10 I noticed that TabContents::RenderViewGone makes s
mmenke 2011/04/22 20:09:20 The TabContents can be the delegate for multiple R
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698