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..d233f4fe1995d13f212543e96fe2a897409d662e 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| @@ -29,6 +29,8 @@ |
| #import "content/browser/accessibility/browser_accessibility_cocoa.h" |
| #include "content/browser/accessibility/browser_accessibility_manager_mac.h" |
| #include "content/browser/bad_message.h" |
| +#include "content/browser/browser_plugin/browser_plugin_embedder.h" |
| +#include "content/browser/browser_plugin/browser_plugin_guest.h" |
| #import "content/browser/cocoa/system_hotkey_helper_mac.h" |
| #import "content/browser/cocoa/system_hotkey_map.h" |
| #include "content/browser/compositor/resize_lock.h" |
| @@ -41,6 +43,7 @@ |
| #import "content/browser/renderer_host/render_widget_host_view_mac_dictionary_helper.h" |
| #import "content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper.h" |
| #import "content/browser/renderer_host/text_input_client_mac.h" |
| +#include "content/browser/web_contents/web_contents_impl.h" |
| #include "content/common/accessibility_messages.h" |
| #include "content/common/edit_command.h" |
| #include "content/common/gpu/gpu_messages.h" |
| @@ -92,6 +95,7 @@ using content::RenderWidgetHostViewMac; |
| using content::RenderWidgetHostViewMacEditCommandHelper; |
| using content::TextInputClientMac; |
| using content::WebContents; |
| +using content::WebContentsImpl; |
| using blink::WebInputEvent; |
| using blink::WebInputEventFactory; |
| using blink::WebMouseEvent; |
| @@ -107,6 +111,21 @@ BOOL EventIsReservedBySystem(NSEvent* event) { |
| return helper->map()->IsEventReserved(event); |
| } |
| +RenderWidgetHostViewMac* GetRenderWidgetHostViewToUse( |
| + RenderWidgetHostViewMac* render_widget_host_view) { |
| + WebContentsImpl* contents = |
| + static_cast<WebContentsImpl*>(render_widget_host_view->GetWebContents()); |
|
raymes
2015/03/30 23:02:03
Fady: WebContentsImpl* can't be referenced from he
Fady Samuel
2015/03/31 15:40:22
How about adding GetFullPageGuest(embedder) to Bro
|
| + content::BrowserPluginEmbedder* embedder = |
| + contents->GetBrowserPluginEmbedder(); |
| + if (!embedder) |
| + return render_widget_host_view; |
| + content::BrowserPluginGuest* guest = embedder->GetFullPageGuest(); |
|
Fady Samuel
2015/03/31 15:40:22
How about adding GetFullPageGuest(embedder) to Bro
|
| + if (!guest) |
| + return render_widget_host_view; |
| + return static_cast<RenderWidgetHostViewMac*>( |
| + guest->GetWebContents()->GetRenderWidgetHostView()); |
| +} |
| + |
| } // namespace |
| // These are not documented, so use only after checking -respondsToSelector:. |
| @@ -3283,11 +3302,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 { |