Chromium Code Reviews| Index: content/browser/browser_plugin/browser_plugin_guest.cc |
| diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc |
| index d0a39e22c2d7afa3dcd1fddb5d72c12c4b03d299..bd370e738c10e42e64aad6a82d29210a96fb4769 100644 |
| --- a/content/browser/browser_plugin/browser_plugin_guest.cc |
| +++ b/content/browser/browser_plugin/browser_plugin_guest.cc |
| @@ -111,10 +111,11 @@ BrowserPluginGuest::BrowserPluginGuest(bool has_render_view, |
| RecordAction(base::UserMetricsAction("BrowserPlugin.Guest.Create")); |
| web_contents->SetBrowserPluginGuest(this); |
| delegate->SetGuestHost(this); |
| + is_mime_handler_view_guest_ = delegate_->IsMimeHandlerViewGuest(); |
|
lfg
2016/09/02 18:29:40
Let's initialize this with the other member variab
EhsanK
2016/09/02 21:01:06
Done.
|
| } |
| int BrowserPluginGuest::GetGuestProxyRoutingID() { |
| - if (BrowserPluginGuestMode::UseCrossProcessFramesForGuests()) { |
| + if (guest_mode::IsCrossProcessFrameGuest(GetWebContents())) { |
| // We don't use the proxy to send postMessage in --site-per-process, since |
| // we use the contentWindow directly from the frame element instead. |
| return MSG_ROUTING_NONE; |
| @@ -290,7 +291,7 @@ void BrowserPluginGuest::InitInternal( |
| if (owner_web_contents_ != owner_web_contents) { |
| WebContentsViewGuest* new_view = nullptr; |
| - if (!BrowserPluginGuestMode::UseCrossProcessFramesForGuests()) { |
| + if (!guest_mode::IsCrossProcessFrameGuest(GetWebContents())) { |
| new_view = |
| static_cast<WebContentsViewGuest*>(GetWebContents()->GetView()); |
| } |
| @@ -373,6 +374,12 @@ RenderWidgetHostView* BrowserPluginGuest::GetOwnerRenderWidgetHostView() { |
| return owner_web_contents_->GetRenderWidgetHostView(); |
| } |
| +RenderWidgetHostView* BrowserPluginGuest::GetTopLevelRenderWidgetHostView() { |
|
lfg
2016/09/02 18:29:40
Same comment as above.
EhsanK
2016/09/02 21:01:06
Done.
|
| + if (!owner_web_contents_) |
| + return nullptr; |
| + return owner_web_contents_->GetTopLevelRenderWidgetHostView(); |
| +} |
| + |
| void BrowserPluginGuest::UpdateVisibility() { |
| OnSetVisibility(browser_plugin_instance_id(), visible()); |
| } |
| @@ -677,9 +684,8 @@ bool BrowserPluginGuest::OnMessageReceived(const IPC::Message& message) { |
| // TODO(lazyboy): Fix this as part of http://crbug.com/330264. The required |
| // parts of code from this class should be extracted to a separate class for |
| // --site-per-process. |
| - if (BrowserPluginGuestMode::UseCrossProcessFramesForGuests()) { |
| + if (guest_mode::IsCrossProcessFrameGuest(GetWebContents())) |
| return false; |
| - } |
| IPC_BEGIN_MESSAGE_MAP(BrowserPluginGuest, message) |
| IPC_MESSAGE_HANDLER(InputHostMsg_ImeCancelComposition, |
| @@ -927,7 +933,7 @@ void BrowserPluginGuest::OnSetEditCommandsForNextKeyEvent( |
| void BrowserPluginGuest::OnSetVisibility(int browser_plugin_instance_id, |
| bool visible) { |
| // For OOPIF-<webivew>, the remote frame will handle visibility state. |
| - if (BrowserPluginGuestMode::UseCrossProcessFramesForGuests()) |
| + if (guest_mode::IsCrossProcessFrameGuest(GetWebContents())) |
| return; |
| guest_visible_ = visible; |