| Index: chrome/browser/cocoa/hung_renderer_controller.mm
|
| ===================================================================
|
| --- chrome/browser/cocoa/hung_renderer_controller.mm (revision 20024)
|
| +++ chrome/browser/cocoa/hung_renderer_controller.mm (working copy)
|
| @@ -51,13 +51,15 @@
|
| if (hungContents_)
|
| base::KillProcess(hungContents_->process()->process().handle(),
|
| ResultCodes::HUNG, false);
|
| - [[self window] performClose:nil];
|
| + // Cannot call performClose:, because the close button is disabled.
|
| + [self close];
|
| }
|
|
|
| - (IBAction)wait:(id)sender {
|
| if (hungContents_ && hungContents_->render_view_host())
|
| hungContents_->render_view_host()->RestartHangMonitorTimeout();
|
| - [[self window] performClose:nil];
|
| + // Cannot call performClose:, because the close button is disabled.
|
| + [self close];
|
| }
|
|
|
| - (int)numberOfRowsInTableView:(NSTableView *)aTableView {
|
| @@ -103,13 +105,7 @@
|
| DCHECK(contents);
|
| DCHECK(hungContents_);
|
| if (hungContents_ && hungContents_->process() == contents->process()) {
|
| - // If you switch tabs with the dialog open,
|
| - // HungRendererDialog::EndForTabContents() is called after the
|
| - // RWHV is hidden. performClose: runs a nested message loop,
|
| - // during which the RWHV is drawn at least once, failing a DCHECK
|
| - // that ensures it is never drawn while hidden. The workaround
|
| - // here is to call close, which closes the window immediately with
|
| - // no nested message loop.
|
| + // Cannot call performClose:, because the close button is disabled.
|
| [self close];
|
| }
|
| }
|
|
|