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

Side by Side Diff: content/browser/tab_contents/render_view_host_manager.cc

Issue 8496024: Don't close crashed tabs from extensions with background pages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix info map Created 9 years, 1 month 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 "content/browser/tab_contents/render_view_host_manager.h" 5 #include "content/browser/tab_contents/render_view_host_manager.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "content/browser/renderer_host/render_view_host.h" 9 #include "content/browser/renderer_host/render_view_host.h"
10 #include "content/browser/renderer_host/render_view_host_delegate.h" 10 #include "content/browser/renderer_host/render_view_host_delegate.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 // its first page. (Bug 1145340) 89 // its first page. (Bug 1145340)
90 if (dest_render_view_host != render_view_host_ && 90 if (dest_render_view_host != render_view_host_ &&
91 !render_view_host_->IsRenderViewLive()) { 91 !render_view_host_->IsRenderViewLive()) {
92 // Note: we don't call InitRenderView here because we are navigating away 92 // Note: we don't call InitRenderView here because we are navigating away
93 // soon anyway, and we don't have the NavigationEntry for this host. 93 // soon anyway, and we don't have the NavigationEntry for this host.
94 delegate_->CreateRenderViewForRenderManager(render_view_host_); 94 delegate_->CreateRenderViewForRenderManager(render_view_host_);
95 } 95 }
96 96
97 // If the renderer crashed, then try to create a new one to satisfy this 97 // If the renderer crashed, then try to create a new one to satisfy this
98 // navigation request. 98 // navigation request.
99 // TODO(yoz): Should we try to reload extensions here instead??
Matt Perry 2011/11/10 22:07:59 content/ shouldn't know about extensions. if we wa
Yoyo Zhou 2011/11/10 23:26:30 Yeah, this was from an earlier approach.
99 if (!dest_render_view_host->IsRenderViewLive()) { 100 if (!dest_render_view_host->IsRenderViewLive()) {
100 if (!InitRenderView(dest_render_view_host, entry)) 101 if (!InitRenderView(dest_render_view_host, entry))
101 return NULL; 102 return NULL;
102 103
103 // Now that we've created a new renderer, be sure to hide it if it isn't 104 // Now that we've created a new renderer, be sure to hide it if it isn't
104 // our primary one. Otherwise, we might crash if we try to call Show() 105 // our primary one. Otherwise, we might crash if we try to call Show()
105 // on it later. 106 // on it later.
106 if (dest_render_view_host != render_view_host_ && 107 if (dest_render_view_host != render_view_host_ &&
107 dest_render_view_host->view()) { 108 dest_render_view_host->view()) {
108 dest_render_view_host->view()->Hide(); 109 dest_render_view_host->view()->Hide();
(...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 } 797 }
797 } 798 }
798 799
799 bool RenderViewHostManager::IsSwappedOut(RenderViewHost* rvh) { 800 bool RenderViewHostManager::IsSwappedOut(RenderViewHost* rvh) {
800 if (!rvh->site_instance()) 801 if (!rvh->site_instance())
801 return false; 802 return false;
802 803
803 return swapped_out_hosts_.find(rvh->site_instance()->id()) != 804 return swapped_out_hosts_.find(rvh->site_instance()->id()) !=
804 swapped_out_hosts_.end(); 805 swapped_out_hosts_.end();
805 } 806 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698