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 71bb40386e9255bb42b6de53c2b5a04b716759ab..8ab242535272834149c1d9df3d0bae96cbf16ca8 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| @@ -47,6 +47,8 @@ |
| #include "content/common/input_messages.h" |
| #include "content/common/view_messages.h" |
| #include "content/common/webplugin_geometry.h" |
| +#include "content/public/browser/browser_context.h" |
| +#include "content/public/browser/browser_plugin_guest_manager.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "content/public/browser/native_web_keyboard_event.h" |
| #include "content/public/browser/notification_service.h" |
| @@ -107,6 +109,19 @@ BOOL EventIsReservedBySystem(NSEvent* event) { |
| return helper->map()->IsEventReserved(event); |
| } |
| +RenderWidgetHostViewMac* GetRenderWidgetHostViewToUse( |
| + RenderWidgetHostViewMac* render_widget_host_view) { |
| + WebContents* web_contents = render_widget_host_view->GetWebContents(); |
|
Alexei Svitkine (slow)
2015/04/13 15:08:15
Do you need a null check on the return value befor
raymes
2015/04/14 00:37:03
Done.
|
| + content::BrowserPluginGuestManager* guest_manager = |
| + web_contents->GetBrowserContext()->GetGuestManager(); |
|
Alexei Svitkine (slow)
2015/04/13 15:08:15
Also, perhaps a null check on this is needed too?
raymes
2015/04/14 00:37:03
Done.
|
| + content::WebContents* guest = |
| + guest_manager->GetFullPageGuest(web_contents); |
| + if (!guest) |
| + return render_widget_host_view; |
| + return static_cast<RenderWidgetHostViewMac*>( |
| + guest->GetRenderWidgetHostView()); |
| +} |
| + |
| } // namespace |
| // These are not documented, so use only after checking -respondsToSelector:. |
| @@ -3283,11 +3298,11 @@ extern NSString *NSTextInputReplacementRangeAttributeName; |
| } |
| - (void)startSpeaking:(id)sender { |
| - renderWidgetHostView_->SpeakSelection(); |
| + GetRenderWidgetHostViewToUse(renderWidgetHostView_.get())->SpeakSelection(); |
| } |
| - (void)stopSpeaking:(id)sender { |
| - renderWidgetHostView_->StopSpeaking(); |
| + GetRenderWidgetHostViewToUse(renderWidgetHostView_.get())->StopSpeaking(); |
| } |
| - (void)cancelComposition { |