Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
| diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| index 1e608551b7a862682e7e6a8a45a77a69ceaee574..a43fab6c62764e6e2b0a14e1618e6c42d45d2b90 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| @@ -723,6 +723,13 @@ RenderWidgetHostViewBase* |
| : nullptr; |
| } |
| +RenderWidgetHostDelegate* |
| +RenderWidgetHostViewMac::GetFocusedRenderWidgetHostDelegate() { |
| + if (auto* focused_widget = GetFocusedWidget()) |
| + return focused_widget->delegate(); |
| + return render_widget_host_->delegate(); |
|
EhsanK
2017/05/16 04:34:32
We were not checking |render_widget_host_ != nullp
Charlie Reis
2017/05/16 16:24:56
Sounds fine. Thanks!
|
| +} |
| + |
| void RenderWidgetHostViewMac::UpdateBackingStoreProperties() { |
| if (!render_widget_host_) |
| return; |
| @@ -3347,17 +3354,17 @@ extern NSString *NSTextInputReplacementRangeAttributeName; |
| } |
| - (void)cut:(id)sender { |
| - content::RenderWidgetHostDelegate* render_widget_host_delegate = |
| - renderWidgetHostView_->render_widget_host_->delegate(); |
| - if (render_widget_host_delegate) |
| - render_widget_host_delegate->Cut(); |
| + if (auto* delegate = |
| + renderWidgetHostView_->GetFocusedRenderWidgetHostDelegate()) { |
| + delegate->Cut(); |
| + } |
| } |
| - (void)copy:(id)sender { |
| - content::RenderWidgetHostDelegate* render_widget_host_delegate = |
| - renderWidgetHostView_->render_widget_host_->delegate(); |
| - if (render_widget_host_delegate) |
| - render_widget_host_delegate->Copy(); |
| + if (auto* delegate = |
| + renderWidgetHostView_->GetFocusedRenderWidgetHostDelegate()) { |
| + delegate->Copy(); |
| + } |
| } |
| - (void)copyToFindPboard:(id)sender { |
| @@ -3367,10 +3374,10 @@ extern NSString *NSTextInputReplacementRangeAttributeName; |
| } |
| - (void)paste:(id)sender { |
| - content::RenderWidgetHostDelegate* render_widget_host_delegate = |
| - renderWidgetHostView_->render_widget_host_->delegate(); |
| - if (render_widget_host_delegate) |
| - render_widget_host_delegate->Paste(); |
| + if (auto* delegate = |
| + renderWidgetHostView_->GetFocusedRenderWidgetHostDelegate()) { |
| + delegate->Paste(); |
| + } |
| } |
| - (void)pasteAndMatchStyle:(id)sender { |
| @@ -3387,10 +3394,10 @@ extern NSString *NSTextInputReplacementRangeAttributeName; |
| // menu handler, neither is true. |
| // Explicitly call SelectAll() here to make sure the renderer returns |
| // selection results. |
| - content::RenderWidgetHostDelegate* render_widget_host_delegate = |
| - renderWidgetHostView_->render_widget_host_->delegate(); |
| - if (render_widget_host_delegate) |
| - render_widget_host_delegate->SelectAll(); |
| + if (auto* delegate = |
| + renderWidgetHostView_->GetFocusedRenderWidgetHostDelegate()) { |
| + delegate->SelectAll(); |
| + } |
| } |
| - (void)startSpeaking:(id)sender { |