summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-21 21:55:40 +0000
committerpam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-21 21:55:40 +0000
commit1ba1e38aaf8a1665d2b700eb53c9c893108d540b (patch)
treea256920f7050b91fbb3afdcd17e425c203d5c6de
parent56ff319f5dc3d6452e0b105c97016482aa56af02 (diff)
downloadchromium_src-1ba1e38aaf8a1665d2b700eb53c9c893108d540b.zip
chromium_src-1ba1e38aaf8a1665d2b700eb53c9c893108d540b.tar.gz
chromium_src-1ba1e38aaf8a1665d2b700eb53c9c893108d540b.tar.bz2
Insert diagnostics in an attempt to track down a crash in popup menus
in RenderWidgetHostViewMac::ShowPopupWithItems(). BUG=31716 TEST=should have no user-visible effect; see crash reports Review URL: http://codereview.chromium.org/545159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36790 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_mac.h4
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_mac.mm11
2 files changed, 15 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_mac.h b/chrome/browser/renderer_host/render_widget_host_view_mac.h
index 3dc07b2..e38071b 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_mac.h
+++ b/chrome/browser/renderer_host/render_widget_host_view_mac.h
@@ -115,6 +115,10 @@ class RenderWidgetHostViewMac : public RenderWidgetHostView {
void set_parent_view(BaseView* parent_view) { parent_view_ = parent_view; }
+ // Used only to diagnose the crash in http://crbug.com/31716
+ // TODO(pamg): Remove when no longer needed.
+ void clear_cocoa_view() { cocoa_view_ = nil; }
+
// These member variables should be private, but the associated ObjC class
// needs access to them and can't be made a friend.
diff --git a/chrome/browser/renderer_host/render_widget_host_view_mac.mm b/chrome/browser/renderer_host/render_widget_host_view_mac.mm
index 5f45aec..9eb46a8 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/chrome/browser/renderer_host/render_widget_host_view_mac.mm
@@ -419,8 +419,12 @@ void RenderWidgetHostViewMac::ShowPopupWithItems(
[menu_runner indexOfSelectedItem],
position, view_rect);
+ // CHECK()s inserted to diagnose the crash in http://crbug.com/31716
+ // TODO(pamg): Remove when no longer needed.
+ CHECK(render_widget_host_);
if ([menu_runner menuItemWasChosen]) {
// Simulate a menu selection event.
+ CHECK(cocoa_view_);
const WebMouseEvent& mouse_event =
WebInputEventFactory::mouseEvent(event, cocoa_view_);
render_widget_host_->ForwardMouseEvent(mouse_event);
@@ -577,6 +581,13 @@ void RenderWidgetHostViewMac::SetBackground(const SkBitmap& background) {
return self;
}
+// Used only to diagnose the crash in http://crbug.com/31716
+// TODO(pamg): Remove when no longer needed.
+- (void)dealloc {
+ renderWidgetHostView_->clear_cocoa_view();
+ [super dealloc];
+}
+
- (void)setCanBeKeyView:(BOOL)can {
canBeKeyView_ = can;
}