Move GuestViewContainer to components

BUG=444869

Review URL: https://codereview.chromium.org/1129173007

Cr-Commit-Position: refs/heads/master@{#331796}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 605011f..b82ef98 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -102,7 +102,7 @@
     "//components/gcm_driver",
     "//components/gcm_driver/instance_id",
     "//components/google/core/browser",
-    "//components/guest_view:guest_view",
+    "//components/guest_view/browser",
     "//components/handoff",
     "//components/history/core/browser",
     "//components/history/core/common",
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index f1bfe73..cd2bc8bd 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -42,7 +42,7 @@
   "+components/gcm_driver",
   "+components/google",
   "+components/grit",
-  "+components/guest_view",
+  "+components/guest_view/browser",
   "+components/handoff",
   "+components/history",
   "+components/infobars",
diff --git a/chrome/browser/extensions/api/DEPS b/chrome/browser/extensions/api/DEPS
index d93807c8..03792c6 100644
--- a/chrome/browser/extensions/api/DEPS
+++ b/chrome/browser/extensions/api/DEPS
@@ -1,6 +1,7 @@
 include_rules = [
   "+apps",
   "+chrome/browser/apps",
+  "+components/guest_view/common",
   "+device/hid",
    # Enable remote assistance on Chrome OS
   "+remoting/host",
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 789702d..ad5b486 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -3080,7 +3080,6 @@
         '../components/components.gyp:favicon_core',
         '../components/components.gyp:gcm_driver',
         '../components/components.gyp:google_core_browser',
-        '../components/components.gyp:guest_view',
         '../components/components.gyp:handoff',
         '../components/components.gyp:history_core_browser',
         '../components/components.gyp:history_core_common',
@@ -3191,6 +3190,7 @@
             '../components/components.gyp:devtools_http_handler',
             '../components/components.gyp:dom_distiller_content',
             '../components/components.gyp:favicon_content',
+            '../components/components.gyp:guest_view_browser',
             '../components/components.gyp:history_content_browser',
             '../components/components.gyp:keyed_service_content',
             '../components/components.gyp:navigation_interception',
diff --git a/chrome/chrome_renderer.gypi b/chrome/chrome_renderer.gypi
index 37686cb..2945b6a6 100644
--- a/chrome/chrome_renderer.gypi
+++ b/chrome/chrome_renderer.gypi
@@ -254,6 +254,7 @@
         '../components/components.gyp:cdm_renderer',
         '../components/components.gyp:data_reduction_proxy_content_common',
         '../components/components.gyp:data_reduction_proxy_core_common',
+        '../components/components.gyp:guest_view_renderer',
         '../components/components.gyp:network_hints_renderer',
         '../components/components.gyp:error_page_renderer',
         '../components/components.gyp:startup_metric_utils',
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi
index 5587f194..fe3ba26 100644
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -1494,7 +1494,6 @@
         'debugger',
         'renderer',
         'test_support_common',
-        '../components/components.gyp:guest_view',
         '../components/components.gyp:guest_view_test_support',
         '../content/app/resources/content_resources.gyp:content_resources',
         '../crypto/crypto.gyp:crypto_test_support',
@@ -1986,7 +1985,6 @@
         '../components/components.gyp:captive_portal_test_support',
         '../components/components.gyp:dom_distiller_content',
         '../components/components.gyp:dom_distiller_test_support',
-        '../components/components.gyp:guest_view',
         '../components/components.gyp:guest_view_test_support',
         '../components/components.gyp:translate_core_common',
         '../components/components_resources.gyp:components_resources',
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
index 6baa83c4..7fe14db 100644
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
@@ -41,8 +41,9 @@
     "//components/cdm/renderer",
     "//components/data_reduction_proxy/content/common",
     "//components/data_reduction_proxy/core/common",
-    "//components/network_hints/renderer",
     "//components/error_page/renderer",
+    "//components/guest_view/renderer",
+    "//components/network_hints/renderer",
     "//components/password_manager/content/renderer",
     "//components/plugins/renderer",
     "//components/printing/renderer:printing_renderer",
diff --git a/chrome/renderer/DEPS b/chrome/renderer/DEPS
index cd2cd8e3..04489f4 100644
--- a/chrome/renderer/DEPS
+++ b/chrome/renderer/DEPS
@@ -11,6 +11,7 @@
   "+components/data_reduction_proxy/content/common",
   "+components/data_reduction_proxy/core/common",
   "+components/dom_distiller/core",
+  "+components/guest_view/renderer",
   "+components/nacl/common",
   "+components/nacl/renderer",
   "+components/password_manager/content/renderer",
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 442a670..493052fc 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -61,6 +61,7 @@
 #include "components/content_settings/core/common/content_settings_pattern.h"
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_headers.h"
 #include "components/dom_distiller/core/url_constants.h"
+#include "components/guest_view/renderer/guest_view_container.h"
 #include "components/nacl/renderer/ppb_nacl_private.h"
 #include "components/nacl/renderer/ppb_nacl_private_impl.h"
 #include "components/network_hints/renderer/prescient_networking_dispatcher.h"
@@ -123,7 +124,6 @@
 #include "extensions/renderer/extension_helper.h"
 #include "extensions/renderer/extensions_render_frame_observer.h"
 #include "extensions/renderer/guest_view/extensions_guest_view_container.h"
-#include "extensions/renderer/guest_view/guest_view_container.h"
 #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h"
 #include "extensions/renderer/script_context.h"
 #endif
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index f509f46..1dca8e1c 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -135,7 +135,7 @@
       "//content/public/utility",
       "//components/autofill/core/browser:test_support",
       "//components/captive_portal:test_support",
-      "//components/guest_view:test_support",
+      "//components/guest_view/browser:test_support",
       "//components/infobars/core",
       "//components/sessions:test_support",
       "//components/user_manager:test_support",
@@ -657,7 +657,7 @@
       "//components/captive_portal:test_support",
       "//components/dom_distiller/content",
       "//components/dom_distiller/core:test_support",
-      "//components/guest_view:test_support",
+      "//components/guest_view/browser:test_support",
       "//components/resources",
       "//components/strings",
       "//components/translate/core/common",
diff --git a/components/BUILD.gn b/components/BUILD.gn
index c4987b48..b4bec8a 100644
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -50,7 +50,6 @@
     "//components/gcm_driver",
     "//components/gcm_driver/instance_id",
     "//components/google/core/browser",
-    "//components/guest_view:guest_view",
     "//components/history/content/browser",
     "//components/history/core/browser",
     "//components/history/core/common",
@@ -237,6 +236,9 @@
     deps += [
       "//components/app_modal",
       "//components/browsing_data",
+      "//components/guest_view/browser",
+      "//components/guest_view/common",
+      "//components/guest_view/renderer",
       "//components/scheduler",
     ]
   }
diff --git a/components/components_tests.gyp b/components/components_tests.gyp
index 22dce6b..799a988 100644
--- a/components/components_tests.gyp
+++ b/components/components_tests.gyp
@@ -773,8 +773,6 @@
         'components.gyp:gcm_driver',
         'components.gyp:gcm_driver_test_support',
         'components.gyp:google_core_browser',
-        'components.gyp:guest_view',
-        'components.gyp:guest_view_test_support',
         'components.gyp:history_core_browser',
         'components.gyp:history_core_common',
         'components.gyp:history_core_test_support',
@@ -885,6 +883,9 @@
             'components.gyp:dom_distiller_content',
             'components.gyp:error_page_renderer',
             'components.gyp:favicon_content',
+            'components.gyp:guest_view_browser',
+            'components.gyp:guest_view_common',
+            'components.gyp:guest_view_test_support',
             'components.gyp:history_content_browser',
             'components.gyp:keyed_service_content',
             'components.gyp:navigation_interception',
diff --git a/components/constrained_window/BUILD.gn b/components/constrained_window/BUILD.gn
index 55aae211..e7fe194 100644
--- a/components/constrained_window/BUILD.gn
+++ b/components/constrained_window/BUILD.gn
@@ -10,7 +10,7 @@
   ]
 
   deps = [
-    "//components/guest_view:guest_view",
+    "//components/guest_view/browser",
     "//components/web_modal",
     "//ui/views",
     "//skia",
diff --git a/components/guest_view.gypi b/components/guest_view.gypi
index 1225335..a54bdff 100644
--- a/components/guest_view.gypi
+++ b/components/guest_view.gypi
@@ -2,54 +2,92 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 {
-  'targets': [
-    {
-      'target_name': 'guest_view',
-      'type': 'static_library',
-      'dependencies': [
-        '../base/base.gyp:base',
-        '../content/content.gyp:content_browser',
-        '../content/content.gyp:content_common',
+  'conditions': [
+    ['OS != "ios"', {
+      'targets': [
+        {
+          'target_name': 'guest_view_browser',
+          'type': 'static_library',
+          'dependencies': [
+            '../base/base.gyp:base',
+            '../content/content.gyp:content_browser',
+            '../content/content.gyp:content_common',
+            'guest_view_common'
+          ],
+          'include_dirs': [
+            '..',
+          ],
+          'sources': [
+            'guest_view/browser/guest_view.h',
+            'guest_view/browser/guest_view_base.cc',
+            'guest_view/browser/guest_view_base.h',
+            'guest_view/browser/guest_view_event.cc',
+            'guest_view/browser/guest_view_event.h',
+            'guest_view/browser/guest_view_manager.cc',
+            'guest_view/browser/guest_view_manager.h',
+            'guest_view/browser/guest_view_manager_delegate.cc',
+            'guest_view/browser/guest_view_manager_delegate.h',
+            'guest_view/browser/guest_view_manager_factory.h',
+            'guest_view/browser/guest_view_message_filter.cc',
+            'guest_view/browser/guest_view_message_filter.h',
+          ],
+        },
+        {
+          'target_name': 'guest_view_common',
+          'type': 'static_library',
+          'dependencies': [
+            '../base/base.gyp:base',
+            '../ipc/ipc.gyp:ipc',
+          ],
+          'include_dirs': [
+            '..',
+          ],
+          'sources': [
+            'guest_view/common/guest_view_constants.cc',
+            'guest_view/common/guest_view_constants.h',
+            'guest_view/common/guest_view_message_generator.cc',
+            'guest_view/common/guest_view_message_generator.h',
+            'guest_view/common/guest_view_messages.h',
+          ]
+        },
+        {
+          'target_name': 'guest_view_renderer',
+          'type': 'static_library',
+          'dependencies': [
+            '../base/base.gyp:base',
+            '../content/content.gyp:content_common',
+            '../content/content.gyp:content_renderer',
+            '../third_party/WebKit/public/blink.gyp:blink',
+            '../v8/tools/gyp/v8.gyp:v8',
+            'guest_view_common'
+          ],
+          'include_dirs': [
+            '..',
+          ],
+          'sources': [
+            'guest_view/renderer/guest_view_container.cc',
+            'guest_view/renderer/guest_view_container.h',
+            'guest_view/renderer/guest_view_request.cc',
+            'guest_view/renderer/guest_view_request.h'
+          ],
+        },
+        {
+          'target_name': 'guest_view_test_support',
+          'type': 'static_library',
+          'dependencies': [
+            '../base/base.gyp:base',
+            '../content/content_shell_and_tests.gyp:test_support_content',
+            'guest_view_browser',
+          ],
+          'include_dirs': [
+            '..',
+          ],
+          'sources': [
+            'guest_view/browser/test_guest_view_manager.h',
+            'guest_view/browser/test_guest_view_manager.cc',
+          ],
+        }
       ],
-      'include_dirs': [
-        '..',
-      ],
-      'sources': [
-        'guest_view/browser/guest_view.h',
-        'guest_view/browser/guest_view_base.cc',
-        'guest_view/browser/guest_view_base.h',
-        'guest_view/browser/guest_view_event.cc',
-        'guest_view/browser/guest_view_event.h',
-        'guest_view/browser/guest_view_manager.cc',
-        'guest_view/browser/guest_view_manager.h',
-        'guest_view/browser/guest_view_manager_delegate.cc',
-        'guest_view/browser/guest_view_manager_delegate.h',
-        'guest_view/browser/guest_view_manager_factory.h',
-        'guest_view/browser/guest_view_message_filter.cc',
-        'guest_view/browser/guest_view_message_filter.h',
-        'guest_view/common/guest_view_constants.cc',
-        'guest_view/common/guest_view_constants.h',
-        'guest_view/common/guest_view_message_generator.cc',
-        'guest_view/common/guest_view_message_generator.h',
-        'guest_view/common/guest_view_messages.h',
-      ],
-    },
-    {
-      'target_name': 'guest_view_test_support',
-      'type': 'static_library',
-      'dependencies': [
-        '../base/base.gyp:base',
-        '../content/content.gyp:content_browser',
-        '../content/content.gyp:content_common',
-        '../content/content_shell_and_tests.gyp:test_support_content',
-      ],
-      'include_dirs': [
-        '..',
-      ],
-      'sources': [
-        'guest_view/browser/test_guest_view_manager.h',
-        'guest_view/browser/test_guest_view_manager.cc',
-      ],
-    }
-  ],
+        }]
+      ]
 }
diff --git a/components/guest_view/BUILD.gn b/components/guest_view/browser/BUILD.gn
similarity index 76%
rename from components/guest_view/BUILD.gn
rename to components/guest_view/browser/BUILD.gn
index 0beda18..7bc221f 100644
--- a/components/guest_view/BUILD.gn
+++ b/components/guest_view/browser/BUILD.gn
@@ -2,8 +2,8 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-static_library("guest_view") {
-  output_name = "guest_view"
+static_library("browser") {
+  output_name = "guest_view_browser"
   sources = [
     "//components/guest_view/browser/guest_view.h",
     "//components/guest_view/browser/guest_view_base.cc",
@@ -17,15 +17,11 @@
     "//components/guest_view/browser/guest_view_manager_factory.h",
     "//components/guest_view/browser/guest_view_message_filter.cc",
     "//components/guest_view/browser/guest_view_message_filter.h",
-    "//components/guest_view/common/guest_view_constants.cc",
-    "//components/guest_view/common/guest_view_constants.h",
-    "//components/guest_view/common/guest_view_message_generator.cc",
-    "//components/guest_view/common/guest_view_message_generator.h",
-    "//components/guest_view/common/guest_view_messages.h",
   ]
 
   deps = [
     "//base",
+    "//components/guest_view/common",
     "//content/public/browser",
     "//content/public/common",
     "//third_party/WebKit/public:blink",
@@ -40,7 +36,7 @@
   ]
 
   deps = [
-    ":guest_view",
+    ":browser",
     "//content/test:test_support",
   ]
 }
diff --git a/components/guest_view/common/BUILD.gn b/components/guest_view/common/BUILD.gn
new file mode 100644
index 0000000..9916d95a
--- /dev/null
+++ b/components/guest_view/common/BUILD.gn
@@ -0,0 +1,15 @@
+static_library("common") {
+  output_name = "guest_view_common"
+  sources = [
+    "guest_view_constants.cc",
+    "guest_view_constants.h",
+    "guest_view_message_generator.cc",
+    "guest_view_message_generator.h",
+    "guest_view_messages.h",
+  ]
+
+  deps = [
+    "//base",
+    "//ipc",
+  ]
+}
diff --git a/components/guest_view/renderer/BUILD.gn b/components/guest_view/renderer/BUILD.gn
new file mode 100644
index 0000000..200070b
--- /dev/null
+++ b/components/guest_view/renderer/BUILD.gn
@@ -0,0 +1,17 @@
+static_library("renderer") {
+  sources = [
+    "guest_view_container.cc",
+    "guest_view_container.h",
+    "guest_view_request.cc",
+    "guest_view_request.h"
+  ]
+
+  deps = [
+    "//base",
+    "//components/guest_view/common",
+    "//content/public/renderer",
+    "//ipc",
+    "//third_party/WebKit/public:blink",
+    "//v8",
+  ]
+}
diff --git a/components/guest_view/renderer/DEPS b/components/guest_view/renderer/DEPS
new file mode 100644
index 0000000..2f9ba27
--- /dev/null
+++ b/components/guest_view/renderer/DEPS
@@ -0,0 +1,6 @@
+include_rules = [
+  "+content/public/renderer",
+  "+ipc",
+  "+third_party/WebKit/public",
+  "+v8/include/v8.h",
+]
diff --git a/components/guest_view/renderer/OWNERS b/components/guest_view/renderer/OWNERS
new file mode 100644
index 0000000..f9575e8f
--- /dev/null
+++ b/components/guest_view/renderer/OWNERS
@@ -0,0 +1,3 @@
[email protected]
[email protected]
[email protected]
diff --git a/extensions/renderer/guest_view/guest_view_container.cc b/components/guest_view/renderer/guest_view_container.cc
similarity index 93%
rename from extensions/renderer/guest_view/guest_view_container.cc
rename to components/guest_view/renderer/guest_view_container.cc
index d09fa00..1c13456b5 100644
--- a/extensions/renderer/guest_view/guest_view_container.cc
+++ b/components/guest_view/renderer/guest_view_container.cc
@@ -2,25 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "extensions/renderer/guest_view/guest_view_container.h"
+#include "components/guest_view/renderer/guest_view_container.h"
 
 #include "components/guest_view/common/guest_view_constants.h"
 #include "components/guest_view/common/guest_view_messages.h"
+#include "components/guest_view/renderer/guest_view_request.h"
 #include "content/public/renderer/render_frame.h"
 #include "content/public/renderer/render_frame_observer.h"
 #include "content/public/renderer/render_view.h"
-#include "extensions/common/guest_view/extensions_guest_view_messages.h"
-#include "extensions/renderer/guest_view/guest_view_request.h"
 
 namespace {
 
-using GuestViewContainerMap = std::map<int, extensions::GuestViewContainer*>;
+using GuestViewContainerMap = std::map<int, guest_view::GuestViewContainer*>;
 static base::LazyInstance<GuestViewContainerMap> g_guest_view_container_map =
     LAZY_INSTANCE_INITIALIZER;
 
 }  // namespace
 
-namespace extensions {
+namespace guest_view {
 
 class GuestViewContainer::RenderFrameLifetimeObserver
     : public content::RenderFrameObserver {
@@ -147,4 +146,4 @@
       std::make_pair(element_instance_id, this));
 }
 
-}  // namespace extensions
+}  // namespace guest_view
diff --git a/extensions/renderer/guest_view/guest_view_container.h b/components/guest_view/renderer/guest_view_container.h
similarity index 89%
rename from extensions/renderer/guest_view/guest_view_container.h
rename to components/guest_view/renderer/guest_view_container.h
index 8855dd7..19175b9c 100644
--- a/extensions/renderer/guest_view/guest_view_container.h
+++ b/components/guest_view/renderer/guest_view_container.h
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_CONTAINER_H_
-#define EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_CONTAINER_H_
+#ifndef COMPONENTS_GUEST_VIEW_RENDERER_GUEST_VIEW_CONTAINER_H_
+#define COMPONENTS_GUEST_VIEW_RENDERER_GUEST_VIEW_CONTAINER_H_
 
 #include "base/memory/linked_ptr.h"
 #include "base/memory/scoped_ptr.h"
 #include "content/public/renderer/browser_plugin_delegate.h"
 #include "ipc/ipc_message.h"
 
-namespace extensions {
+namespace guest_view {
 
 class GuestViewRequest;
 
@@ -68,6 +68,6 @@
   DISALLOW_COPY_AND_ASSIGN(GuestViewContainer);
 };
 
-}  // namespace extensions
+}  // namespace guest_view
 
-#endif  // EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_CONTAINER_H_
+#endif  // COMPONENTS_GUEST_VIEW_RENDERER_GUEST_VIEW_CONTAINER_H_
diff --git a/extensions/renderer/guest_view/guest_view_request.cc b/components/guest_view/renderer/guest_view_request.cc
similarity index 93%
rename from extensions/renderer/guest_view/guest_view_request.cc
rename to components/guest_view/renderer/guest_view_request.cc
index 78251d9..902429cb 100644
--- a/extensions/renderer/guest_view/guest_view_request.cc
+++ b/components/guest_view/renderer/guest_view_request.cc
@@ -2,17 +2,17 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "extensions/renderer/guest_view/guest_view_request.h"
+#include "components/guest_view/renderer/guest_view_request.h"
 
 #include "components/guest_view/common/guest_view_messages.h"
+#include "components/guest_view/renderer/guest_view_container.h"
 #include "content/public/renderer/render_frame.h"
 #include "content/public/renderer/render_view.h"
-#include "extensions/renderer/guest_view/guest_view_container.h"
 #include "third_party/WebKit/public/web/WebLocalFrame.h"
 #include "third_party/WebKit/public/web/WebScopedMicrotaskSuppression.h"
 #include "third_party/WebKit/public/web/WebView.h"
 
-namespace extensions {
+namespace guest_view {
 
 GuestViewRequest::GuestViewRequest(GuestViewContainer* container,
                                    v8::Local<v8::Function> callback,
@@ -62,7 +62,7 @@
   if (!container()->render_frame())
     return;
 
-  // Step 1, send the attach params to extensions/.
+  // Step 1, send the attach params to guest_view/.
   container()->render_frame()->Send(
       new GuestViewHostMsg_AttachGuest(container()->element_instance_id(),
                                        guest_instance_id_,
@@ -120,4 +120,4 @@
   ExecuteCallbackIfAvailable(0 /* argc */, nullptr);
 }
 
-}  // namespace extensions
+}  // namespace guest_view
diff --git a/extensions/renderer/guest_view/guest_view_request.h b/components/guest_view/renderer/guest_view_request.h
similarity index 92%
rename from extensions/renderer/guest_view/guest_view_request.h
rename to components/guest_view/renderer/guest_view_request.h
index dbb7343..222c7ddbe 100644
--- a/extensions/renderer/guest_view/guest_view_request.h
+++ b/components/guest_view/renderer/guest_view_request.h
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_REQUEST_H_
-#define EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_REQUEST_H_
+#ifndef COMPONENTS_GUEST_VIEW_RENDERER_GUEST_VIEW_REQUEST_H_
+#define COMPONENTS_GUEST_VIEW_RENDERER_GUEST_VIEW_REQUEST_H_
 
 #include "ipc/ipc_message.h"
 #include "v8/include/v8.h"
 
-namespace extensions {
+namespace guest_view {
 
 class GuestViewContainer;
 
@@ -92,6 +92,6 @@
   DISALLOW_COPY_AND_ASSIGN(GuestViewDetachRequest);
 };
 
-}  // namespace extensions
+}  // namespace guest_view
 
-#endif  // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_
+#endif  // COMPONENTS_GUEST_VIEW_RENDERER_GUEST_VIEW_CONTAINER_H_
diff --git a/extensions/BUILD.gn b/extensions/BUILD.gn
index b627a0bd..4ced0d5 100644
--- a/extensions/BUILD.gn
+++ b/extensions/BUILD.gn
@@ -78,7 +78,7 @@
     ":extensions_resources",
     "//base",
     "//base:prefs_test_support",
-    "//components/guest_view:test_support",
+    "//components/guest_view/browser:test_support",
     "//content/public/common",
     "//content/test:test_support",
     "//extensions/browser",
diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn
index e2c7913c..d9c62bb 100644
--- a/extensions/browser/BUILD.gn
+++ b/extensions/browser/BUILD.gn
@@ -11,7 +11,7 @@
   sources = []
 
   deps = [
-    "//components/guest_view:guest_view",
+    "//components/guest_view/browser",
     "//components/keyed_service/content",
     "//components/keyed_service/core",
     "//components/pref_registry",
diff --git a/extensions/extensions.gyp b/extensions/extensions.gyp
index b42c944..16e047b6 100644
--- a/extensions/extensions.gyp
+++ b/extensions/extensions.gyp
@@ -126,7 +126,7 @@
         '../base/base.gyp:base_prefs',
         '../components/components.gyp:browsing_data',
         '../components/components.gyp:device_event_log_component',
-        '../components/components.gyp:guest_view',
+        '../components/components.gyp:guest_view_browser',
         '../components/components.gyp:keyed_service_content',
         '../components/components.gyp:keyed_service_core',
         '../components/components.gyp:onc_component',
@@ -208,7 +208,7 @@
       'type': 'static_library',
       'dependencies': [
         'extensions_resources.gyp:extensions_resources',
-        '../components/components.gyp:guest_view',
+        '../components/components.gyp:guest_view_renderer',
         '../content/content.gyp:content_resources',
         '../gin/gin.gyp:gin',
         '../third_party/WebKit/public/blink.gyp:blink',
diff --git a/extensions/extensions.gypi b/extensions/extensions.gypi
index 7836c9a..95f0d655 100644
--- a/extensions/extensions.gypi
+++ b/extensions/extensions.gypi
@@ -877,10 +877,6 @@
       'renderer/file_system_natives.h',
       'renderer/guest_view/extensions_guest_view_container.cc',
       'renderer/guest_view/extensions_guest_view_container.h',
-      'renderer/guest_view/guest_view_container.cc',
-      'renderer/guest_view/guest_view_container.h',
-      'renderer/guest_view/guest_view_request.cc',
-      'renderer/guest_view/guest_view_request.h',
       'renderer/guest_view/guest_view_internal_custom_bindings.cc',
       'renderer/guest_view/guest_view_internal_custom_bindings.h',
       'renderer/guest_view/mime_handler_view/mime_handler_view_container.cc',
diff --git a/extensions/extensions_tests.gyp b/extensions/extensions_tests.gyp
index 3e895ca..80f8688 100644
--- a/extensions/extensions_tests.gyp
+++ b/extensions/extensions_tests.gyp
@@ -72,7 +72,8 @@
         'shell/app_shell.gyp:app_shell_lib',
         # TODO(yoz): find the right deps
         '<(DEPTH)/base/base.gyp:test_support_base',
-        '<(DEPTH)/components/components.gyp:guest_view',
+        '<(DEPTH)/components/components.gyp:guest_view_browser',
+        '<(DEPTH)/components/components.gyp:guest_view_renderer',
         '<(DEPTH)/components/components.gyp:guest_view_test_support',
         '<(DEPTH)/content/content.gyp:content_app_both',
         '<(DEPTH)/content/content_shell_and_tests.gyp:content_browser_test_support',
diff --git a/extensions/renderer/BUILD.gn b/extensions/renderer/BUILD.gn
index a3db09e2..688148e 100644
--- a/extensions/renderer/BUILD.gn
+++ b/extensions/renderer/BUILD.gn
@@ -18,7 +18,7 @@
 
   deps = [
     "//chrome:resources",
-    "//components/guest_view:guest_view",
+    "//components/guest_view/renderer",
     "//content:resources",
     "//extensions:extensions_resources",
     "//gin",
diff --git a/extensions/renderer/guest_view/extensions_guest_view_container.h b/extensions/renderer/guest_view/extensions_guest_view_container.h
index 0a29daf..0626da0 100644
--- a/extensions/renderer/guest_view/extensions_guest_view_container.h
+++ b/extensions/renderer/guest_view/extensions_guest_view_container.h
@@ -7,7 +7,7 @@
 
 #include <queue>
 
-#include "extensions/renderer/guest_view/guest_view_container.h"
+#include "components/guest_view/renderer/guest_view_container.h"
 #include "v8/include/v8.h"
 
 namespace gfx {
@@ -16,7 +16,7 @@
 
 namespace extensions {
 
-class ExtensionsGuestViewContainer : public GuestViewContainer {
+class ExtensionsGuestViewContainer : public guest_view::GuestViewContainer {
  public:
   explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame);
   ~ExtensionsGuestViewContainer() override;
diff --git a/extensions/renderer/guest_view/guest_view_internal_custom_bindings.cc b/extensions/renderer/guest_view/guest_view_internal_custom_bindings.cc
index 902465f..a4b08d2 100644
--- a/extensions/renderer/guest_view/guest_view_internal_custom_bindings.cc
+++ b/extensions/renderer/guest_view/guest_view_internal_custom_bindings.cc
@@ -8,12 +8,12 @@
 
 #include "base/bind.h"
 #include "components/guest_view/common/guest_view_constants.h"
+#include "components/guest_view/renderer/guest_view_request.h"
 #include "content/public/child/v8_value_converter.h"
 #include "content/public/renderer/render_view.h"
 #include "extensions/common/extension.h"
 #include "extensions/common/extension_messages.h"
 #include "extensions/renderer/guest_view/extensions_guest_view_container.h"
-#include "extensions/renderer/guest_view/guest_view_request.h"
 #include "extensions/renderer/script_context.h"
 #include "third_party/WebKit/public/web/WebFrame.h"
 #include "third_party/WebKit/public/web/WebScopedUserGesture.h"
@@ -66,7 +66,8 @@
 
   int element_instance_id = args[0]->Int32Value();
   // An element instance ID uniquely identifies a GuestViewContainer.
-  auto guest_view_container = GuestViewContainer::FromID(element_instance_id);
+  auto guest_view_container =
+      guest_view::GuestViewContainer::FromID(element_instance_id);
 
   // TODO(fsamuel): Should we be reporting an error if the element instance ID
   // is invalid?
@@ -89,8 +90,8 @@
   // logical units.
   params->SetBoolean(guest_view::kElementSizeIsLogical, true);
 
-  linked_ptr<GuestViewRequest> request(
-      new GuestViewAttachRequest(
+  linked_ptr<guest_view::GuestViewRequest> request(
+      new guest_view::GuestViewAttachRequest(
           guest_view_container, guest_instance_id, params.Pass(),
           args.Length() == 4 ? args[3].As<v8::Function>()
                              : v8::Local<v8::Function>(),
@@ -111,15 +112,16 @@
 
   int element_instance_id = args[0]->Int32Value();
   // An element instance ID uniquely identifies a GuestViewContainer.
-  auto guest_view_container = GuestViewContainer::FromID(element_instance_id);
+  auto guest_view_container =
+      guest_view::GuestViewContainer::FromID(element_instance_id);
 
   // TODO(fsamuel): Should we be reporting an error if the element instance ID
   // is invalid?
   if (!guest_view_container)
     return;
 
-  linked_ptr<GuestViewRequest> request(
-      new GuestViewDetachRequest(
+  linked_ptr<guest_view::GuestViewRequest> request(
+      new guest_view::GuestViewDetachRequest(
           guest_view_container, args.Length() == 2 ? args[1].As<v8::Function>()
                                                    : v8::Local<v8::Function>(),
           args.GetIsolate()));
@@ -166,7 +168,7 @@
   // An element instance ID uniquely identifies a ExtensionsGuestViewContainer
   // within a RenderView.
   auto guest_view_container = static_cast<ExtensionsGuestViewContainer*>(
-      GuestViewContainer::FromID(element_instance_id));
+      guest_view::GuestViewContainer::FromID(element_instance_id));
   if (!guest_view_container)
     return;
 
@@ -189,7 +191,7 @@
   // An element instance ID uniquely identifies a ExtensionsGuestViewContainer
   // within a RenderView.
   auto guest_view_container = static_cast<ExtensionsGuestViewContainer*>(
-      GuestViewContainer::FromID(element_instance_id));
+      guest_view::GuestViewContainer::FromID(element_instance_id));
   if (!guest_view_container)
     return;
 
diff --git a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h
index 00f0211..8cc31a1 100644
--- a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h
+++ b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h
@@ -10,7 +10,7 @@
 
 #include "base/memory/linked_ptr.h"
 #include "base/memory/weak_ptr.h"
-#include "extensions/renderer/guest_view/guest_view_container.h"
+#include "components/guest_view/renderer/guest_view_container.h"
 #include "third_party/WebKit/public/platform/WebURLLoader.h"
 #include "third_party/WebKit/public/platform/WebURLLoaderClient.h"
 #include "ui/gfx/geometry/size.h"
@@ -35,7 +35,7 @@
 //    a WebURLLoader. In this case, the |didReceiveData| and |didFinishLoading|
 //    (from WebURLLoaderClient) when data is received and when it has finished
 //    being received.
-class MimeHandlerViewContainer : public GuestViewContainer,
+class MimeHandlerViewContainer : public guest_view::GuestViewContainer,
                                  public blink::WebURLLoaderClient {
  public:
   MimeHandlerViewContainer(content::RenderFrame* render_frame,
diff --git a/extensions/shell/BUILD.gn b/extensions/shell/BUILD.gn
index 09cbb82d..3dad93d 100644
--- a/extensions/shell/BUILD.gn
+++ b/extensions/shell/BUILD.gn
@@ -33,7 +33,9 @@
     "//base:prefs",
     "//components/devtools_discovery",
     "//components/devtools_http_handler",
-    "//components/guest_view:guest_view",
+    "//components/guest_view/browser",
+    "//components/guest_view/common",
+    "//components/guest_view/renderer",
     "//components/pref_registry",
     "//components/update_client",
     "//components/user_prefs",
diff --git a/extensions/shell/renderer/shell_content_renderer_client.cc b/extensions/shell/renderer/shell_content_renderer_client.cc
index 34f538f..2646c28 100644
--- a/extensions/shell/renderer/shell_content_renderer_client.cc
+++ b/extensions/shell/renderer/shell_content_renderer_client.cc
@@ -4,6 +4,7 @@
 
 #include "extensions/shell/renderer/shell_content_renderer_client.h"
 
+#include "components/guest_view/renderer/guest_view_container.h"
 #include "content/public/common/content_constants.h"
 #include "content/public/renderer/render_frame.h"
 #include "content/public/renderer/render_frame_observer.h"
@@ -15,7 +16,6 @@
 #include "extensions/renderer/extension_frame_helper.h"
 #include "extensions/renderer/extension_helper.h"
 #include "extensions/renderer/guest_view/extensions_guest_view_container.h"
-#include "extensions/renderer/guest_view/guest_view_container.h"
 #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h"
 #include "extensions/shell/common/shell_extensions_client.h"
 #include "extensions/shell/renderer/shell_extensions_renderer_client.h"