diff options
author | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-21 21:55:40 +0000 |
---|---|---|
committer | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-21 21:55:40 +0000 |
commit | 1ba1e38aaf8a1665d2b700eb53c9c893108d540b (patch) | |
tree | a256920f7050b91fbb3afdcd17e425c203d5c6de | |
parent | 56ff319f5dc3d6452e0b105c97016482aa56af02 (diff) | |
download | chromium_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.h | 4 | ||||
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host_view_mac.mm | 11 |
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; } |