Remove WebContentsViewGuest & RenderWidgetHostViewGuest.

This CL removes more dead BrowserPlugin infrastructure.

Specifically, it remove WebContentsViewGuest, and
RenderWidgetHostViewGuest. It also removes the "guest_view_hack" which
has been in RenderWidgetHostViewMac/Aura since the inception of
BrowserPlugin.

Bug: 533069
Change-Id: Ie6d28ca981d612d3f7bf8f180c615f78d53b7e26
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1943097
Commit-Queue: James MacLean <[email protected]>
Reviewed-by: Alex Moshchuk <[email protected]>
Cr-Commit-Position: refs/heads/master@{#721497}
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index ce30407..f123153 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -913,8 +913,6 @@
     "frame_host/render_frame_message_filter.h",
     "frame_host/render_frame_proxy_host.cc",
     "frame_host/render_frame_proxy_host.h",
-    "frame_host/render_widget_host_view_guest.cc",
-    "frame_host/render_widget_host_view_guest.h",
     "frame_host/should_swap_browsing_instance.h",
     "frame_host/webui_navigation_throttle.cc",
     "frame_host/webui_navigation_throttle.h",
@@ -1827,8 +1825,6 @@
     "web_contents/web_contents_view_aura.h",
     "web_contents/web_contents_view_child_frame.cc",
     "web_contents/web_contents_view_child_frame.h",
-    "web_contents/web_contents_view_guest.cc",
-    "web_contents/web_contents_view_guest.h",
     "web_contents/web_contents_view_mac.h",
     "web_contents/web_contents_view_mac.mm",
     "web_contents/web_drag_dest_mac.h",
diff --git a/content/browser/browser_plugin/browser_plugin_embedder.cc b/content/browser/browser_plugin/browser_plugin_embedder.cc
index 7fbcff29..f95fc51 100644
--- a/content/browser/browser_plugin/browser_plugin_embedder.cc
+++ b/content/browser/browser_plugin/browser_plugin_embedder.cc
@@ -155,17 +155,6 @@
         bad_message::BPE_UNEXPECTED_MESSAGE_BEFORE_BPGM_CREATION);
     return;
   }
-  WebContents* guest_web_contents =
-      GetBrowserPluginGuestManager()->GetGuestByInstanceID(
-          render_frame_host->GetProcess()->GetID(),
-          browser_plugin_instance_id);
-  if (!guest_web_contents)
-    return;
-  BrowserPluginGuest* guest = static_cast<WebContentsImpl*>(guest_web_contents)
-                                  ->GetBrowserPluginGuest();
-  guest->Attach(browser_plugin_instance_id,
-                static_cast<WebContentsImpl*>(web_contents()),
-                params);
 }
 
 bool BrowserPluginEmbedder::HandleKeyboardEvent(
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc
index 7762fa7..9a754b94 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.cc
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc
@@ -24,14 +24,13 @@
 #include "content/browser/child_process_security_policy_impl.h"
 #include "content/browser/frame_host/render_frame_host_impl.h"
 #include "content/browser/frame_host/render_frame_proxy_host.h"
-#include "content/browser/frame_host/render_widget_host_view_guest.h"
 #include "content/browser/renderer_host/cursor_manager.h"
 #include "content/browser/renderer_host/render_view_host_impl.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
 #include "content/browser/renderer_host/render_widget_host_view_base.h"
 #include "content/browser/renderer_host/render_widget_host_view_child_frame.h"
 #include "content/browser/web_contents/web_contents_impl.h"
-#include "content/browser/web_contents/web_contents_view_guest.h"
+#include "content/browser/web_contents/web_contents_view.h"
 #include "content/common/browser_plugin/browser_plugin_constants.h"
 #include "content/common/browser_plugin/browser_plugin_messages.h"
 #include "content/common/content_constants_internal.h"
@@ -161,6 +160,7 @@
 }
 
 void BrowserPluginGuest::SizeContents(const gfx::Size& new_size) {
+  // TODO(wjmaclean): Verify whether this is used via WebContentsViewChildFrame.
   GetWebContents()->GetView()->SizeContents(new_size);
 }
 
@@ -289,20 +289,9 @@
   frame_rect_ = params.frame_rect;
 
   if (owner_web_contents_ != owner_web_contents) {
-    WebContentsViewGuest* new_view = nullptr;
-    if (!GuestMode::IsCrossProcessFrameGuest(GetWebContents())) {
-      new_view =
-          static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
-    }
-
-    if (owner_web_contents_ && new_view)
-      new_view->OnGuestDetached(owner_web_contents_->GetView());
-
     // Once a BrowserPluginGuest has an embedder WebContents, it's considered to
     // be attached.
     owner_web_contents_ = owner_web_contents;
-    if (new_view)
-      new_view->OnGuestAttached(owner_web_contents_->GetView());
   }
 
   blink::mojom::RendererPreferences* renderer_prefs =
@@ -643,18 +632,6 @@
       ->SetFocus(focused_);
   UpdateVisibility();
 
-  // In case we've created a new guest render process after a crash, let the
-  // associated BrowserPlugin know. We only need to send this if we're attached,
-  // as guest_crashed_ is cleared automatically on attach anyways.
-  if (attached()) {
-    RenderWidgetHostViewGuest* rwhv = static_cast<RenderWidgetHostViewGuest*>(
-        web_contents()->GetRenderWidgetHostView());
-    if (rwhv) {
-      SendMessageToEmbedder(std::make_unique<BrowserPluginMsg_GuestReady>(
-          browser_plugin_instance_id(), rwhv->GetFrameSinkId()));
-    }
-  }
-
   RenderWidgetHostImpl::From(rvh->GetWidget())
       ->set_hung_renderer_delay(
           base::TimeDelta::FromMilliseconds(kHungRendererDelayMs));
@@ -776,58 +753,6 @@
 #endif
 }
 
-void BrowserPluginGuest::Attach(
-    int browser_plugin_instance_id,
-    WebContentsImpl* embedder_web_contents,
-    const BrowserPluginHostMsg_Attach_Params& params) {
-  browser_plugin_instance_id_ = browser_plugin_instance_id;
-  // The guest is owned by the embedder. Attach is queued up so we cannot
-  // change embedders before attach completes. If the embedder goes away,
-  // so does the guest and so we will never call WillAttachComplete because
-  // we have a weak ptr.
-  delegate_->WillAttach(
-      embedder_web_contents, browser_plugin_instance_id,
-      params.is_full_page_plugin,
-      base::BindOnce(&BrowserPluginGuest::OnWillAttachComplete,
-                     weak_ptr_factory_.GetWeakPtr(), embedder_web_contents,
-                     params));
-}
-
-void BrowserPluginGuest::OnWillAttachComplete(
-    WebContentsImpl* embedder_web_contents,
-    const BrowserPluginHostMsg_Attach_Params& params) {
-  // If a RenderView has already been created for this new window, then we need
-  // to initialize the browser-side state now so that the RenderFrameHostManager
-  // does not create a new RenderView on navigation.
-  if (has_render_view_) {
-    // This will trigger a callback to RenderViewReady after a round-trip IPC.
-    static_cast<RenderViewHostImpl*>(GetWebContents()->GetRenderViewHost())
-        ->GetWidget()
-        ->Init();
-    GetWebContents()->GetMainFrame()->Init();
-    WebContentsViewGuest* web_contents_view =
-        static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
-    if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) {
-      web_contents_view->CreateViewForWidget(
-          web_contents()->GetRenderViewHost()->GetWidget(), true);
-    }
-  }
-
-  InitInternal(params, embedder_web_contents);
-
-  attached_ = true;
-  SendQueuedMessages();
-
-  delegate_->DidAttach(GetGuestRenderViewRoutingID());
-  RenderWidgetHostViewGuest* rwhv = static_cast<RenderWidgetHostViewGuest*>(
-      web_contents()->GetRenderWidgetHostView());
-  if (rwhv)
-    rwhv->OnAttached();
-  has_render_view_ = true;
-
-  RecordAction(base::UserMetricsAction("BrowserPlugin.Guest.Attached"));
-}
-
 void BrowserPluginGuest::OnDetach(int browser_plugin_instance_id) {
   if (!attached())
     return;
@@ -845,10 +770,6 @@
   // If the guest is terminated, our host may already be gone.
   if (rwhv) {
     rwhv->UnregisterFrameSinkId();
-    RenderWidgetHostViewBase* root_view =
-        RenderWidgetHostViewGuest::GetRootView(rwhv);
-    if (root_view)
-      root_view->GetCursorManager()->ViewBeingDestroyed(rwhv);
   }
 
   delegate_->DidDetach();
diff --git a/content/browser/browser_plugin/browser_plugin_guest.h b/content/browser/browser_plugin/browser_plugin_guest.h
index 44ed710..ead1cf0 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.h
+++ b/content/browser/browser_plugin/browser_plugin_guest.h
@@ -229,14 +229,6 @@
   // Returns whether the guest is attached to an embedder.
   bool attached() const { return attached_; }
 
-  // Attaches this BrowserPluginGuest to the provided |embedder_web_contents|
-  // and initializes the guest with the provided |params|. Attaching a guest
-  // to an embedder implies that this guest's lifetime is no longer managed
-  // by its opener, and it can begin loading resources.
-  void Attach(int browser_plugin_instance_id,
-              WebContentsImpl* embedder_web_contents,
-              const BrowserPluginHostMsg_Attach_Params& params);
-
   // Returns whether BrowserPluginGuest is interested in receiving the given
   // |message|.
   static bool ShouldForwardToBrowserPluginGuest(const IPC::Message& message);
@@ -376,10 +368,6 @@
                          bool is_top_level,
                          const std::string& name);
 
-  // Called when WillAttach is complete.
-  void OnWillAttachComplete(WebContentsImpl* embedder_web_contents,
-                            const BrowserPluginHostMsg_Attach_Params& params);
-
   // Returns identical message with current browser_plugin_instance_id() if
   // the input was created with browser_plugin::kInstanceIdNone, else it returns
   // the input message unmodified. If no current browser_plugin_instance_id()
diff --git a/content/browser/frame_host/interstitial_page_impl.cc b/content/browser/frame_host/interstitial_page_impl.cc
index 545fefd..767fd31 100644
--- a/content/browser/frame_host/interstitial_page_impl.cc
+++ b/content/browser/frame_host/interstitial_page_impl.cc
@@ -614,7 +614,7 @@
   WebContentsView* wcv =
       static_cast<WebContentsImpl*>(web_contents())->GetView();
   RenderWidgetHostViewBase* view =
-      wcv->CreateViewForWidget(render_view_host_->GetWidget(), false);
+      wcv->CreateViewForWidget(render_view_host_->GetWidget());
   render_view_host_->GetWidget()->SetView(view);
   render_view_host_->GetMainFrame()->AllowBindings(
       BINDINGS_POLICY_DOM_AUTOMATION);
diff --git a/content/browser/frame_host/render_widget_host_view_guest.cc b/content/browser/frame_host/render_widget_host_view_guest.cc
deleted file mode 100644
index 09ac7172..0000000
--- a/content/browser/frame_host/render_widget_host_view_guest.cc
+++ /dev/null
@@ -1,671 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/browser/frame_host/render_widget_host_view_guest.h"
-
-#include <memory>
-#include <utility>
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "build/build_config.h"
-#include "components/viz/common/surfaces/parent_local_surface_id_allocator.h"
-#include "components/viz/service/frame_sinks/frame_sink_manager_impl.h"
-#include "components/viz/service/surfaces/surface.h"
-#include "components/viz/service/surfaces/surface_manager.h"
-#include "content/browser/browser_plugin/browser_plugin_guest.h"
-#include "content/browser/compositor/surface_utils.h"
-#include "content/browser/renderer_host/cursor_manager.h"
-#include "content/browser/renderer_host/input/input_router.h"
-#include "content/browser/renderer_host/render_view_host_impl.h"
-#include "content/browser/renderer_host/render_widget_host_delegate.h"
-#include "content/browser/renderer_host/render_widget_host_input_event_router.h"
-#include "content/common/browser_plugin/browser_plugin_messages.h"
-#include "content/common/frame_messages.h"
-#include "content/common/input/web_touch_event_traits.h"
-#include "content/common/text_input_state.h"
-#include "content/common/widget_messages.h"
-#include "content/public/common/content_switches.h"
-#include "content/public/common/use_zoom_for_dsf_policy.h"
-#include "gpu/ipc/common/gpu_messages.h"
-#include "skia/ext/platform_canvas.h"
-#include "ui/base/ui_base_switches_util.h"
-#include "ui/events/base_event_utils.h"
-#include "ui/gfx/geometry/dip_util.h"
-
-#if defined(USE_AURA)
-#include "content/browser/renderer_host/ui_events_helper.h"
-#include "ui/aura/env.h"
-#endif
-
-namespace content {
-namespace {
-
-class ScopedInputScaleDisabler {
- public:
-  ScopedInputScaleDisabler(RenderWidgetHostImpl* host, float scale_factor)
-      : host_(host), scale_factor_(scale_factor) {
-    if (IsUseZoomForDSFEnabled())
-      host_->input_router()->SetDeviceScaleFactor(1.0f);
-  }
-
-  ~ScopedInputScaleDisabler() {
-    if (IsUseZoomForDSFEnabled())
-      host_->input_router()->SetDeviceScaleFactor(scale_factor_);
-  }
-
- private:
-  RenderWidgetHostImpl* host_;
-  float scale_factor_;
-
-  DISALLOW_COPY_AND_ASSIGN(ScopedInputScaleDisabler);
-};
-
-}  // namespace
-
-// static
-RenderWidgetHostViewGuest* RenderWidgetHostViewGuest::Create(
-    RenderWidgetHost* widget,
-    BrowserPluginGuest* guest,
-    base::WeakPtr<RenderWidgetHostViewBase> platform_view) {
-  RenderWidgetHostViewGuest* view =
-      new RenderWidgetHostViewGuest(widget, guest, platform_view);
-  view->Init();
-  return view;
-}
-
-// static
-RenderWidgetHostViewBase* RenderWidgetHostViewGuest::GetRootView(
-    RenderWidgetHostViewBase* rwhv) {
-  // If we're a pdf in a WebView, we could have nested guest views here.
-  while (rwhv && rwhv->IsRenderWidgetHostViewGuest()) {
-    rwhv = static_cast<RenderWidgetHostViewGuest*>(rwhv)
-               ->GetOwnerRenderWidgetHostView();
-  }
-  if (!rwhv)
-    return nullptr;
-
-  // We could be a guest inside an oopif frame, in which case we're not the
-  // root.
-  if (rwhv->IsRenderWidgetHostViewChildFrame()) {
-    rwhv = static_cast<RenderWidgetHostViewChildFrame*>(rwhv)
-               ->GetRootRenderWidgetHostView();
-  }
-  return rwhv;
-}
-
-RenderWidgetHostViewBase* RenderWidgetHostViewGuest::GetParentView() {
-  return GetOwnerRenderWidgetHostView();
-}
-
-RenderWidgetHostViewGuest::RenderWidgetHostViewGuest(
-    RenderWidgetHost* widget_host,
-    BrowserPluginGuest* guest,
-    base::WeakPtr<RenderWidgetHostViewBase> platform_view)
-    : RenderWidgetHostViewChildFrame(widget_host),
-      // |guest| is NULL during test.
-      guest_(guest ? guest->AsWeakPtr() : base::WeakPtr<BrowserPluginGuest>()),
-      platform_view_(platform_view) {
-  // In tests |guest_| and therefore |owner| can be null.
-  auto* owner = GetOwnerRenderWidgetHostView();
-  if (owner)
-    SetParentFrameSinkId(owner->GetFrameSinkId());
-
-  gfx::NativeView view = GetNativeView();
-  if (view)
-    UpdateScreenInfo(view);
-}
-
-RenderWidgetHostViewGuest::~RenderWidgetHostViewGuest() {}
-
-void RenderWidgetHostViewGuest::Show() {
-  // If the WebContents associated with us showed an interstitial page in the
-  // beginning, the teardown path might call WasShown() while |host_| is in
-  // the process of destruction. Avoid calling WasShown below in this case.
-  // TODO(lazyboy): We shouldn't be showing interstitial pages in guests in the
-  // first place: http://crbug.com/273089.
-  //
-  // |guest_| is NULL during test.
-  if ((guest_ && guest_->is_in_destruction()) || !host()->is_hidden())
-    return;
-  // Make sure the size of this view matches the size of the WebContentsView.
-  // The two sizes may fall out of sync if we switch RenderWidgetHostViews,
-  // resize, and then switch page, as is the case with interstitial pages.
-  // NOTE: |guest_| is NULL in unit tests.
-  if (guest_)
-    SetSize(guest_->web_contents()->GetViewBounds().size());
-
-  host()->WasShown(base::nullopt /* record_tab_switch_time_request */);
-}
-
-void RenderWidgetHostViewGuest::Hide() {
-  // |guest_| is NULL during test.
-  if ((guest_ && guest_->is_in_destruction()) || host()->is_hidden())
-    return;
-  host()->WasHidden();
-}
-
-void RenderWidgetHostViewGuest::SetSize(const gfx::Size& size) {}
-void RenderWidgetHostViewGuest::SetBounds(const gfx::Rect& rect) {}
-
-void RenderWidgetHostViewGuest::Focus() {
-  // InterstitialPageImpl focuses views directly, so we place focus logic here.
-  // InterstitialPages are not WebContents, and so BrowserPluginGuest does not
-  // have direct access to the interstitial page's RenderWidgetHost.
-  if (guest_)
-    guest_->SetFocus(host(), true, blink::kWebFocusTypeNone);
-}
-
-bool RenderWidgetHostViewGuest::HasFocus() {
-  if (!guest_)
-    return false;
-  return guest_->focused();
-}
-
-void RenderWidgetHostViewGuest::PreProcessMouseEvent(
-    const blink::WebMouseEvent& event) {
-  if (event.GetType() == blink::WebInputEvent::kMouseDown) {
-    RenderWidgetHostViewBase* owner_view = GetOwnerRenderWidgetHostView();
-    if (!owner_view->HasFocus())
-      owner_view->Focus();
-
-    // With direct routing, the embedder would not know to focus the guest on
-    // click. Sends a synthetic event for the focusing side effect.
-    // TODO(wjmaclean): When we remove BrowserPlugin, delete this code.
-    // http://crbug.com/533069
-    MaybeSendSyntheticTapGesture(owner_view, event.PositionInWidget(),
-                                 event.PositionInScreen());
-  }
-}
-
-void RenderWidgetHostViewGuest::PreProcessTouchEvent(
-    const blink::WebTouchEvent& event) {
-  if (event.GetType() == blink::WebInputEvent::kTouchStart) {
-    RenderWidgetHostViewBase* owner_view = GetOwnerRenderWidgetHostView();
-    if (!owner_view->HasFocus())
-      owner_view->Focus();
-
-    // With direct routing, the embedder would not know to focus the guest on
-    // touch. Sends a synthetic event for the focusing side effect.
-    // TODO(wjmaclean): When we remove BrowserPlugin, delete this code.
-    // http://crbug.com/533069
-    MaybeSendSyntheticTapGesture(owner_view,
-                                 event.touches[0].PositionInWidget(),
-                                 event.touches[0].PositionInScreen());
-  }
-}
-
-gfx::Rect RenderWidgetHostViewGuest::GetViewBounds() {
-  if (!guest_)
-    return gfx::Rect();
-
-  RenderWidgetHostViewBase* rwhv = GetOwnerRenderWidgetHostView();
-  gfx::Rect embedder_bounds;
-  if (rwhv)
-    embedder_bounds = rwhv->GetViewBounds();
-  return gfx::Rect(guest_->GetScreenCoordinates(embedder_bounds.origin()),
-                   guest_->frame_rect().size());
-}
-
-gfx::Rect RenderWidgetHostViewGuest::GetBoundsInRootWindow() {
-  return GetViewBounds();
-}
-
-gfx::PointF RenderWidgetHostViewGuest::TransformPointToRootCoordSpaceF(
-    const gfx::PointF& point) {
-  viz::SurfaceId surface_id = GetCurrentSurfaceId();
-  if (!guest_)
-    return point;
-
-  RenderWidgetHostViewBase* root_rwhv = GetRootView(this);
-  if (!root_rwhv)
-    return point;
-
-  gfx::PointF transformed_point = point;
-  // TODO(wjmaclean): If we knew that TransformPointToLocalCoordSpace would
-  // guarantee not to change transformed_point on failure, then we could skip
-  // checking the function return value and directly return transformed_point.
-  if (!root_rwhv->TransformPointToLocalCoordSpace(point, surface_id,
-                                                  &transformed_point)) {
-    return point;
-  }
-  return transformed_point;
-}
-
-gfx::PointF RenderWidgetHostViewGuest::TransformRootPointToViewCoordSpace(
-    const gfx::PointF& point) {
-  RenderWidgetHostViewBase* root_rwhv = GetRootView(this);
-  if (!root_rwhv)
-    return point;
-
-  gfx::PointF transformed_point;
-  if (!root_rwhv->TransformPointToCoordSpaceForView(point, this,
-                                                    &transformed_point)) {
-    return point;
-  }
-  return transformed_point;
-}
-
-void RenderWidgetHostViewGuest::RenderProcessGone() {
-  // The |platform_view_| gets destroyed before we get here if this view
-  // is for an InterstitialPage.
-  if (platform_view_)
-    platform_view_->RenderProcessGone();
-
-  RenderWidgetHostViewChildFrame::RenderProcessGone();
-}
-
-void RenderWidgetHostViewGuest::Destroy() {
-  if (platform_view_)  // The platform view might have been destroyed already.
-    platform_view_->Destroy();
-
-  RenderWidgetHostViewBase* root_view = GetRootView(this);
-  if (root_view)
-    root_view->GetCursorManager()->ViewBeingDestroyed(this);
-
-  // RenderWidgetHostViewChildFrame::Destroy destroys this object.
-  RenderWidgetHostViewChildFrame::Destroy();
-}
-
-gfx::Size RenderWidgetHostViewGuest::GetCompositorViewportPixelSize() {
-  gfx::Size size;
-  if (guest_) {
-    size = gfx::ScaleToCeiledSize(guest_->frame_rect().size(),
-                                  guest_->screen_info().device_scale_factor);
-  }
-  return size;
-}
-
-base::string16 RenderWidgetHostViewGuest::GetSelectedText() {
-  return platform_view_->GetSelectedText();
-}
-
-TouchSelectionControllerClientManager*
-RenderWidgetHostViewGuest::GetTouchSelectionControllerClientManager() {
-  RenderWidgetHostView* root_view = GetRootView(this);
-  if (!root_view)
-    return nullptr;
-
-  // There is only ever one manager, and it's owned by the root view.
-  return root_view->GetTouchSelectionControllerClientManager();
-}
-
-void RenderWidgetHostViewGuest::SetTooltipText(
-    const base::string16& tooltip_text) {
-  RenderWidgetHostViewBase* root_view = GetRootView(this);
-  if (root_view)
-    root_view->GetCursorManager()->SetTooltipTextForView(this, tooltip_text);
-}
-
-void RenderWidgetHostViewGuest::OnDidUpdateVisualPropertiesComplete(
-    const cc::RenderFrameMetadata& metadata) {
-  if (guest_)
-    guest_->DidUpdateVisualProperties(metadata);
-  host()->SynchronizeVisualProperties();
-}
-
-void RenderWidgetHostViewGuest::OnAttached() {
-  RegisterFrameSinkId();
-}
-
-RenderWidgetHostViewBase* RenderWidgetHostViewGuest::GetRootView() {
-  return GetRootView(this);
-}
-
-void RenderWidgetHostViewGuest::InitAsChild(gfx::NativeView parent_view) {
-  // This should never get called.
-  NOTREACHED();
-}
-
-void RenderWidgetHostViewGuest::InitAsPopup(
-    RenderWidgetHostView* parent_host_view,
-    const gfx::Rect& bounds) {
-  // This should never get called.
-  NOTREACHED();
-}
-
-void RenderWidgetHostViewGuest::InitAsFullscreen(
-    RenderWidgetHostView* reference_host_view) {
-  // This should never get called.
-  NOTREACHED();
-}
-
-gfx::NativeView RenderWidgetHostViewGuest::GetNativeView() {
-  if (!guest_)
-    return gfx::NativeView();
-
-  RenderWidgetHostView* rwhv = guest_->GetOwnerRenderWidgetHostView();
-  if (!rwhv)
-    return gfx::NativeView();
-  return rwhv->GetNativeView();
-}
-
-gfx::NativeViewAccessible RenderWidgetHostViewGuest::GetNativeViewAccessible() {
-  if (!guest_)
-    return gfx::NativeViewAccessible();
-
-  RenderWidgetHostView* rwhv = guest_->GetOwnerRenderWidgetHostView();
-  if (!rwhv)
-    return gfx::NativeViewAccessible();
-  return rwhv->GetNativeViewAccessible();
-}
-
-void RenderWidgetHostViewGuest::UpdateCursor(const WebCursor& cursor) {
-  // InterstitialPages are not WebContents so we cannot intercept
-  // WidgetHostMsg_SetCursor for interstitial pages in BrowserPluginGuest.
-  // All guest RenderViewHosts have RenderWidgetHostViewGuests however,
-  // and so we will always hit this code path.
-  if (!guest_)
-    return;
-  RenderWidgetHostViewBase* rwhvb = GetRootView(this);
-  if (rwhvb && rwhvb->GetCursorManager())
-    rwhvb->GetCursorManager()->UpdateCursor(this, cursor);
-}
-
-void RenderWidgetHostViewGuest::SetIsLoading(bool is_loading) {
-  platform_view_->SetIsLoading(is_loading);
-}
-
-bool RenderWidgetHostViewGuest::HasSize() const {
-  // RenderWidgetHostViewGuests are always hosting main frames, so the renderer
-  // always have a size, which is sent on the CreateView IPC.
-  return true;
-}
-
-void RenderWidgetHostViewGuest::TextInputStateChanged(
-    const TextInputState& params) {
-  if (!guest_)
-    return;
-
-  RenderWidgetHostViewBase* rwhv = GetOwnerRenderWidgetHostView();
-  if (!rwhv)
-    return;
-  // Forward the information to embedding RWHV.
-  rwhv->TextInputStateChanged(params);
-
-  should_forward_text_selection_ =
-      (params.type != ui::TEXT_INPUT_TYPE_NONE) && guest_ && guest_->focused();
-}
-
-void RenderWidgetHostViewGuest::ImeCancelComposition() {
-  if (!guest_)
-    return;
-
-  RenderWidgetHostViewBase* rwhv = GetOwnerRenderWidgetHostView();
-  if (!rwhv)
-    return;
-  // Forward the information to embedding RWHV.
-  rwhv->ImeCancelComposition();
-}
-
-#if defined(OS_MACOSX) || defined(USE_AURA)
-void RenderWidgetHostViewGuest::ImeCompositionRangeChanged(
-    const gfx::Range& range,
-    const std::vector<gfx::Rect>& character_bounds) {
-  if (!guest_)
-    return;
-
-  RenderWidgetHostViewBase* rwhv = GetOwnerRenderWidgetHostView();
-  if (!rwhv)
-    return;
-  std::vector<gfx::Rect> guest_character_bounds;
-  for (size_t i = 0; i < character_bounds.size(); ++i) {
-    guest_character_bounds.push_back(
-        gfx::Rect(guest_->GetScreenCoordinates(character_bounds[i].origin()),
-                  character_bounds[i].size()));
-  }
-  // Forward the information to embedding RWHV.
-  rwhv->ImeCompositionRangeChanged(range, guest_character_bounds);
-}
-#endif
-
-void RenderWidgetHostViewGuest::SelectionChanged(const base::string16& text,
-                                                 size_t offset,
-                                                 const gfx::Range& range) {
-  RenderWidgetHostViewBase* view = should_forward_text_selection_
-                                       ? GetOwnerRenderWidgetHostView()
-                                       : platform_view_.get();
-  if (view)
-    view->SelectionChanged(text, offset, range);
-}
-
-void RenderWidgetHostViewGuest::SelectionBoundsChanged(
-    const WidgetHostMsg_SelectionBounds_Params& params) {
-  if (!guest_)
-    return;
-
-  RenderWidgetHostViewBase* rwhv = GetOwnerRenderWidgetHostView();
-  if (!rwhv)
-    return;
-  WidgetHostMsg_SelectionBounds_Params guest_params(params);
-  guest_params.anchor_rect.set_origin(
-      guest_->GetScreenCoordinates(params.anchor_rect.origin()));
-  guest_params.focus_rect.set_origin(
-      guest_->GetScreenCoordinates(params.focus_rect.origin()));
-  rwhv->SelectionBoundsChanged(guest_params);
-}
-
-void RenderWidgetHostViewGuest::DidStopFlinging() {
-  RenderWidgetHostViewBase* rwhv = this;
-  // If we're a pdf in a WebView, we could have nested guest views here.
-  while (rwhv && rwhv->IsRenderWidgetHostViewGuest()) {
-    rwhv = static_cast<RenderWidgetHostViewGuest*>(rwhv)
-               ->GetOwnerRenderWidgetHostView();
-  }
-  // DidStopFlinging() is used by TouchSelection to correctly detect the end of
-  // scroll events, so we forward this to the top-level RenderWidgetHostViewBase
-  // so it can be passed along to its TouchSelectionController.
-  if (rwhv)
-    rwhv->DidStopFlinging();
-}
-
-bool RenderWidgetHostViewGuest::LockMouse(bool request_unadjusted_movement) {
-  return platform_view_->LockMouse(request_unadjusted_movement);
-}
-
-void RenderWidgetHostViewGuest::UnlockMouse() {
-  platform_view_->UnlockMouse();
-}
-
-viz::FrameSinkId RenderWidgetHostViewGuest::GetRootFrameSinkId() {
-  RenderWidgetHostViewBase* root_rwhv = GetRootView(this);
-  if (root_rwhv)
-    return root_rwhv->GetRootFrameSinkId();
-  return viz::FrameSinkId();
-}
-
-const viz::LocalSurfaceIdAllocation&
-RenderWidgetHostViewGuest::GetLocalSurfaceIdAllocation() const {
-  if (guest_)
-    return guest_->local_surface_id_allocation();
-  return viz::ParentLocalSurfaceIdAllocator::InvalidLocalSurfaceIdAllocation();
-}
-
-void RenderWidgetHostViewGuest::DidCreateNewRendererCompositorFrameSink(
-    viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink) {
-  RenderWidgetHostViewChildFrame::DidCreateNewRendererCompositorFrameSink(
-      renderer_compositor_frame_sink);
-  platform_view_->DidCreateNewRendererCompositorFrameSink(
-      renderer_compositor_frame_sink);
-}
-
-#if defined(OS_MACOSX)
-void RenderWidgetHostViewGuest::SetActive(bool active) {
-  platform_view_->SetActive(active);
-}
-
-void RenderWidgetHostViewGuest::ShowDefinitionForSelection() {
-  // Note that if there were a dictionary overlay, that dictionary overlay
-  // would target |guest_|. This path does not actually support getting the
-  // attributed string and its point on the page, so it will not create an
-  // overlay (it will open Dictionary.app), so the target NSView need not be
-  // specified.
-  // https://crbug.com/152438
-  platform_view_->ShowDefinitionForSelection();
-}
-
-void RenderWidgetHostViewGuest::SpeakSelection() {
-  platform_view_->SpeakSelection();
-}
-#endif  // defined(OS_MACOSX)
-
-RenderWidgetHostViewBase*
-RenderWidgetHostViewGuest::GetOwnerRenderWidgetHostView() const {
-  return guest_ ? static_cast<RenderWidgetHostViewBase*>(
-                      guest_->GetOwnerRenderWidgetHostView())
-                : nullptr;
-}
-
-void RenderWidgetHostViewGuest::MaybeSendSyntheticTapGestureForTest(
-    const blink::WebFloatPoint& position,
-    const blink::WebFloatPoint& screen_position) {
-  MaybeSendSyntheticTapGesture(GetOwnerRenderWidgetHostView(), position,
-                               screen_position);
-}
-
-// TODO(wjmaclean): When we remove BrowserPlugin, delete this code.
-// http://crbug.com/533069
-void RenderWidgetHostViewGuest::MaybeSendSyntheticTapGesture(
-    RenderWidgetHostViewBase* owner_view,
-    const blink::WebFloatPoint& position,
-    const blink::WebFloatPoint& screen_position) {
-  DCHECK(owner_view);
-  if (!HasFocus()) {
-    // We need to convert the position of the event into the coordinate frame
-    // of the embedder in order to be sure we hit the BrowserPlugin element.
-    gfx::PointF point_in_owner;
-    if (!owner_view->TransformPointToLocalCoordSpace(
-            position, GetCurrentSurfaceId(), &point_in_owner)) {
-      LOG(ERROR) << "Unable to convert gesture location to owner coordinates.";
-      return;
-    }
-    blink::WebGestureEvent gesture_tap_event(
-        blink::WebGestureEvent::kGestureTapDown,
-        blink::WebInputEvent::kNoModifiers, ui::EventTimeForNow(),
-        blink::WebGestureDevice::kTouchscreen);
-    gesture_tap_event.SetPositionInWidget(point_in_owner);
-    gesture_tap_event.SetPositionInScreen(screen_position);
-    // The touch action may not be set yet because this is still at the
-    // Pre-processing stage of a mouse or a touch event. In this case, set the
-    // touch action to Auto to prevent crashing.
-    static_cast<RenderWidgetHostImpl*>(owner_view->GetRenderWidgetHost())
-        ->input_router()
-        ->ForceSetTouchActionAuto();
-    owner_view->ProcessGestureEvent(
-        gesture_tap_event, ui::LatencyInfo(ui::SourceEventType::TOUCH));
-
-    gesture_tap_event.SetType(blink::WebGestureEvent::kGestureTapCancel);
-    owner_view->ProcessGestureEvent(
-        gesture_tap_event, ui::LatencyInfo(ui::SourceEventType::TOUCH));
-  }
-}
-
-void RenderWidgetHostViewGuest::WheelEventAck(
-    const blink::WebMouseWheelEvent& event,
-    InputEventAckState ack_result) {
-  if (ack_result == INPUT_EVENT_ACK_STATE_NOT_CONSUMED ||
-      ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS) {
-    guest_->ResendEventToEmbedder(event);
-  }
-}
-
-void RenderWidgetHostViewGuest::GestureEventAck(
-    const blink::WebGestureEvent& event,
-    InputEventAckState ack_result) {
-  // Stops flinging if a GSU event with momentum phase is sent to the renderer
-  // but not consumed.
-  StopFlingingIfNecessary(event, ack_result);
-
-  bool not_consumed = ack_result == INPUT_EVENT_ACK_STATE_NOT_CONSUMED ||
-                      ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS;
-  // GestureScrollBegin/End are always consumed by the guest, so we only
-  // forward GestureScrollUpdate.
-  // Consumed GestureScrollUpdates and GestureScrollBegins must still be
-  // forwarded to the owner RWHV so it may update its state.
-  if (event.GetType() == blink::WebInputEvent::kGestureScrollUpdate &&
-      not_consumed) {
-    guest_->ResendEventToEmbedder(event);
-  } else if (event.GetType() == blink::WebInputEvent::kGestureScrollUpdate ||
-             event.GetType() == blink::WebInputEvent::kGestureScrollBegin) {
-    GetOwnerRenderWidgetHostView()->GestureEventAck(event, ack_result);
-  }
-
-  if (event.IsTouchpadZoomEvent())
-    ProcessTouchpadZoomEventAckInRoot(event, ack_result);
-}
-
-void RenderWidgetHostViewGuest::ProcessTouchpadZoomEventAckInRoot(
-    const blink::WebGestureEvent& event,
-    InputEventAckState ack_result) {
-  DCHECK(event.IsTouchpadZoomEvent());
-
-  RenderWidgetHostViewBase* root_rwhv = GetRootView(this);
-  if (!root_rwhv)
-    return;
-
-  blink::WebGestureEvent root_event(event);
-  const gfx::PointF root_point =
-      TransformPointToRootCoordSpaceF(event.PositionInWidget());
-  root_event.SetPositionInWidget(root_point);
-  root_rwhv->GestureEventAck(root_event, ack_result);
-}
-
-InputEventAckState RenderWidgetHostViewGuest::FilterInputEvent(
-    const blink::WebInputEvent& input_event) {
-  InputEventAckState ack_state =
-      RenderWidgetHostViewChildFrame::FilterInputEvent(input_event);
-  if (ack_state != INPUT_EVENT_ACK_STATE_NOT_CONSUMED)
-    return ack_state;
-
-  // The owner RWHV may want to consume the guest's GestureScrollUpdates.
-  // Also, we don't resend GestureFlingStarts, GestureScrollBegins, or
-  // GestureScrollEnds, so we let the owner RWHV know about them here.
-  if (input_event.GetType() == blink::WebInputEvent::kGestureScrollUpdate ||
-      input_event.GetType() == blink::WebInputEvent::kGestureFlingStart ||
-      input_event.GetType() == blink::WebInputEvent::kGestureScrollBegin ||
-      input_event.GetType() == blink::WebInputEvent::kGestureScrollEnd) {
-    const blink::WebGestureEvent& gesture_event =
-        static_cast<const blink::WebGestureEvent&>(input_event);
-    return GetOwnerRenderWidgetHostView()->FilterChildGestureEvent(
-        gesture_event);
-  }
-
-  return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
-}
-
-void RenderWidgetHostViewGuest::GetScreenInfo(ScreenInfo* screen_info) {
-  DCHECK(screen_info);
-  if (guest_)
-    *screen_info = guest_->screen_info();
-  else
-    RenderWidgetHostViewBase::GetScreenInfo(screen_info);
-}
-
-void RenderWidgetHostViewGuest::EnableAutoResize(const gfx::Size& min_size,
-                                                 const gfx::Size& max_size) {
-  if (guest_)
-    guest_->EnableAutoResize(min_size, max_size);
-}
-
-void RenderWidgetHostViewGuest::DisableAutoResize(const gfx::Size& new_size) {
-  if (guest_)
-    guest_->DisableAutoResize();
-}
-
-viz::ScopedSurfaceIdAllocator
-RenderWidgetHostViewGuest::DidUpdateVisualProperties(
-    const cc::RenderFrameMetadata& metadata) {
-  base::OnceCallback<void()> allocation_task = base::BindOnce(
-      &RenderWidgetHostViewGuest::OnDidUpdateVisualPropertiesComplete,
-      weak_ptr_factory_.GetWeakPtr(), metadata);
-  return viz::ScopedSurfaceIdAllocator(std::move(allocation_task));
-}
-
-bool RenderWidgetHostViewGuest::IsRenderWidgetHostViewGuest() {
-  return true;
-}
-
-}  // namespace content
diff --git a/content/browser/frame_host/render_widget_host_view_guest.h b/content/browser/frame_host/render_widget_host_view_guest.h
deleted file mode 100644
index fdc3462..0000000
--- a/content/browser/frame_host/render_widget_host_view_guest.h
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_GUEST_H_
-#define CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_GUEST_H_
-
-#include <stddef.h>
-#include <stdint.h>
-
-#include <memory>
-#include <vector>
-
-#include "base/macros.h"
-#include "build/build_config.h"
-#include "content/browser/renderer_host/render_widget_host_view_child_frame.h"
-#include "content/common/content_export.h"
-#include "content/common/cursors/webcursor.h"
-#include "third_party/blink/public/platform/web_input_event.h"
-#include "ui/events/event.h"
-#include "ui/events/gestures/gesture_recognizer.h"
-#include "ui/events/gestures/gesture_types.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/geometry/vector2d_f.h"
-#include "ui/gfx/native_widget_types.h"
-
-namespace content {
-
-class BrowserPluginGuest;
-class RenderWidgetHost;
-struct TextInputState;
-
-// See comments in render_widget_host_view.h about this class and its members.
-// This version is for the BrowserPlugin which handles a lot of the
-// functionality in a diffent place and isn't platform specific.
-// The BrowserPlugin is currently a special case for out-of-process rendered
-// content and therefore inherits from RenderWidgetHostViewChildFrame.
-// Eventually all RenderWidgetHostViewGuest code will be subsumed by
-// RenderWidgetHostViewChildFrame and this class will be removed.
-//
-// Some elements that are platform specific will be deal with by delegating
-// the relevant calls to the platform view.
-class CONTENT_EXPORT RenderWidgetHostViewGuest
-    : public RenderWidgetHostViewChildFrame,
-      public ui::GestureConsumer {
- public:
-  static RenderWidgetHostViewGuest* Create(
-      RenderWidgetHost* widget,
-      BrowserPluginGuest* guest,
-      base::WeakPtr<RenderWidgetHostViewBase> platform_view);
-  static RenderWidgetHostViewBase* GetRootView(RenderWidgetHostViewBase* rwhv);
-
-  ~RenderWidgetHostViewGuest() override;
-
-  // Called when this RenderWidgetHostViewGuest is attached.
-  void OnAttached();
-
-  // RenderWidgetHostViewChildFrame implementation.
-  RenderWidgetHostViewBase* GetParentView() override;
-
-  // RenderWidgetHostView implementation.
-  void InitAsChild(gfx::NativeView parent_view) override;
-  void SetSize(const gfx::Size& size) override;
-  void SetBounds(const gfx::Rect& rect) override;
-  void Focus() override;
-  bool HasFocus() override;
-  void Show() override;
-  void Hide() override;
-  gfx::NativeView GetNativeView() override;
-  gfx::NativeViewAccessible GetNativeViewAccessible() override;
-  gfx::Rect GetViewBounds() override;
-  gfx::Rect GetBoundsInRootWindow() override;
-  gfx::Size GetCompositorViewportPixelSize() override;
-  base::string16 GetSelectedText() override;
-  TouchSelectionControllerClientManager*
-  GetTouchSelectionControllerClientManager() override;
-  gfx::PointF TransformPointToRootCoordSpaceF(
-      const gfx::PointF& point) override;
-  gfx::PointF TransformRootPointToViewCoordSpace(
-      const gfx::PointF& point) override;
-
-  // RenderWidgetHostViewBase implementation.
-  RenderWidgetHostViewBase* GetRootView() override;
-  void InitAsPopup(RenderWidgetHostView* parent_host_view,
-                   const gfx::Rect& bounds) override;
-  void InitAsFullscreen(RenderWidgetHostView* reference_host_view) override;
-  void UpdateCursor(const WebCursor& cursor) override;
-  void SetIsLoading(bool is_loading) override;
-  bool HasSize() const override;
-  void TextInputStateChanged(const TextInputState& params) override;
-  void ImeCancelComposition() override;
-#if defined(OS_MACOSX) || defined(USE_AURA)
-  void ImeCompositionRangeChanged(
-      const gfx::Range& range,
-      const std::vector<gfx::Rect>& character_bounds) override;
-#endif
-  void RenderProcessGone() override;
-  void Destroy() override;
-  void SetTooltipText(const base::string16& tooltip_text) override;
-  void SelectionChanged(const base::string16& text,
-                        size_t offset,
-                        const gfx::Range& range) override;
-  void SelectionBoundsChanged(
-      const WidgetHostMsg_SelectionBounds_Params& params) override;
-  void PreProcessMouseEvent(const blink::WebMouseEvent& event) override;
-  void PreProcessTouchEvent(const blink::WebTouchEvent& event) override;
-
-  void DidStopFlinging() override;
-  bool LockMouse(bool request_unadjusted_movement) override;
-  void UnlockMouse() override;
-  viz::FrameSinkId GetRootFrameSinkId() override;
-  const viz::LocalSurfaceIdAllocation& GetLocalSurfaceIdAllocation()
-      const override;
-  void DidCreateNewRendererCompositorFrameSink(
-      viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink)
-      override;
-
-#if defined(OS_MACOSX)
-  // RenderWidgetHostView implementation.
-  void SetActive(bool active) override;
-  void ShowDefinitionForSelection() override;
-  void SpeakSelection() override;
-#endif  // defined(OS_MACOSX)
-
-  void WheelEventAck(const blink::WebMouseWheelEvent& event,
-                     InputEventAckState ack_result) override;
-
-  void GestureEventAck(const blink::WebGestureEvent& event,
-                       InputEventAckState ack_result) override;
-
-  InputEventAckState FilterInputEvent(
-      const blink::WebInputEvent& input_event) override;
-
-  bool IsRenderWidgetHostViewGuest() override;
-  RenderWidgetHostViewBase* GetOwnerRenderWidgetHostView() const;
-
-  void GetScreenInfo(ScreenInfo* screen_info) override;
-
-  void EnableAutoResize(const gfx::Size& min_size,
-                        const gfx::Size& max_size) override;
-  void DisableAutoResize(const gfx::Size& new_size) override;
-
-  viz::ScopedSurfaceIdAllocator DidUpdateVisualProperties(
-      const cc::RenderFrameMetadata& metadata) override;
-
-  void MaybeSendSyntheticTapGestureForTest(
-      const blink::WebFloatPoint& position,
-      const blink::WebFloatPoint& screen_position);
-
- private:
-  friend class RenderWidgetHostView;
-
-  void OnDidUpdateVisualPropertiesComplete(
-      const cc::RenderFrameMetadata& metadata);
-
-  RenderWidgetHostViewGuest(
-      RenderWidgetHost* widget,
-      BrowserPluginGuest* guest,
-      base::WeakPtr<RenderWidgetHostViewBase> platform_view);
-
-  // Since we now route GestureEvents directly to the guest renderer, we need
-  // a way to make sure that the BrowserPlugin in the embedder gets focused so
-  // that keyboard input (which still travels via BrowserPlugin) is routed to
-  // the plugin and thus onwards to the guest.
-  // TODO(wjmaclean): When we remove BrowserPlugin, delete this code.
-  // http://crbug.com/533069
-  void MaybeSendSyntheticTapGesture(
-      RenderWidgetHostViewBase* owner_view,
-      const blink::WebFloatPoint& position,
-      const blink::WebFloatPoint& screen_position);
-
-  void ProcessTouchpadZoomEventAckInRoot(const blink::WebGestureEvent& event,
-                                         InputEventAckState ack_result);
-
-  // BrowserPluginGuest and RenderWidgetHostViewGuest's lifetimes are not tied
-  // to one another, therefore we access |guest_| through WeakPtr.
-  base::WeakPtr<BrowserPluginGuest> guest_;
-
-  // The platform view for this RenderWidgetHostView.
-  // RenderWidgetHostViewGuest mostly only cares about stuff related to
-  // compositing, the rest are directly forwarded to this |platform_view_|.
-  base::WeakPtr<RenderWidgetHostViewBase> platform_view_;
-
-  // When true the guest will forward its selection updates to the owner RWHV.
-  // The guest may forward its updates only when there is an ongoing IME
-  // session.
-  bool should_forward_text_selection_ = false;
-
-  base::WeakPtrFactory<RenderWidgetHostViewGuest> weak_ptr_factory_{this};
-
-  DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewGuest);
-};
-
-}  // namespace content
-
-#endif  // CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_GUEST_H_
diff --git a/content/browser/frame_host/render_widget_host_view_guest_unittest.cc b/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
deleted file mode 100644
index 304ee554..0000000
--- a/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
+++ /dev/null
@@ -1,198 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/browser/frame_host/render_widget_host_view_guest.h"
-
-#include <stdint.h>
-#include <utility>
-
-#include "base/macros.h"
-#include "base/run_loop.h"
-#include "base/single_thread_task_runner.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "build/build_config.h"
-#include "components/viz/common/features.h"
-#include "components/viz/service/frame_sinks/frame_sink_manager_impl.h"
-#include "components/viz/service/surfaces/surface.h"
-#include "components/viz/service/surfaces/surface_manager.h"
-#include "content/browser/browser_plugin/browser_plugin_guest.h"
-#include "content/browser/compositor/test/test_image_transport_factory.h"
-#include "content/browser/gpu/compositor_util.h"
-#include "content/browser/renderer_host/frame_token_message_queue.h"
-#include "content/browser/renderer_host/render_process_host_impl.h"
-#include "content/browser/renderer_host/render_widget_host_delegate.h"
-#include "content/browser/renderer_host/render_widget_host_impl.h"
-#include "content/common/view_messages.h"
-#include "content/public/browser/browser_plugin_guest_delegate.h"
-#include "content/public/browser/render_widget_host_view.h"
-#include "content/public/test/browser_task_environment.h"
-#include "content/public/test/mock_render_process_host.h"
-#include "content/public/test/test_browser_context.h"
-#include "content/test/mock_render_widget_host_delegate.h"
-#include "content/test/mock_widget_impl.h"
-#include "content/test/test_render_view_host.h"
-#include "content/test/test_web_contents.h"
-#include "mojo/public/cpp/bindings/remote.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/base/ui_base_features.h"
-#include "ui/compositor/compositor.h"
-
-namespace content {
-namespace {
-
-class RenderWidgetHostViewGuestTest : public testing::Test {
- public:
-  RenderWidgetHostViewGuestTest() {}
-
-  void SetUp() override {
-#if !defined(OS_ANDROID)
-    ImageTransportFactory::SetFactory(
-        std::make_unique<TestImageTransportFactory>());
-#endif
-    browser_context_.reset(new TestBrowserContext);
-    MockRenderProcessHost* process_host =
-        new MockRenderProcessHost(browser_context_.get());
-    int32_t routing_id = process_host->GetNextRoutingID();
-    mojo::PendingRemote<mojom::Widget> widget;
-    widget_impl_ = std::make_unique<MockWidgetImpl>(
-        widget.InitWithNewPipeAndPassReceiver());
-
-    widget_host_ = new RenderWidgetHostImpl(
-        &delegate_, process_host, routing_id, std::move(widget),
-        /*hidden=*/false, std::make_unique<FrameTokenMessageQueue>());
-    view_ = RenderWidgetHostViewGuest::Create(
-        widget_host_, nullptr,
-        (new TestRenderWidgetHostView(widget_host_))->GetWeakPtr());
-  }
-
-  void TearDown() override {
-    if (view_)
-      view_->Destroy();
-    delete widget_host_;
-
-    browser_context_.reset();
-
-    base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE,
-                                                    browser_context_.release());
-    base::RunLoop().RunUntilIdle();
-#if !defined(OS_ANDROID)
-    ImageTransportFactory::Terminate();
-#endif
-  }
-
- protected:
-  BrowserTaskEnvironment task_environment_;
-
-  std::unique_ptr<BrowserContext> browser_context_;
-  MockRenderWidgetHostDelegate delegate_;
-
-  // Tests should set these to NULL if they've already triggered their
-  // destruction.
-  std::unique_ptr<MockWidgetImpl> widget_impl_;
-  RenderWidgetHostImpl* widget_host_;
-  RenderWidgetHostViewGuest* view_;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewGuestTest);
-};
-
-}  // namespace
-
-TEST_F(RenderWidgetHostViewGuestTest, VisibilityTest) {
-  view_->Show();
-  ASSERT_TRUE(view_->IsShowing());
-
-  view_->Hide();
-  ASSERT_FALSE(view_->IsShowing());
-}
-
-class TestBrowserPluginGuest : public BrowserPluginGuest {
- public:
-  TestBrowserPluginGuest(WebContentsImpl* web_contents,
-                         BrowserPluginGuestDelegate* delegate)
-      : BrowserPluginGuest(web_contents->HasOpener(), web_contents, delegate) {}
-
-  ~TestBrowserPluginGuest() override {}
-
-  void set_attached(bool attached) {
-    BrowserPluginGuest::set_attached_for_test(attached);
-  }
-};
-
-// TODO(wjmaclean): we should restructure RenderWidgetHostViewChildFrameTest to
-// look more like this one, and then this one could be derived from it.
-class RenderWidgetHostViewGuestSurfaceTest : public testing::Test {
- public:
-  RenderWidgetHostViewGuestSurfaceTest()
-      : widget_host_(nullptr), view_(nullptr) {}
-
-  void SetUp() override {
-#if !defined(OS_ANDROID)
-    ImageTransportFactory::SetFactory(
-        std::make_unique<TestImageTransportFactory>());
-#endif
-    browser_context_.reset(new TestBrowserContext);
-    MockRenderProcessHost* process_host =
-        new MockRenderProcessHost(browser_context_.get());
-    web_contents_ = TestWebContents::Create(browser_context_.get(), nullptr);
-    // We don't own the BPG, the WebContents does.
-    browser_plugin_guest_ = new TestBrowserPluginGuest(
-        web_contents_.get(), &browser_plugin_guest_delegate_);
-
-    int32_t routing_id = process_host->GetNextRoutingID();
-    mojo::PendingRemote<mojom::Widget> widget;
-    widget_impl_ = std::make_unique<MockWidgetImpl>(
-        widget.InitWithNewPipeAndPassReceiver());
-
-    widget_host_ = new RenderWidgetHostImpl(
-        &delegate_, process_host, routing_id, std::move(widget),
-        /*hidden=*/false, std::make_unique<FrameTokenMessageQueue>());
-    view_ = RenderWidgetHostViewGuest::Create(
-        widget_host_, browser_plugin_guest_,
-        (new TestRenderWidgetHostView(widget_host_))->GetWeakPtr());
-  }
-
-  void TearDown() override {
-    if (view_)
-      view_->Destroy();
-    delete widget_host_;
-
-    // It's important to make sure that the view finishes destructing before
-    // we hit the destructor for the BrowserTaskEnvironment, so run the message
-    // loop here.
-    base::RunLoop().RunUntilIdle();
-#if !defined(OS_ANDROID)
-    ImageTransportFactory::Terminate();
-#endif
-  }
-
-  viz::SurfaceId GetSurfaceId() const {
-    DCHECK(view_);
-    RenderWidgetHostViewChildFrame* rwhvcf =
-        static_cast<RenderWidgetHostViewChildFrame*>(view_);
-    return rwhvcf->last_activated_surface_info_.id();
-  }
-
- protected:
-  BrowserTaskEnvironment task_environment_;
-  std::unique_ptr<BrowserContext> browser_context_;
-  MockRenderWidgetHostDelegate delegate_;
-  BrowserPluginGuestDelegate browser_plugin_guest_delegate_;
-  std::unique_ptr<TestWebContents> web_contents_;
-  TestBrowserPluginGuest* browser_plugin_guest_;
-
-  // Tests should set these to NULL if they've already triggered their
-  // destruction.
-  std::unique_ptr<MockWidgetImpl> widget_impl_;
-  RenderWidgetHostImpl* widget_host_;
-  RenderWidgetHostViewGuest* view_;
-
- private:
-  mojo::Remote<viz::mojom::CompositorFrameSinkClient>
-      renderer_compositor_frame_sink_remote_;
-
-  DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewGuestSurfaceTest);
-};
-
-}  // namespace content
diff --git a/content/browser/keyboard_lock_browsertest.cc b/content/browser/keyboard_lock_browsertest.cc
index 0687ac9..9c499a8 100644
--- a/content/browser/keyboard_lock_browsertest.cc
+++ b/content/browser/keyboard_lock_browsertest.cc
@@ -126,8 +126,8 @@
 
 class TestRenderWidgetHostView : public RenderWidgetHostViewAura {
  public:
-  TestRenderWidgetHostView(RenderWidgetHost* host, bool is_guest_view_hack)
-      : RenderWidgetHostViewAura(host, is_guest_view_hack) {}
+  TestRenderWidgetHostView(RenderWidgetHost* host)
+      : RenderWidgetHostViewAura(host) {}
   ~TestRenderWidgetHostView() override {}
 
   bool HasFocus() override { return g_window_has_focus; }
@@ -207,9 +207,8 @@
 
 void InstallCreateHooksForKeyboardLockBrowserTests() {
   WebContentsViewAura::InstallCreateHookForTests(
-      [](RenderWidgetHost* host,
-         bool is_guest_view_hack) -> RenderWidgetHostViewAura* {
-        return new TestRenderWidgetHostView(host, is_guest_view_hack);
+      [](RenderWidgetHost* host) -> RenderWidgetHostViewAura* {
+        return new TestRenderWidgetHostView(host);
       });
 }
 
diff --git a/content/browser/keyboard_lock_browsertest_mac.mm b/content/browser/keyboard_lock_browsertest_mac.mm
index 5f743f4..58218c2 100644
--- a/content/browser/keyboard_lock_browsertest_mac.mm
+++ b/content/browser/keyboard_lock_browsertest_mac.mm
@@ -16,8 +16,8 @@
 
 class TestRenderWidgetHostView : public RenderWidgetHostViewMac {
  public:
-  TestRenderWidgetHostView(RenderWidgetHost* host, bool is_guest_view_hack)
-      : RenderWidgetHostViewMac(host, is_guest_view_hack) {}
+  TestRenderWidgetHostView(RenderWidgetHost* host)
+      : RenderWidgetHostViewMac(host) {}
   ~TestRenderWidgetHostView() override {}
 
   bool HasFocus() override { return g_window_has_focus; }
@@ -30,9 +30,8 @@
 
 void InstallCreateHooksForKeyboardLockBrowserTests() {
   WebContentsViewMac::InstallCreateHookForTests(
-      [](RenderWidgetHost* host,
-         bool is_guest_view_hack) -> RenderWidgetHostViewMac* {
-        return new TestRenderWidgetHostView(host, is_guest_view_hack);
+      [](RenderWidgetHost* host) -> RenderWidgetHostViewMac* {
+        return new TestRenderWidgetHostView(host);
       });
 }
 
diff --git a/content/browser/pointer_lock_browsertest.cc b/content/browser/pointer_lock_browsertest.cc
index e9b3cfaa..a00720d 100644
--- a/content/browser/pointer_lock_browsertest.cc
+++ b/content/browser/pointer_lock_browsertest.cc
@@ -54,9 +54,8 @@
 
 class MockPointerLockRenderWidgetHostView : public RenderWidgetHostViewAura {
  public:
-  MockPointerLockRenderWidgetHostView(RenderWidgetHost* host,
-                                      bool is_guest_view_hack)
-      : RenderWidgetHostViewAura(host, is_guest_view_hack),
+  MockPointerLockRenderWidgetHostView(RenderWidgetHost* host)
+      : RenderWidgetHostViewAura(host),
         host_(RenderWidgetHostImpl::From(host)) {}
   ~MockPointerLockRenderWidgetHostView() override {
     if (IsMouseLocked())
@@ -97,10 +96,8 @@
 
 void InstallCreateHooksForPointerLockBrowserTests() {
   WebContentsViewAura::InstallCreateHookForTests(
-      [](RenderWidgetHost* host,
-         bool is_guest_view_hack) -> RenderWidgetHostViewAura* {
-        return new MockPointerLockRenderWidgetHostView(host,
-                                                       is_guest_view_hack);
+      [](RenderWidgetHost* host) -> RenderWidgetHostViewAura* {
+        return new MockPointerLockRenderWidgetHostView(host);
       });
 }
 #endif  // USE_AURA
diff --git a/content/browser/pointer_lock_browsertest_mac.mm b/content/browser/pointer_lock_browsertest_mac.mm
index 8b8d914..e2cbbaa 100644
--- a/content/browser/pointer_lock_browsertest_mac.mm
+++ b/content/browser/pointer_lock_browsertest_mac.mm
@@ -12,9 +12,8 @@
 
 class MockPointerLockRenderWidgetHostView : public RenderWidgetHostViewMac {
  public:
-  MockPointerLockRenderWidgetHostView(RenderWidgetHost* host,
-                                      bool is_guest_view_hack)
-      : RenderWidgetHostViewMac(host, is_guest_view_hack) {}
+  MockPointerLockRenderWidgetHostView(RenderWidgetHost* host)
+      : RenderWidgetHostViewMac(host) {}
   ~MockPointerLockRenderWidgetHostView() override {
     if (mouse_locked_)
       UnlockMouse();
@@ -45,10 +44,8 @@
 
 void InstallCreateHooksForPointerLockBrowserTests() {
   WebContentsViewMac::InstallCreateHookForTests(
-      [](RenderWidgetHost* host,
-         bool is_guest_view_hack) -> RenderWidgetHostViewMac* {
-        return new MockPointerLockRenderWidgetHostView(host,
-                                                       is_guest_view_hack);
+      [](RenderWidgetHost* host) -> RenderWidgetHostViewMac* {
+        return new MockPointerLockRenderWidgetHostView(host);
       });
 }
 
diff --git a/content/browser/renderer_host/DEPS b/content/browser/renderer_host/DEPS
index bf0446d..11dd06ac 100644
--- a/content/browser/renderer_host/DEPS
+++ b/content/browser/renderer_host/DEPS
@@ -54,16 +54,4 @@
   "render_widget_host_view_event_handler\.cc": [
     "+content/browser/frame_host",
   ],
-  # RenderWidgetHostViewGuest dependency is needed to allow for routing mouse
-  # events to the correct owner RenderWidgetHostViewBase. It should be removed
-  # when all inner WebContents are based on OOPIF structure (as opposed to
-  # BrowserPlugin).
-  # TODO(kenrb, wjmaclean): Remove this when RenderWidgetHostViewGuest is
-  # deleted. See https://crbug.com/533069.
-  "render_widget_host_input_event_router.cc": [
-    "+content/browser/frame_host/render_widget_host_view_guest.h",
-  ],
-  "render_widget_host_view_base\.cc": [
-    "+content/browser/frame_host/render_widget_host_view_guest.h",
-  ],
 }
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 53c208c..99b1214 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -826,8 +826,7 @@
   visual_properties.compositor_viewport_pixel_rect =
       gfx::Rect(view_->GetCompositorViewportPixelSize());
 
-  const bool is_child_frame = view_->IsRenderWidgetHostViewChildFrame() &&
-                              !view_->IsRenderWidgetHostViewGuest();
+  const bool is_child_frame = view_->IsRenderWidgetHostViewChildFrame();
   // These properties come from the main frame RenderWidget and flow down the
   // tree of RenderWidgets. Each child frame RenderWidgetHost gets its values
   // from their parent RenderWidget in the renderer process. It gives them to
diff --git a/content/browser/renderer_host/render_widget_host_input_event_router.cc b/content/browser/renderer_host/render_widget_host_input_event_router.cc
index 753ac8b6..dbe9829 100644
--- a/content/browser/renderer_host/render_widget_host_input_event_router.cc
+++ b/content/browser/renderer_host/render_widget_host_input_event_router.cc
@@ -19,7 +19,6 @@
 #include "components/viz/host/host_frame_sink_manager.h"
 #include "components/viz/service/surfaces/surface_manager.h"
 #include "content/browser/compositor/surface_utils.h"
-#include "content/browser/frame_host/render_widget_host_view_guest.h"
 #include "content/browser/renderer_host/cursor_manager.h"
 #include "content/browser/renderer_host/input/touch_emulator.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
@@ -584,7 +583,7 @@
   auto* view = FindViewFromFrameSinkId(frame_sink_id);
   // Send the event to |root_view| if |view| is not in |root_view|'s sub-tree
   // anymore.
-  if (!view || (RenderWidgetHostViewGuest::GetRootView(view) != root_view)) {
+  if (!view) {
     view = root_view;
     *transformed_point = point;
   }
diff --git a/content/browser/renderer_host/render_widget_host_unittest.cc b/content/browser/renderer_host/render_widget_host_unittest.cc
index d257dab..5ced029 100644
--- a/content/browser/renderer_host/render_widget_host_unittest.cc
+++ b/content/browser/renderer_host/render_widget_host_unittest.cc
@@ -1017,7 +1017,7 @@
 TEST_F(RenderWidgetHostTest, Background) {
   std::unique_ptr<RenderWidgetHostViewBase> view;
 #if defined(USE_AURA)
-  view.reset(new RenderWidgetHostViewAura(host_.get(), false));
+  view.reset(new RenderWidgetHostViewAura(host_.get()));
   // TODO(derat): Call this on all platforms: http://crbug.com/102450.
   view->InitAsChild(nullptr);
 #elif defined(OS_ANDROID)
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index 65dfdfea..ff143398 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -2419,8 +2419,6 @@
     RenderWidgetHostView* view) {
   DCHECK(!static_cast<RenderWidgetHostViewBase*>(view)
               ->IsRenderWidgetHostViewChildFrame());
-  DCHECK(!static_cast<RenderWidgetHostViewBase*>(view)
-              ->IsRenderWidgetHostViewGuest());
   base::Optional<SkColor> color = view->GetBackgroundColor();
   if (color)
     SetBackgroundColor(*color);
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index b4d69fb..a6415cd 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -344,8 +344,7 @@
 // RenderWidgetHostViewAura, public:
 
 RenderWidgetHostViewAura::RenderWidgetHostViewAura(
-    RenderWidgetHost* widget_host,
-    bool is_guest_view_hack)
+    RenderWidgetHost* widget_host)
     : RenderWidgetHostViewBase(widget_host),
       window_(nullptr),
       in_shutdown_(false),
@@ -361,15 +360,12 @@
       legacy_render_widget_host_HWND_(nullptr),
       legacy_window_destroyed_(false),
 #endif
-      is_guest_view_hack_(is_guest_view_hack),
       device_scale_factor_(0.0f),
       event_handler_(new RenderWidgetHostViewEventHandler(host(), this, this)),
-      frame_sink_id_(is_guest_view_hack_ ? AllocateFrameSinkIdForGuestViewHack()
-                                         : host()->GetFrameSinkId()) {
+      frame_sink_id_(host()->GetFrameSinkId()) {
   CreateDelegatedFrameHostClient();
 
-  if (!is_guest_view_hack_)
-    host()->SetView(this);
+  host()->SetView(this);
 
   // We should start observing the TextInputManager for IME-related events as
   // well as monitoring its lifetime.
@@ -1949,8 +1945,7 @@
 
 RenderWidgetHostViewAura::~RenderWidgetHostViewAura() {
   // Ask the RWH to drop reference to us.
-  if (!is_guest_view_hack_)
-    host()->ViewDestroyed();
+  host()->ViewDestroyed();
 
   selection_controller_.reset();
   selection_controller_client_.reset();
@@ -2151,13 +2146,8 @@
 RenderWidgetHostViewBase*
 RenderWidgetHostViewAura::GetFocusedViewForTextSelection() {
   // We obtain the TextSelection from focused RWH which is obtained from the
-  // frame tree. BrowserPlugin-based guests' RWH is not part of the frame tree
-  // and the focused RWH will be that of the embedder which is incorrect. In
-  // this case we should use TextSelection for |this| since RWHV for guest
-  // forwards text selection information to its platform view.
-  return is_guest_view_hack_
-             ? this
-             : GetFocusedWidget() ? GetFocusedWidget()->GetView() : nullptr;
+  // frame tree.
+  return GetFocusedWidget() ? GetFocusedWidget()->GetView() : nullptr;
 }
 
 void RenderWidgetHostViewAura::Shutdown() {
@@ -2479,14 +2469,9 @@
     return;
 
   // We obtain the TextSelection from focused RWH which is obtained from the
-  // frame tree. BrowserPlugin-based guests' RWH is not part of the frame tree
-  // and the focused RWH will be that of the embedder which is incorrect. In
-  // this case we should use TextSelection for |this| since RWHV for guest
-  // forwards text selection information to its platform view.
+  // frame tree.
   RenderWidgetHostViewBase* focused_view =
-      is_guest_view_hack_
-          ? this
-          : GetFocusedWidget() ? GetFocusedWidget()->GetView() : nullptr;
+      GetFocusedWidget() ? GetFocusedWidget()->GetView() : nullptr;
 
   if (!focused_view)
     return;
@@ -2573,14 +2558,6 @@
   is_first_navigation_ = false;
 }
 
-// static
-viz::FrameSinkId
-RenderWidgetHostViewAura::AllocateFrameSinkIdForGuestViewHack() {
-  return ImageTransportFactory::GetInstance()
-      ->GetContextFactoryPrivate()
-      ->AllocateFrameSinkId();
-}
-
 MouseWheelPhaseHandler* RenderWidgetHostViewAura::GetMouseWheelPhaseHandler() {
   return &event_handler_->mouse_wheel_phase_handler();
 }
@@ -2589,8 +2566,6 @@
     RenderWidgetHostView* view) {
   DCHECK(!static_cast<RenderWidgetHostViewBase*>(view)
               ->IsRenderWidgetHostViewChildFrame());
-  DCHECK(!static_cast<RenderWidgetHostViewBase*>(view)
-              ->IsRenderWidgetHostViewGuest());
   RenderWidgetHostViewAura* view_aura =
       static_cast<RenderWidgetHostViewAura*>(view);
   base::Optional<SkColor> color = view_aura->GetBackgroundColor();
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
index 8b9ae50..dbffcf02 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -89,12 +89,7 @@
       public aura::client::FocusChangeObserver,
       public aura::client::CursorClientObserver {
  public:
-  // When |is_guest_view_hack| is true, this view isn't really the view for
-  // the |widget|, a RenderWidgetHostViewGuest is.
-  //
-  // TODO(lazyboy): Remove |is_guest_view_hack| once BrowserPlugin has migrated
-  // to use RWHVChildFrame (http://crbug.com/330264).
-  RenderWidgetHostViewAura(RenderWidgetHost* host, bool is_guest_view_hack);
+  RenderWidgetHostViewAura(RenderWidgetHost* host);
 
   // RenderWidgetHostView implementation.
   void InitAsChild(gfx::NativeView parent_view) override;
@@ -459,13 +454,6 @@
   friend void VerifyStaleContentOnFrameEviction(
       RenderWidgetHostView* render_widget_host_view);
 
-  // Allocate a new FrameSinkId if this object is the platform view of a
-  // RenderWidgetHostViewGuest. This FrameSinkId will not be actually used in
-  // any useful way. It's only created because this object always expects to
-  // have a FrameSinkId. FrameSinkIds generated by this method do not
-  // collide with FrameSinkIds used by RenderWidgetHostImpls.
-  static viz::FrameSinkId AllocateFrameSinkIdForGuestViewHack();
-
   void CreateAuraWindow(aura::client::WindowType type);
 
   // Returns true if a stale frame content needs to be set for the current RWHV.
@@ -659,10 +647,6 @@
 
   std::unique_ptr<wm::ScopedTooltipDisabler> tooltip_disabler_;
 
-  // True when this view acts as a platform view hack for a
-  // RenderWidgetHostViewGuest.
-  bool is_guest_view_hack_;
-
   float device_scale_factor_;
 
   viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink_ =
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
index 138e6032..a533ec7 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
@@ -44,7 +44,6 @@
 #include "components/viz/test/test_latest_local_surface_id_lookup_delegate.h"
 #include "content/browser/browser_main_loop.h"
 #include "content/browser/compositor/test/test_image_transport_factory.h"
-#include "content/browser/frame_host/render_widget_host_view_guest.h"
 #include "content/browser/gpu/compositor_util.h"
 #include "content/browser/renderer_host/delegated_frame_host.h"
 #include "content/browser/renderer_host/delegated_frame_host_client_aura.h"
@@ -243,10 +242,8 @@
 
 class FakeRenderWidgetHostViewAura : public RenderWidgetHostViewAura {
  public:
-  FakeRenderWidgetHostViewAura(RenderWidgetHost* widget,
-                               bool is_guest_view_hack)
-      : RenderWidgetHostViewAura(widget, is_guest_view_hack),
-        is_guest_view_hack_(is_guest_view_hack),
+  FakeRenderWidgetHostViewAura(RenderWidgetHost* widget)
+      : RenderWidgetHostViewAura(widget),
         delegated_frame_host_client_(
             new FakeDelegatedFrameHostClientAura(this)) {
     InstallDelegatedFrameHostClient(
@@ -310,15 +307,12 @@
         metadata);
   }
 
-  bool is_guest_view_hack() { return is_guest_view_hack_; }
-
   gfx::Size last_frame_size_;
   FakeWindowEventDispatcher* dispatcher_;
   std::unique_ptr<FakeRendererCompositorFrameSink>
       renderer_compositor_frame_sink_;
 
  private:
-  bool is_guest_view_hack_;
   FakeDelegatedFrameHostClientAura* delegated_frame_host_client_;
   mojo::Remote<viz::mojom::CompositorFrameSinkClient>
       renderer_compositor_frame_sink_remote_;
@@ -487,8 +481,7 @@
 class RenderWidgetHostViewAuraTest : public testing::Test {
  public:
   RenderWidgetHostViewAuraTest()
-      : widget_host_uses_shutdown_to_destroy_(false),
-        is_guest_view_hack_(false) {
+      : widget_host_uses_shutdown_to_destroy_(false) {
     ui::GestureConfiguration::GetInstance()->set_scroll_debounce_interval_in_ms(
         0);
   }
@@ -508,25 +501,22 @@
         false /* should_register_frame_sink_id */);
   }
 
-  FakeRenderWidgetHostViewAura* CreateView(bool is_guest_view_hack) {
+  FakeRenderWidgetHostViewAura* CreateView() {
     int32_t routing_id = process_host_->GetNextRoutingID();
     delegates_.push_back(base::WrapUnique(new MockRenderWidgetHostDelegate));
     auto* widget_host = MockRenderWidgetHostImpl::Create(
         delegates_.back().get(), process_host_, routing_id);
     delegates_.back()->set_widget_host(widget_host);
     widget_host->Init();
-    return new FakeRenderWidgetHostViewAura(widget_host, is_guest_view_hack);
+    return new FakeRenderWidgetHostViewAura(widget_host);
   }
 
   void DestroyView(FakeRenderWidgetHostViewAura* view) {
     // For guest-views, |view_| is not the view used by |widget_host_|.
-    bool is_guest_view_hack = view->is_guest_view_hack();
     RenderWidgetHostImpl* host = view->host();
-    if (!is_guest_view_hack)
-      EXPECT_EQ(view, host->GetView());
+    EXPECT_EQ(view, host->GetView());
     view->Destroy();
-    if (!is_guest_view_hack)
-      EXPECT_EQ(nullptr, host->GetView());
+    EXPECT_EQ(nullptr, host->GetView());
 
     if (widget_host_uses_shutdown_to_destroy_)
       host->ShutdownAndDestroyWidget(true);
@@ -554,13 +544,12 @@
     parent_host_ = MockRenderWidgetHostImpl::Create(delegates_.back().get(),
                                                     process_host_, routing_id);
     delegates_.back()->set_widget_host(parent_host_);
-    parent_view_ =
-        new RenderWidgetHostViewAura(parent_host_, is_guest_view_hack_);
+    parent_view_ = new RenderWidgetHostViewAura(parent_host_);
     parent_view_->InitAsChild(nullptr);
     aura::client::ParentWindowWithContext(parent_view_->GetNativeView(),
                                           aura_test_helper_->root_window(),
                                           gfx::Rect());
-    view_ = CreateView(is_guest_view_hack_);
+    view_ = CreateView();
     widget_host_ = static_cast<MockRenderWidgetHostImpl*>(view_->host());
     // Set the mouse_wheel_phase_handler_ timer timeout to 100ms.
     view_->event_handler()->set_mouse_wheel_wheel_phase_handler_timeout(
@@ -670,8 +659,6 @@
   // If true, then calls RWH::Shutdown() instead of deleting RWH.
   bool widget_host_uses_shutdown_to_destroy_;
 
-  bool is_guest_view_hack_;
-
   BrowserTaskEnvironment task_environment_;
   std::unique_ptr<aura::test::AuraTestHelper> aura_test_helper_;
   std::unique_ptr<BrowserContext> browser_context_;
@@ -716,25 +703,11 @@
     set_widget_host_uses_shutdown_to_destroy(true);
   }
 
-  // We explicitly invoke SetUp to allow gesture debounce customization.
-  void SetUp() override {
-    is_guest_view_hack_ = true;
-
-    RenderWidgetHostViewAuraTest::SetUp();
-
-    guest_view_weak_ = (RenderWidgetHostViewGuest::Create(widget_host_, nullptr,
-                                                          view_->GetWeakPtr()))
-                           ->GetWeakPtr();
-  }
-
   void TearDown() override {
     // Internal override to do nothing, we clean up ourselves in the test body.
     // This helps us test that |guest_view_weak_| does not leak.
   }
 
- protected:
-  base::WeakPtr<RenderWidgetHostViewBase> guest_view_weak_;
-
  private:
 
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewGuestAuraTest);
@@ -3528,7 +3501,7 @@
                                                 process_host_, routing_id);
     delegates_.back()->set_widget_host(hosts[i]);
     hosts[i]->Init();
-    views[i] = new FakeRenderWidgetHostViewAura(hosts[i], false);
+    views[i] = new FakeRenderWidgetHostViewAura(hosts[i]);
     // Prevent frames from being skipped due to resize, this test does not
     // run a UI compositor so the DelegatedFrameHost doesn't get the chance
     // to release its resize lock once it receives a frame of the expected
@@ -3642,7 +3615,7 @@
                                                 process_host_, routing_id);
     delegates_.back()->set_widget_host(hosts[i]);
     hosts[i]->Init();
-    views[i] = new FakeRenderWidgetHostViewAura(hosts[i], false);
+    views[i] = new FakeRenderWidgetHostViewAura(hosts[i]);
     views[i]->InitAsChild(nullptr);
     aura::client::ParentWindowWithContext(
         views[i]->GetNativeView(),
@@ -5259,14 +5232,6 @@
 }
 #endif  // defined(OS_CHROMEOS)
 
-// Tests that when view initiated shutdown happens (i.e. RWHView is deleted
-// before RWH), we clean up properly and don't leak the RWHVGuest.
-TEST_F(RenderWidgetHostViewGuestAuraTest, GuestViewDoesNotLeak) {
-  view_->InitAsChild(nullptr);
-  TearDownEnvironment();
-  ASSERT_FALSE(guest_view_weak_.get());
-}
-
 // Tests that invalid touch events are consumed and handled
 // synchronously.
 TEST_F(RenderWidgetHostViewAuraTest,
@@ -5900,7 +5865,7 @@
   view_->Show();
 
   // Create and initialize the second view.
-  FakeRenderWidgetHostViewAura* view2 = CreateView(false);
+  FakeRenderWidgetHostViewAura* view2 = CreateView();
   view2->InitAsChild(nullptr);
   aura::client::ParentWindowWithContext(
       view2->GetNativeView(), parent_view_->GetNativeView()->GetRootWindow(),
@@ -5933,7 +5898,7 @@
     delete contents()->GetRenderViewHost()->GetWidget()->GetView();
     // This instance is destroyed in the TearDown method below.
     view_ = new RenderWidgetHostViewAura(
-        contents()->GetRenderViewHost()->GetWidget(), false);
+        contents()->GetRenderViewHost()->GetWidget());
   }
 
   void TearDown() override {
diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc
index ce5ca1a..6a7254a 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.cc
+++ b/content/browser/renderer_host/render_widget_host_view_base.cc
@@ -13,7 +13,6 @@
 #include "components/viz/service/frame_sinks/frame_sink_manager_impl.h"
 #include "content/browser/accessibility/browser_accessibility_manager.h"
 #include "content/browser/compositor/surface_utils.h"
-#include "content/browser/frame_host/render_widget_host_view_guest.h"
 #include "content/browser/gpu/gpu_data_manager_impl.h"
 #include "content/browser/renderer_host/delegated_frame_host.h"
 #include "content/browser/renderer_host/display_util.h"
@@ -53,9 +52,9 @@
   // away. However, some subclasses may wish to call this earlier in their
   // shutdown process, e.g. to force removal from
   // RenderWidgetHostInputEventRouter's surface map before relinquishing a
-  // host pointer, as in RenderWidgetHostViewGuest. There is no harm in calling
-  // NotifyObserversAboutShutdown() twice, as the observers are required to
-  // de-register on the first call, and so the second call does nothing.
+  // host pointer. There is no harm in calling NotifyObserversAboutShutdown()
+  // twice, as the observers are required to de-register on the first call, and
+  // so the second call does nothing.
   NotifyObserversAboutShutdown();
   // If we have a live reference to |text_input_manager_|, we should unregister
   // so that the |text_input_manager_| will free its state.
@@ -682,10 +681,6 @@
   return true;
 }
 
-bool RenderWidgetHostViewBase::IsRenderWidgetHostViewGuest() {
-  return false;
-}
-
 bool RenderWidgetHostViewBase::IsRenderWidgetHostViewChildFrame() {
   return false;
 }
@@ -823,13 +818,8 @@
 
   RenderWidgetHostViewBase* cur_view = target_view;
   while (cur_view->IsRenderWidgetHostViewChildFrame()) {
-    if (cur_view->IsRenderWidgetHostViewGuest()) {
-      cur_view = static_cast<RenderWidgetHostViewGuest*>(cur_view)
-                     ->GetOwnerRenderWidgetHostView();
-    } else {
-      cur_view = static_cast<RenderWidgetHostViewChildFrame*>(cur_view)
-                     ->GetParentView();
-    }
+    cur_view =
+        static_cast<RenderWidgetHostViewChildFrame*>(cur_view)->GetParentView();
     if (!cur_view)
       return false;
     target_ancestors.push_back(cur_view->GetFrameSinkId());
diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
index f299bb0..68b8881bc 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.h
+++ b/content/browser/renderer_host/render_widget_host_view_base.h
@@ -386,13 +386,6 @@
   bool GetTransformToViewCoordSpace(RenderWidgetHostViewBase* target_view,
                                     gfx::Transform* transform);
 
-  // TODO(kenrb, wjmaclean): This is a temporary subclass identifier for
-  // RenderWidgetHostViewGuests that is needed for special treatment during
-  // input event routing. It can be removed either when RWHVGuests properly
-  // support direct mouse event routing, or when RWHVGuest is removed
-  // entirely, which comes first.
-  virtual bool IsRenderWidgetHostViewGuest();
-
   // Subclass identifier for RenderWidgetHostViewChildFrames. This is useful
   // to be able to know if this RWHV is embedded within another RWHV. If
   // other kinds of embeddable RWHVs are created, this should be renamed to
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
index 16a8769..fb8589f 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
@@ -87,12 +87,7 @@
   // The view will associate itself with the given widget. The native view must
   // be hooked up immediately to the view hierarchy, or else when it is
   // deleted it will delete this out from under the caller.
-  //
-  // When |is_guest_view_hack| is true, this view isn't really the view for
-  // the |widget|, a RenderWidgetHostViewGuest is.
-  // TODO(lazyboy): Remove |is_guest_view_hack| once BrowserPlugin has migrated
-  // to use RWHVChildFrame (http://crbug.com/330264).
-  RenderWidgetHostViewMac(RenderWidgetHost* widget, bool is_guest_view_hack);
+  RenderWidgetHostViewMac(RenderWidgetHost* widget);
 
   RenderWidgetHostViewCocoa* GetInProcessNSView() const;
 
@@ -432,10 +427,7 @@
   // (accepting IME and keyboard input).
   const TextInputManager::CompositionRangeInfo* GetCompositionRangeInfo();
 
-  // Returns the TextSelection information for the active widget. If
-  // |is_guest_view_hack_| is true, then it will return the TextSelection
-  // information for this RenderWidgetHostViewMac (which is serving as a
-  // platform view for a guest).
+  // Returns the TextSelection information for the active widget.
   const TextInputManager::TextSelection* GetTextSelection();
 
   // Get the focused view that should be used for retrieving the text selection.
@@ -488,13 +480,6 @@
   friend class MockPointerLockRenderWidgetHostView;
   FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewMacTest, GetPageTextForSpeech);
 
-  // Allocate a new FrameSinkId if this object is the platform view of a
-  // RenderWidgetHostViewGuest. This FrameSinkId will not be actually used in
-  // any useful way. It's only created because BrowserCompositorMac always
-  // expects to have a FrameSinkId. FrameSinkIds generated by this method do not
-  // collide with FrameSinkIds used by RenderWidgetHostImpls.
-  static viz::FrameSinkId AllocateFrameSinkIdForGuestViewHack();
-
   // Shuts down the render_widget_host_.  This is a separate function so we can
   // invoke it from the message loop.
   void ShutdownHost();
@@ -570,10 +555,6 @@
   // Indicates if the page is loading.
   bool is_loading_;
 
-  // True when this view acts as a platform view hack for a
-  // RenderWidgetHostViewGuest.
-  bool is_guest_view_hack_;
-
   // Our parent host view, if this is a popup.  NULL otherwise.
   RenderWidgetHostViewMac* popup_parent_host_view_;
 
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 c8b2075c..275caf5 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -169,13 +169,11 @@
 ///////////////////////////////////////////////////////////////////////////////
 // RenderWidgetHostViewMac, public:
 
-RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget,
-                                                 bool is_guest_view_hack)
+RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget)
     : RenderWidgetHostViewBase(widget),
       page_at_minimum_scale_(true),
       mouse_wheel_phase_handler_(this),
       is_loading_(false),
-      is_guest_view_hack_(is_guest_view_hack),
       popup_parent_host_view_(nullptr),
       popup_child_host_view_(nullptr),
       gesture_provider_(ui::GetGestureProviderConfig(
@@ -194,16 +192,13 @@
   display_ =
       display::Screen::GetScreen()->GetDisplayNearestWindow([NSApp keyWindow]);
 
-  viz::FrameSinkId frame_sink_id = is_guest_view_hack_
-                                       ? AllocateFrameSinkIdForGuestViewHack()
-                                       : host()->GetFrameSinkId();
+  viz::FrameSinkId frame_sink_id = host()->GetFrameSinkId();
 
   browser_compositor_.reset(new BrowserCompositorMac(
       this, this, host()->is_hidden(), display_, frame_sink_id));
   DCHECK(![GetInProcessNSView() window]);
 
-  if (!is_guest_view_hack_)
-    host()->SetView(this);
+  host()->SetView(this);
 
   // Let the page-level input event router know about our surface ID
   // namespace for surface-based hit testing.
@@ -374,13 +369,8 @@
 RenderWidgetHostViewBase*
 RenderWidgetHostViewMac::GetFocusedViewForTextSelection() {
   // We obtain the TextSelection from focused RWH which is obtained from the
-  // frame tree. BrowserPlugin-based guests' RWH is not part of the frame tree
-  // and the focused RWH will be that of the embedder which is incorrect. In
-  // this case we should use TextSelection for |this| since RWHV for guest
-  // forwards text selection information to its platform view.
-  return is_guest_view_hack_
-             ? this
-             : GetFocusedWidget() ? GetFocusedWidget()->GetView() : nullptr;
+  // frame tree.
+  return GetFocusedWidget() ? GetFocusedWidget()->GetView() : nullptr;
 }
 
 RenderWidgetHostDelegate*
@@ -880,8 +870,6 @@
     RenderWidgetHostView* view) {
   DCHECK(!static_cast<RenderWidgetHostViewBase*>(view)
               ->IsRenderWidgetHostViewChildFrame());
-  DCHECK(!static_cast<RenderWidgetHostViewBase*>(view)
-              ->IsRenderWidgetHostViewGuest());
   RenderWidgetHostViewMac* view_mac =
       static_cast<RenderWidgetHostViewMac*>(view);
   ScopedCAActionDisabler disabler;
@@ -1398,14 +1386,6 @@
     password_input_enabler_.reset();
 }
 
-// static
-viz::FrameSinkId
-RenderWidgetHostViewMac::AllocateFrameSinkIdForGuestViewHack() {
-  return ImageTransportFactory::GetInstance()
-      ->GetContextFactoryPrivate()
-      ->AllocateFrameSinkId();
-}
-
 MouseWheelPhaseHandler* RenderWidgetHostViewMac::GetMouseWheelPhaseHandler() {
   return &mouse_wheel_phase_handler_;
 }
diff --git a/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm b/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm
index 67e7b0a3..be927b9 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm
@@ -157,7 +157,7 @@
 
     // Owned by its |GetInProcessNSView()|, i.e. |rwhv_cocoa|.
     RenderWidgetHostViewMac* rwhv_mac =
-        new RenderWidgetHostViewMac(render_widget, false);
+        new RenderWidgetHostViewMac(render_widget);
     base::scoped_nsobject<RenderWidgetHostViewCocoa> rwhv_cocoa(
         [rwhv_mac->GetInProcessNSView() retain]);
 
diff --git a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
index cee79138..82183a1 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
@@ -26,7 +26,6 @@
 #include "components/viz/common/surfaces/child_local_surface_id_allocator.h"
 #import "content/app_shim_remote_cocoa/render_widget_host_view_cocoa.h"
 #include "content/browser/compositor/image_transport_factory.h"
-#include "content/browser/frame_host/render_widget_host_view_guest.h"
 #include "content/browser/gpu/compositor_util.h"
 #include "content/browser/renderer_host/frame_token_message_queue.h"
 #include "content/browser/renderer_host/render_widget_host_delegate.h"
@@ -495,7 +494,7 @@
     host_ = base::WrapUnique(MockRenderWidgetHostImpl::Create(
         &delegate_, process_host_.get(), process_host_->GetNextRoutingID()));
     host_->set_owner_delegate(&mock_owner_delegate_);
-    rwhv_mac_ = new RenderWidgetHostViewMac(host_.get(), false);
+    rwhv_mac_ = new RenderWidgetHostViewMac(host_.get());
     rwhv_cocoa_.reset([rwhv_mac_->GetInProcessNSView() retain]);
 
     window_.reset([[CocoaTestHelperWindow alloc] init]);
@@ -1207,44 +1206,6 @@
   rwhv_cocoa_.reset();
 }
 
-// Tests that when view initiated shutdown happens (i.e. RWHView is deleted
-// before RWH), we clean up properly and don't leak the RWHVGuest.
-TEST_F(RenderWidgetHostViewMacTest, GuestViewDoesNotLeak) {
-  int32_t routing_id = process_host_->GetNextRoutingID();
-
-  // Owned by its |GetInProcessNSView()|.
-  MockRenderWidgetHostImpl* rwh = MockRenderWidgetHostImpl::Create(
-      &delegate_, process_host_.get(), routing_id);
-  RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, true);
-
-  // Add a delegate to the view.
-  base::scoped_nsobject<MockRenderWidgetHostViewMacDelegate> view_delegate(
-      [[MockRenderWidgetHostViewMacDelegate alloc] init]);
-  view->SetDelegate(view_delegate.get());
-
-  base::WeakPtr<RenderWidgetHostViewBase> guest_rwhv_weak =
-      (RenderWidgetHostViewGuest::Create(rwh, nullptr, view->GetWeakPtr()))
-          ->GetWeakPtr();
-
-  // Remove the GetInProcessNSView() so |view| also goes away before |rwh|.
-  {
-    base::scoped_nsobject<RenderWidgetHostViewCocoa> rwhv_cocoa;
-    rwhv_cocoa.reset([view->GetInProcessNSView() retain]);
-  }
-  RecycleAndWait();
-
-  // Clean up.
-  rwh->ShutdownAndDestroyWidget(true);
-
-  // Let |guest_rwhv_weak| have a chance to delete itself.
-  base::RunLoop run_loop;
-  base::PostTask(FROM_HERE, {content::BrowserThread::UI},
-                 run_loop.QuitClosure());
-  run_loop.Run();
-
-  ASSERT_FALSE(guest_rwhv_weak.get());
-}
-
 // Tests setting background transparency. See also (disabled on Mac)
 // RenderWidgetHostTest.Background. This test has some additional checks for
 // Mac.
@@ -1336,7 +1297,7 @@
   int32_t routing_id = process_host->GetNextRoutingID();
   MockRenderWidgetHostImpl* host =
       MockRenderWidgetHostImpl::Create(&delegate, process_host, routing_id);
-  RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false);
+  RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host);
   base::RunLoop().RunUntilIdle();
 
   // Send an initial wheel event for scrolling by 3 lines.
@@ -1396,7 +1357,7 @@
   int32_t routing_id = process_host->GetNextRoutingID();
   MockRenderWidgetHostImpl* host =
       MockRenderWidgetHostImpl::Create(&delegate, process_host, routing_id);
-  RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false);
+  RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host);
   base::RunLoop().RunUntilIdle();
 
   // Send an initial wheel event for scrolling by 3 lines.
@@ -1452,7 +1413,7 @@
   int32_t routing_id = process_host->GetNextRoutingID();
   MockRenderWidgetHostImpl* host =
       MockRenderWidgetHostImpl::Create(&delegate, process_host, routing_id);
-  RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false);
+  RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host);
   base::RunLoop().RunUntilIdle();
 
   // Send an initial wheel event for scrolling by 3 lines.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 3a5aa31d..c116da56 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -85,7 +85,6 @@
 #include "content/browser/site_instance_impl.h"
 #include "content/browser/web_contents/javascript_dialog_navigation_deferrer.h"
 #include "content/browser/web_contents/web_contents_view_child_frame.h"
-#include "content/browser/web_contents/web_contents_view_guest.h"
 #include "content/browser/webui/web_ui_controller_factory_registry.h"
 #include "content/browser/webui/web_ui_impl.h"
 #include "content/common/browser_plugin/browser_plugin_constants.h"
@@ -2055,11 +2054,6 @@
   } else {
     view_.reset(CreateWebContentsView(this, delegate,
                                       &render_view_host_delegate_view_));
-    if (browser_plugin_guest_) {
-      view_ = std::make_unique<WebContentsViewGuest>(
-          this, browser_plugin_guest_.get(), std::move(view_),
-          &render_view_host_delegate_view_);
-    }
   }
   CHECK(render_view_host_delegate_view_);
   CHECK(view_.get());
@@ -2399,13 +2393,8 @@
 
   // If the focused WebContents is a guest WebContents, then get the focused
   // frame in the embedder WebContents instead.
-  FrameTreeNode* focused_frame = nullptr;
-  if (focused_contents->browser_plugin_guest_ &&
-      !GuestMode::IsCrossProcessFrameGuest(focused_contents)) {
-    focused_frame = frame_tree_.GetFocusedFrame();
-  } else {
-    focused_frame = GetFocusedWebContents()->frame_tree_.GetFocusedFrame();
-  }
+  FrameTreeNode* focused_frame =
+      GetFocusedWebContents()->frame_tree_.GetFocusedFrame();
 
   if (!focused_frame)
     return receiving_widget;
@@ -2429,13 +2418,6 @@
                focused_web_contents->interstitial_page_->GetMainFrame())
         ->GetRenderWidgetHost();
   }
-  if (!GuestMode::IsCrossProcessFrameGuest(focused_web_contents) &&
-      focused_web_contents->browser_plugin_guest_) {
-    // If this is a guest, we need to be controlled by our embedder.
-    return focused_web_contents->GetOuterWebContents()
-        ->GetMainFrame()
-        ->GetRenderWidgetHost();
-  }
 
   return focused_web_contents->GetMainFrame()->GetRenderWidgetHost();
 }
@@ -2912,7 +2894,7 @@
       // TODO(brettw): It seems bogus that we have to call this function on the
       // newly created object and give it one of its own member variables.
       RenderWidgetHostView* widget_view = new_view->CreateViewForWidget(
-          new_contents_impl->GetRenderViewHost()->GetWidget(), false);
+          new_contents_impl->GetRenderViewHost()->GetWidget());
       if (!renderer_started_hidden) {
         // RenderWidgets for frames always initialize as hidden. If the renderer
         // created this window as visible, then we show it here.
@@ -5750,12 +5732,6 @@
 }
 
 WebContentsImpl* WebContentsImpl::GetOuterWebContents() {
-  if (GuestMode::IsCrossProcessFrameGuest(this))
-    return node_.outer_web_contents();
-
-  if (browser_plugin_guest_)
-    return browser_plugin_guest_->embedder_web_contents();
-
   return node_.outer_web_contents();
 }
 
@@ -6251,9 +6227,6 @@
 
   GetOutermostWebContents()->node_.SetFocusedWebContents(this);
 
-  if (!GuestMode::IsCrossProcessFrameGuest(this) && browser_plugin_guest_)
-    return;
-
   // Send a page level blur to the old contents so that it displays inactive UI
   // and focus this contents to activate it.
   if (old_contents)
@@ -6420,11 +6393,6 @@
 
 void WebContentsImpl::FocusOwningWebContents(
     RenderWidgetHostImpl* render_widget_host) {
-  // The PDF plugin still runs as a BrowserPlugin and must go through the
-  // input redirection mechanism. It must not become focused direcly.
-  if (!GuestMode::IsCrossProcessFrameGuest(this) && browser_plugin_guest_)
-    return;
-
   RenderWidgetHostImpl* main_frame_widget_host =
       GetMainFrame()->GetRenderWidgetHost();
   RenderWidgetHostImpl* focused_widget =
@@ -6580,7 +6548,7 @@
 void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
     RenderViewHost* render_view_host) {
   RenderWidgetHostViewBase* rwh_view =
-      view_->CreateViewForWidget(render_view_host->GetWidget(), false);
+      view_->CreateViewForWidget(render_view_host->GetWidget());
   rwh_view->SetSize(GetSizeForNewRenderView(true));
 }
 
diff --git a/content/browser/web_contents/web_contents_view.h b/content/browser/web_contents/web_contents_view.h
index bff5b42..4c5fb180 100644
--- a/content/browser/web_contents/web_contents_view.h
+++ b/content/browser/web_contents/web_contents_view.h
@@ -83,13 +83,8 @@
   // Sets up the View that holds the rendered web page, receives messages for
   // it and contains page plugins. The host view should be sized to the current
   // size of the WebContents.
-  //
-  // |is_guest_view_hack| is temporary hack and will be removed once
-  // RenderWidgetHostViewGuest is not dependent on platform view.
-  // TODO(lazyboy): Remove |is_guest_view_hack| once http://crbug.com/330264 is
-  // fixed.
   virtual RenderWidgetHostViewBase* CreateViewForWidget(
-      RenderWidgetHost* render_widget_host, bool is_guest_view_hack) = 0;
+      RenderWidgetHost* render_widget_host) = 0;
 
   // Creates a new View that holds a non-top-level widget and receives messages
   // for it.
diff --git a/content/browser/web_contents/web_contents_view_android.cc b/content/browser/web_contents/web_contents_view_android.cc
index af081e77..991732d 100644
--- a/content/browser/web_contents/web_contents_view_android.cc
+++ b/content/browser/web_contents/web_contents_view_android.cc
@@ -233,7 +233,7 @@
 void WebContentsViewAndroid::CreateView(gfx::NativeView context) {}
 
 RenderWidgetHostViewBase* WebContentsViewAndroid::CreateViewForWidget(
-    RenderWidgetHost* render_widget_host, bool is_guest_view_hack) {
+    RenderWidgetHost* render_widget_host) {
   if (render_widget_host->GetView()) {
     // During testing, the view will already be set up in most cases to the
     // test view, so we don't want to clobber it with a real one. To verify that
diff --git a/content/browser/web_contents/web_contents_view_android.h b/content/browser/web_contents/web_contents_view_android.h
index 59579dc..63befcc1 100644
--- a/content/browser/web_contents/web_contents_view_android.h
+++ b/content/browser/web_contents/web_contents_view_android.h
@@ -70,8 +70,7 @@
   gfx::Rect GetViewBounds() const override;
   void CreateView(gfx::NativeView context) override;
   RenderWidgetHostViewBase* CreateViewForWidget(
-      RenderWidgetHost* render_widget_host,
-      bool is_guest_view_hack) override;
+      RenderWidgetHost* render_widget_host) override;
   RenderWidgetHostViewBase* CreateViewForChildWidget(
       RenderWidgetHost* render_widget_host) override;
   void SetPageTitle(const base::string16& title) override;
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc
index d8f6e22..75972bb 100644
--- a/content/browser/web_contents/web_contents_view_aura.cc
+++ b/content/browser/web_contents/web_contents_view_aura.cc
@@ -962,7 +962,7 @@
 }
 
 RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
-    RenderWidgetHost* render_widget_host, bool is_guest_view_hack) {
+    RenderWidgetHost* render_widget_host) {
   if (render_widget_host->GetView()) {
     // During testing, the view will already be set up in most cases to the
     // test view, so we don't want to clobber it with a real one. To verify that
@@ -976,10 +976,8 @@
 
   RenderWidgetHostViewAura* view =
       g_create_render_widget_host_view
-          ? g_create_render_widget_host_view(render_widget_host,
-                                             is_guest_view_hack)
-          : new RenderWidgetHostViewAura(render_widget_host,
-                                         is_guest_view_hack);
+          ? g_create_render_widget_host_view(render_widget_host)
+          : new RenderWidgetHostViewAura(render_widget_host);
   view->InitAsChild(GetRenderWidgetHostViewParent());
 
   RenderWidgetHostImpl* host_impl =
@@ -1002,7 +1000,7 @@
 
 RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForChildWidget(
     RenderWidgetHost* render_widget_host) {
-  return new RenderWidgetHostViewAura(render_widget_host, false);
+  return new RenderWidgetHostViewAura(render_widget_host);
 }
 
 void WebContentsViewAura::SetPageTitle(const base::string16& title) {
diff --git a/content/browser/web_contents/web_contents_view_aura.h b/content/browser/web_contents/web_contents_view_aura.h
index 180f4fa0..acdba5f 100644
--- a/content/browser/web_contents/web_contents_view_aura.h
+++ b/content/browser/web_contents/web_contents_view_aura.h
@@ -61,7 +61,7 @@
   }
 
   using RenderWidgetHostViewCreateFunction =
-      RenderWidgetHostViewAura* (*)(RenderWidgetHost*, bool);
+      RenderWidgetHostViewAura* (*)(RenderWidgetHost*);
 
   // Used to override the creation of RenderWidgetHostViews in tests.
   static void InstallCreateHookForTests(
@@ -147,8 +147,7 @@
   gfx::Rect GetViewBounds() const override;
   void CreateView(gfx::NativeView context) override;
   RenderWidgetHostViewBase* CreateViewForWidget(
-      RenderWidgetHost* render_widget_host,
-      bool is_guest_view_hack) override;
+      RenderWidgetHost* render_widget_host) override;
   RenderWidgetHostViewBase* CreateViewForChildWidget(
       RenderWidgetHost* render_widget_host) override;
   void SetPageTitle(const base::string16& title) override;
diff --git a/content/browser/web_contents/web_contents_view_child_frame.cc b/content/browser/web_contents/web_contents_view_child_frame.cc
index a766385..c8cb360 100644
--- a/content/browser/web_contents/web_contents_view_child_frame.cc
+++ b/content/browser/web_contents/web_contents_view_child_frame.cc
@@ -82,8 +82,7 @@
 }
 
 RenderWidgetHostViewBase* WebContentsViewChildFrame::CreateViewForWidget(
-    RenderWidgetHost* render_widget_host,
-    bool is_guest_view_hack) {
+    RenderWidgetHost* render_widget_host) {
   return RenderWidgetHostViewChildFrame::Create(render_widget_host);
 }
 
diff --git a/content/browser/web_contents/web_contents_view_child_frame.h b/content/browser/web_contents/web_contents_view_child_frame.h
index 412bb35..92cbe3d 100644
--- a/content/browser/web_contents/web_contents_view_child_frame.h
+++ b/content/browser/web_contents/web_contents_view_child_frame.h
@@ -38,8 +38,7 @@
   gfx::Rect GetViewBounds() const override;
   void CreateView(gfx::NativeView context) override;
   RenderWidgetHostViewBase* CreateViewForWidget(
-      RenderWidgetHost* render_widget_host,
-      bool is_guest_view_hack) override;
+      RenderWidgetHost* render_widget_host) override;
   RenderWidgetHostViewBase* CreateViewForChildWidget(
       RenderWidgetHost* render_widget_host) override;
   void SetPageTitle(const base::string16& title) override;
diff --git a/content/browser/web_contents/web_contents_view_guest.cc b/content/browser/web_contents/web_contents_view_guest.cc
deleted file mode 100644
index c45581fd..0000000
--- a/content/browser/web_contents/web_contents_view_guest.cc
+++ /dev/null
@@ -1,237 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/browser/web_contents/web_contents_view_guest.h"
-
-#include <utility>
-
-#include "base/metrics/user_metrics.h"
-#include "build/build_config.h"
-#include "content/browser/browser_plugin/browser_plugin_embedder.h"
-#include "content/browser/browser_plugin/browser_plugin_guest.h"
-#include "content/browser/frame_host/interstitial_page_impl.h"
-#include "content/browser/frame_host/render_widget_host_view_guest.h"
-#include "content/browser/renderer_host/display_util.h"
-#include "content/browser/renderer_host/render_view_host_factory.h"
-#include "content/browser/renderer_host/render_view_host_impl.h"
-#include "content/browser/web_contents/web_contents_impl.h"
-#include "content/common/drag_messages.h"
-#include "content/public/browser/guest_mode.h"
-#include "content/public/browser/web_contents_delegate.h"
-#include "content/public/common/context_menu_params.h"
-#include "content/public/common/drop_data.h"
-#include "ui/gfx/geometry/point.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/geometry/size.h"
-#include "ui/gfx/image/image_skia.h"
-
-#if defined(USE_AURA)
-#include "ui/aura/window.h"
-#endif
-
-using blink::WebDragOperation;
-using blink::WebDragOperationsMask;
-
-namespace content {
-
-WebContentsViewGuest::WebContentsViewGuest(
-    WebContentsImpl* web_contents,
-    BrowserPluginGuest* guest,
-    std::unique_ptr<WebContentsView> platform_view,
-    RenderViewHostDelegateView** delegate_view)
-    : web_contents_(web_contents),
-      guest_(guest),
-      platform_view_(std::move(platform_view)),
-      platform_view_delegate_view_(*delegate_view) {
-  *delegate_view = this;
-  DCHECK(!GuestMode::IsCrossProcessFrameGuest(web_contents));
-}
-
-WebContentsViewGuest::~WebContentsViewGuest() {
-}
-
-gfx::NativeView WebContentsViewGuest::GetNativeView() const {
-  return platform_view_->GetNativeView();
-}
-
-gfx::NativeView WebContentsViewGuest::GetContentNativeView() const {
-  RenderWidgetHostView* rwhv = web_contents_->GetRenderWidgetHostView();
-  if (!rwhv)
-    return nullptr;
-  return rwhv->GetNativeView();
-}
-
-gfx::NativeWindow WebContentsViewGuest::GetTopLevelNativeWindow() const {
-  return guest_->embedder_web_contents()->GetTopLevelNativeWindow();
-}
-
-void WebContentsViewGuest::OnGuestAttached(WebContentsView* parent_view) {
-#if defined(USE_AURA)
-  // In aura, ScreenPositionClient doesn't work properly if we do
-  // not have the native view associated with this WebContentsViewGuest in the
-  // view hierarchy. We add this view as embedder's child here.
-  // This would go in WebContentsViewGuest::CreateView, but that is too early to
-  // access embedder_web_contents(). Therefore, we do it here.
-  parent_view->GetNativeView()->AddChild(platform_view_->GetNativeView());
-#endif  // defined(USE_AURA)
-}
-
-void WebContentsViewGuest::OnGuestDetached(WebContentsView* old_parent_view) {
-#if defined(USE_AURA)
-  old_parent_view->GetNativeView()->RemoveChild(
-      platform_view_->GetNativeView());
-#endif  // defined(USE_AURA)
-}
-
-void WebContentsViewGuest::GetContainerBounds(gfx::Rect* out) const {
-  if (guest_->embedder_web_contents()) {
-    // We need embedder container's bounds to calculate our bounds.
-    guest_->embedder_web_contents()->GetView()->GetContainerBounds(out);
-    gfx::Point guest_coordinates =
-        guest_->GetCoordinatesInEmbedderWebContents(gfx::Point());
-    out->Offset(guest_coordinates.x(), guest_coordinates.y());
-  } else {
-    out->set_origin(gfx::Point());
-  }
-
-  out->set_size(size_);
-}
-
-void WebContentsViewGuest::SizeContents(const gfx::Size& size) {
-  size_ = size;
-  RenderWidgetHostView* rwhv = web_contents_->GetRenderWidgetHostView();
-  if (rwhv)
-    rwhv->SetSize(size);
-}
-
-void WebContentsViewGuest::SetInitialFocus() {
-  platform_view_->SetInitialFocus();
-}
-
-gfx::Rect WebContentsViewGuest::GetViewBounds() const {
-  return gfx::Rect(size_);
-}
-
-void WebContentsViewGuest::CreateView(gfx::NativeView context) {
-  platform_view_->CreateView(context);
-}
-
-RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForWidget(
-    RenderWidgetHost* render_widget_host, bool is_guest_view_hack) {
-  if (render_widget_host->GetView()) {
-    // During testing, the view will already be set up in most cases to the
-    // test view, so we don't want to clobber it with a real one. To verify that
-    // this actually is happening (and somebody isn't accidentally creating the
-    // view twice), we check for the RVH Factory, which will be set when we're
-    // making special ones (which go along with the special views).
-    DCHECK(RenderViewHostFactory::has_factory());
-    return static_cast<RenderWidgetHostViewBase*>(
-        render_widget_host->GetView());
-  }
-
-  RenderWidgetHostViewBase* platform_widget =
-      platform_view_->CreateViewForWidget(render_widget_host, true);
-
-  return RenderWidgetHostViewGuest::Create(render_widget_host, guest_,
-                                           platform_widget->GetWeakPtr());
-}
-
-RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForChildWidget(
-    RenderWidgetHost* render_widget_host) {
-  return platform_view_->CreateViewForChildWidget(render_widget_host);
-}
-
-void WebContentsViewGuest::SetPageTitle(const base::string16& title) {
-}
-
-void WebContentsViewGuest::RenderViewCreated(RenderViewHost* host) {
-  platform_view_->RenderViewCreated(host);
-}
-
-void WebContentsViewGuest::RenderViewReady() {
-  platform_view_->RenderViewReady();
-}
-
-void WebContentsViewGuest::RenderViewHostChanged(RenderViewHost* old_host,
-                                                 RenderViewHost* new_host) {
-  platform_view_->RenderViewHostChanged(old_host, new_host);
-}
-
-void WebContentsViewGuest::SetOverscrollControllerEnabled(bool enabled) {
-  // This should never override the setting of the embedder view.
-}
-
-#if defined(OS_MACOSX)
-bool WebContentsViewGuest::CloseTabAfterEventTrackingIfNeeded() {
-  return false;
-}
-#endif
-
-WebContents* WebContentsViewGuest::web_contents() {
-  return web_contents_;
-}
-
-void WebContentsViewGuest::RestoreFocus() {
-  platform_view_->RestoreFocus();
-}
-
-void WebContentsViewGuest::Focus() {
-  platform_view_->Focus();
-}
-
-void WebContentsViewGuest::StoreFocus() {
-  platform_view_->StoreFocus();
-}
-
-void WebContentsViewGuest::FocusThroughTabTraversal(bool reverse) {
-  platform_view_->FocusThroughTabTraversal(reverse);
-}
-
-DropData* WebContentsViewGuest::GetDropData() const {
-  NOTIMPLEMENTED();
-  return nullptr;
-}
-
-void WebContentsViewGuest::UpdateDragCursor(WebDragOperation operation) {
-  RenderViewHostImpl* embedder_render_view_host =
-      static_cast<RenderViewHostImpl*>(
-          guest_->embedder_web_contents()->GetRenderViewHost());
-  CHECK(embedder_render_view_host);
-  RenderViewHostDelegateView* view =
-      embedder_render_view_host->GetDelegate()->GetDelegateView();
-  if (view)
-    view->UpdateDragCursor(operation);
-}
-
-void WebContentsViewGuest::ShowContextMenu(RenderFrameHost* render_frame_host,
-                                           const ContextMenuParams& params) {
-  DCHECK(platform_view_delegate_view_);
-  platform_view_delegate_view_->ShowContextMenu(render_frame_host, params);
-}
-
-void WebContentsViewGuest::StartDragging(
-    const DropData& drop_data,
-    WebDragOperationsMask ops,
-    const gfx::ImageSkia& image,
-    const gfx::Vector2d& image_offset,
-    const DragEventSourceInfo& event_info,
-    RenderWidgetHostImpl* source_rwh) {
-  WebContentsImpl* embedder_web_contents = guest_->embedder_web_contents();
-  embedder_web_contents->GetBrowserPluginEmbedder()->StartDrag(guest_);
-  RenderViewHostImpl* embedder_render_view_host =
-      static_cast<RenderViewHostImpl*>(
-          embedder_web_contents->GetRenderViewHost());
-  CHECK(embedder_render_view_host);
-  RenderViewHostDelegateView* view =
-      embedder_render_view_host->GetDelegate()->GetDelegateView();
-  if (view) {
-    RecordAction(base::UserMetricsAction("BrowserPlugin.Guest.StartDrag"));
-    view->StartDragging(
-        drop_data, ops, image, image_offset, event_info, source_rwh);
-  } else {
-    embedder_web_contents->SystemDragEnded(source_rwh);
-  }
-}
-
-}  // namespace content
diff --git a/content/browser/web_contents/web_contents_view_guest.h b/content/browser/web_contents/web_contents_view_guest.h
deleted file mode 100644
index 12aa7cd..0000000
--- a/content/browser/web_contents/web_contents_view_guest.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_GUEST_H_
-#define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_GUEST_H_
-
-#include <memory>
-#include <vector>
-
-#include "base/macros.h"
-#include "build/build_config.h"
-#include "content/browser/renderer_host/render_view_host_delegate_view.h"
-#include "content/browser/web_contents/web_contents_view.h"
-#include "content/common/content_export.h"
-#include "content/common/drag_event_source_info.h"
-
-namespace content {
-
-class WebContents;
-class WebContentsImpl;
-class BrowserPluginGuest;
-
-class WebContentsViewGuest : public WebContentsView,
-                             public RenderViewHostDelegateView {
- public:
-  // The corresponding WebContentsImpl is passed in the constructor, and manages
-  // our lifetime. This doesn't need to be the case, but is this way currently
-  // because that's what was easiest when they were split.
-  // WebContentsViewGuest always has a backing platform dependent view,
-  // |platform_view|.
-  WebContentsViewGuest(WebContentsImpl* web_contents,
-                       BrowserPluginGuest* guest,
-                       std::unique_ptr<WebContentsView> platform_view,
-                       RenderViewHostDelegateView** delegate_view);
-  ~WebContentsViewGuest() override;
-
-  WebContents* web_contents();
-
-  void OnGuestAttached(WebContentsView* parent_view);
-
-  void OnGuestDetached(WebContentsView* old_parent_view);
-
-  // WebContentsView implementation --------------------------------------------
-  gfx::NativeView GetNativeView() const override;
-  gfx::NativeView GetContentNativeView() const override;
-  gfx::NativeWindow GetTopLevelNativeWindow() const override;
-  void GetContainerBounds(gfx::Rect* out) const override;
-  void SizeContents(const gfx::Size& size) override;
-  void Focus() override;
-  void SetInitialFocus() override;
-  void StoreFocus() override;
-  void RestoreFocus() override;
-  void FocusThroughTabTraversal(bool reverse) override;
-  DropData* GetDropData() const override;
-  gfx::Rect GetViewBounds() const override;
-  void CreateView(gfx::NativeView context) override;
-  RenderWidgetHostViewBase* CreateViewForWidget(
-      RenderWidgetHost* render_widget_host,
-      bool is_guest_view_hack) override;
-  RenderWidgetHostViewBase* CreateViewForChildWidget(
-      RenderWidgetHost* render_widget_host) override;
-  void SetPageTitle(const base::string16& title) override;
-  void RenderViewCreated(RenderViewHost* host) override;
-  void RenderViewReady() override;
-  void RenderViewHostChanged(RenderViewHost* old_host,
-                             RenderViewHost* new_host) override;
-  void SetOverscrollControllerEnabled(bool enabled) override;
-#if defined(OS_MACOSX)
-  bool CloseTabAfterEventTrackingIfNeeded() override;
-#endif
-
-  // Backend implementation of RenderViewHostDelegateView.
-  void ShowContextMenu(RenderFrameHost* render_frame_host,
-                       const ContextMenuParams& params) override;
-  void StartDragging(const DropData& drop_data,
-                     blink::WebDragOperationsMask allowed_ops,
-                     const gfx::ImageSkia& image,
-                     const gfx::Vector2d& image_offset,
-                     const DragEventSourceInfo& event_info,
-                     RenderWidgetHostImpl* source_rwh) override;
-  void UpdateDragCursor(blink::WebDragOperation operation) override;
-
- private:
-  // The WebContentsImpl whose contents we display.
-  WebContentsImpl* web_contents_;
-  BrowserPluginGuest* guest_;
-  // The platform dependent view backing this WebContentsView.
-  // Calls to this WebContentsViewGuest are forwarded to |platform_view_|.
-  std::unique_ptr<WebContentsView> platform_view_;
-  gfx::Size size_;
-
-  // Delegate view for guest's platform view.
-  RenderViewHostDelegateView* platform_view_delegate_view_;
-
-  DISALLOW_COPY_AND_ASSIGN(WebContentsViewGuest);
-};
-
-}  // namespace content
-
-#endif  // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_GUEST_H_
diff --git a/content/browser/web_contents/web_contents_view_mac.h b/content/browser/web_contents/web_contents_view_mac.h
index 470a8a6..78b29f5 100644
--- a/content/browser/web_contents/web_contents_view_mac.h
+++ b/content/browser/web_contents/web_contents_view_mac.h
@@ -76,8 +76,7 @@
   gfx::Rect GetViewBounds() const override;
   void CreateView(gfx::NativeView context) override;
   RenderWidgetHostViewBase* CreateViewForWidget(
-      RenderWidgetHost* render_widget_host,
-      bool is_guest_view_hack) override;
+      RenderWidgetHost* render_widget_host) override;
   RenderWidgetHostViewBase* CreateViewForChildWidget(
       RenderWidgetHost* render_widget_host) override;
   void SetPageTitle(const base::string16& title) override;
@@ -133,7 +132,7 @@
   WebDragDest* drag_dest() const { return drag_dest_.get(); }
 
   using RenderWidgetHostViewCreateFunction =
-      RenderWidgetHostViewMac* (*)(RenderWidgetHost*, bool);
+      RenderWidgetHostViewMac* (*)(RenderWidgetHost*);
 
   // Used to override the creation of RenderWidgetHostViews in tests.
   CONTENT_EXPORT static void InstallCreateHookForTests(
diff --git a/content/browser/web_contents/web_contents_view_mac.mm b/content/browser/web_contents/web_contents_view_mac.mm
index ef68ba9..e0bb1e52 100644
--- a/content/browser/web_contents/web_contents_view_mac.mm
+++ b/content/browser/web_contents/web_contents_view_mac.mm
@@ -326,7 +326,7 @@
 }
 
 RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
-    RenderWidgetHost* render_widget_host, bool is_guest_view_hack) {
+    RenderWidgetHost* render_widget_host) {
   if (render_widget_host->GetView()) {
     // During testing, the view will already be set up in most cases to the
     // test view, so we don't want to clobber it with a real one. To verify that
@@ -340,9 +340,8 @@
 
   RenderWidgetHostViewMac* view =
       g_create_render_widget_host_view
-          ? g_create_render_widget_host_view(render_widget_host,
-                                             is_guest_view_hack)
-          : new RenderWidgetHostViewMac(render_widget_host, is_guest_view_hack);
+          ? g_create_render_widget_host_view(render_widget_host)
+          : new RenderWidgetHostViewMac(render_widget_host);
   if (delegate()) {
     base::scoped_nsobject<NSObject<RenderWidgetHostViewMacDelegate>>
         rw_delegate(delegate()->CreateRenderWidgetHostViewDelegate(
@@ -385,7 +384,7 @@
 RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForChildWidget(
     RenderWidgetHost* render_widget_host) {
   RenderWidgetHostViewMac* view =
-      new RenderWidgetHostViewMac(render_widget_host, false);
+      new RenderWidgetHostViewMac(render_widget_host);
   if (delegate()) {
     base::scoped_nsobject<NSObject<RenderWidgetHostViewMacDelegate>>
         rw_delegate(delegate()->CreateRenderWidgetHostViewDelegate(