| 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 9785c559e6bc2c4469af8ac1b63045aa6e3eb82e..20615bae705cfa657c30590cb1e9dea5010ac08d 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -521,7 +521,8 @@ void RenderWidgetHostViewBase::GetDefaultScreenInfo(
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // RenderWidgetHostViewMac, public:
|
|
|
| -RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget)
|
| +RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget,
|
| + bool is_guest_view_hack)
|
| : render_widget_host_(RenderWidgetHostImpl::From(widget)),
|
| text_input_type_(ui::TEXT_INPUT_TYPE_NONE),
|
| can_compose_inline_(true),
|
| @@ -529,6 +530,7 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget)
|
| new BrowserCompositorViewPlaceholderMac),
|
| is_loading_(false),
|
| allow_pause_for_resize_or_repaint_(true),
|
| + is_guest_view_hack_(is_guest_view_hack),
|
| weak_factory_(this),
|
| fullscreen_parent_host_view_(NULL) {
|
| // |cocoa_view_| owns us and we will be deleted when |cocoa_view_|
|
| @@ -552,7 +554,8 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget)
|
|
|
| gfx::Screen::GetScreenFor(cocoa_view_)->AddObserver(this);
|
|
|
| - render_widget_host_->SetView(this);
|
| + if (!is_guest_view_hack_)
|
| + render_widget_host_->SetView(this);
|
| }
|
|
|
| RenderWidgetHostViewMac::~RenderWidgetHostViewMac() {
|
| @@ -570,8 +573,13 @@ RenderWidgetHostViewMac::~RenderWidgetHostViewMac() {
|
| // We are owned by RenderWidgetHostViewCocoa, so if we go away before the
|
| // RenderWidgetHost does we need to tell it not to hold a stale pointer to
|
| // us.
|
| - if (render_widget_host_)
|
| - render_widget_host_->SetView(NULL);
|
| + if (render_widget_host_) {
|
| + // If this is a RenderWidgetHostViewGuest's platform_view_, we're not the
|
| + // RWH's view, the RenderWidgetHostViewGuest is. So don't reset the RWH's
|
| + // view, the RenderWidgetHostViewGuest will do it.
|
| + if (!is_guest_view_hack_)
|
| + render_widget_host_->SetView(NULL);
|
| + }
|
| }
|
|
|
| void RenderWidgetHostViewMac::SetDelegate(
|
|
|