summaryrefslogtreecommitdiffstats
path: root/chrome/browser/web_contents_view.cc
diff options
context:
space:
mode:
authorsky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-25 21:52:10 +0000
committersky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-25 21:52:10 +0000
commit7fe2c0b8630fabd9919dc61757392ea2aac9d72b (patch)
treee62d4ffdc74da800596e584def2ba3eef58f5f8d /chrome/browser/web_contents_view.cc
parent1aba79c9137e3b44ab37b1d48f1575704331ed7e (diff)
downloadchromium_src-7fe2c0b8630fabd9919dc61757392ea2aac9d72b.zip
chromium_src-7fe2c0b8630fabd9919dc61757392ea2aac9d72b.tar.gz
chromium_src-7fe2c0b8630fabd9919dc61757392ea2aac9d72b.tar.bz2
Attempt at fixing crash in WebContents::ShowWidget. I suspect this is
happening because the RenderWidgetHost is getting destroyed between the time it is created but before it it shown (perhaps the renderer went away). BUG=4629 TEST=none Review URL: http://codereview.chromium.org/12439 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5998 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/web_contents_view.cc')
-rw-r--r--chrome/browser/web_contents_view.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/web_contents_view.cc b/chrome/browser/web_contents_view.cc
index 931e36c..6675474 100644
--- a/chrome/browser/web_contents_view.cc
+++ b/chrome/browser/web_contents_view.cc
@@ -4,6 +4,18 @@
#include "chrome/browser/web_contents_view.h"
+#include "chrome/browser/render_widget_host.h"
+
+void WebContentsView::RenderWidgetHostDestroyed(RenderWidgetHost* host) {
+ for (PendingWidgetViews::iterator i = pending_widget_views_.begin();
+ i != pending_widget_views_.end(); ++i) {
+ if (host->view() == i->second) {
+ pending_widget_views_.erase(i);
+ return;
+ }
+ }
+}
+
void WebContentsView::CreateNewWindow(int route_id, HANDLE modal_dialog_event) {
// Save the created window associated with the route so we can show it later.
pending_contents_[route_id] = CreateNewWindowInternal(route_id,