Android: consolidate support components for embedders

Moves web_contents_delegate_android under embedder_support to
consolidate all the support components for embedders. The package path
is org.chromium.embedder_support.delegate. Now the component
has 4 main targets for embedders:
 - media
 - view
 - content_view
 - web_contents_delegate

Note:

- The choice of 'delegate' in the package name of WebContentsDelegateAndroid
  is just to avoid having WCDA repeated in the path. (import org.chromium
  .embedder_support.web_contents_delegate_android.WebContentsDelegateAndroid
   looked odd to me).
- Got rid of 'android' wherever it is repeated in the path, and the deletion
  won't cause confusion.
  e.g. web_contents_delegate_android_java -> web_contents_delegate_java
- Needs changes in the internal repo as well
  https://chrome-internal-review.googlesource.com/c/clank/internal/apps/+/646448


Change-Id: I44c25435c32330439ffa765d80df45b02d0694b1
Reviewed-on: https://chromium-review.googlesource.com/1118926
Reviewed-by: Bo <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Tommy Nyquist <[email protected]>
Reviewed-by: Cait Phillips <[email protected]>
Reviewed-by: agrieve <[email protected]>
Commit-Queue: Jinsuk Kim <[email protected]>
Cr-Commit-Position: refs/heads/master@{#574401}
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
index 1c4915e..1403ed5 100644
--- a/android_webview/BUILD.gn
+++ b/android_webview/BUILD.gn
@@ -713,6 +713,7 @@
     "//components/crash/content/app",
     "//components/crash/content/browser",
     "//components/download/public/common:public",
+    "//components/embedder_support/android:web_contents_delegate",
     "//components/google/core/browser",
     "//components/heap_profiling",
     "//components/keyed_service/content",
@@ -750,7 +751,6 @@
     "//components/visitedlink/browser",
     "//components/visitedlink/renderer",
     "//components/viz/service",
-    "//components/web_contents_delegate_android:web_contents_delegate_android",
     "//components/web_restrictions:browser",
     "//content",
     "//content/public/app:both",
@@ -894,6 +894,7 @@
     "//components/autofill/android:provider_java",
     "//components/background_task_scheduler:background_task_scheduler_java",
     "//components/crash/android:java",
+    "//components/embedder_support/android:web_contents_delegate_java",
     "//components/minidump_uploader:minidump_uploader_java",
     "//components/navigation_interception/android:navigation_interception_java",
     "//components/policy/android:policy_java",
@@ -901,7 +902,6 @@
     "//components/variations:load_seed_result_enum_java",
     "//components/variations/android:variations_java",
     "//components/version_info/android:version_constants_java",
-    "//components/web_contents_delegate_android:web_contents_delegate_android_java",
     "//components/web_restrictions:client_java",
     "//content/public/android:content_java",
     "//device/gamepad:java",
diff --git a/android_webview/browser/DEPS b/android_webview/browser/DEPS
index f2379488..0b836c7 100644
--- a/android_webview/browser/DEPS
+++ b/android_webview/browser/DEPS
@@ -46,7 +46,7 @@
   "+media/base/android",
 
   "+components/policy/policy_constants.h",
-  "+components/web_contents_delegate_android",
+  "+components/embedder_support/android",
 
   "+printing",
 
diff --git a/android_webview/browser/aw_web_contents_delegate.h b/android_webview/browser/aw_web_contents_delegate.h
index b78778e..e78cab18 100644
--- a/android_webview/browser/aw_web_contents_delegate.h
+++ b/android_webview/browser/aw_web_contents_delegate.h
@@ -5,7 +5,7 @@
 #ifndef ANDROID_WEBVIEW_BROWSER_AW_WEB_CONTENTS_DELEGATE_H_
 #define ANDROID_WEBVIEW_BROWSER_AW_WEB_CONTENTS_DELEGATE_H_
 
-#include "components/web_contents_delegate_android/web_contents_delegate_android.h"
+#include "components/embedder_support/android/delegate/web_contents_delegate_android.h"
 
 namespace android_webview {
 
diff --git a/android_webview/java/DEPS b/android_webview/java/DEPS
index 8279631..22f0142 100644
--- a/android_webview/java/DEPS
+++ b/android_webview/java/DEPS
@@ -1,11 +1,11 @@
 include_rules = [
   "+components/autofill/android/java",
   "+components/background_task_scheduler/android/java",
+  "+components/embedder_support/android/java",
   "+components/minidump_uploader/android/java",
   "+components/navigation_interception/android/java",
   "+components/policy/android/java",
   "+components/safe_browsing/android/java",
-  "+components/web_contents_delegate_android/java",
   "+components/variations/android/java",
 
   "-content/public/android/java",
diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java
index 1455028..ec85440 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java
@@ -7,7 +7,7 @@
 import org.chromium.base.VisibleForTesting;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
-import org.chromium.components.web_contents_delegate_android.WebContentsDelegateAndroid;
+import org.chromium.components.embedder_support.delegate.WebContentsDelegateAndroid;
 
 /**
  * WebView-specific WebContentsDelegate.
diff --git a/android_webview/test/BUILD.gn b/android_webview/test/BUILD.gn
index 17b6ce2..ff24abb 100644
--- a/android_webview/test/BUILD.gn
+++ b/android_webview/test/BUILD.gn
@@ -131,12 +131,12 @@
     "//base:base_java",
     "//base:base_java_test_support",
     "//components/autofill/android:provider_java",
+    "//components/embedder_support/android:web_contents_delegate_java",
     "//components/minidump_uploader:minidump_uploader_java",
     "//components/minidump_uploader:minidump_uploader_javatests",
     "//components/policy/android:policy_java",
     "//components/policy/android:policy_java_test_support",
     "//components/safe_browsing/android:safe_browsing_java",
-    "//components/web_contents_delegate_android:web_contents_delegate_android_java",
     "//content/public/android:content_java",
     "//content/public/test/android:content_java_test_support",
     "//mojo/public/java:bindings_java",
diff --git a/build/android/lint/suppressions.xml b/build/android/lint/suppressions.xml
index 27287dd..6e5562a 100644
--- a/build/android/lint/suppressions.xml
+++ b/build/android/lint/suppressions.xml
@@ -157,7 +157,7 @@
     <ignore regexp="tools/android/push_apps_to_background/res"/>
     <ignore regexp="ui/android/java/res"/>
     <!-- crbug.com/457918 is tracking missing assets -->
-    <ignore regexp="components/web_contents_delegate_android/java/res"/>
+    <ignore regexp="components/embedder_support/android/java/res"/>
   </issue>
   <issue id="ImpliedQuantity" severity="Error">
     <ignore regexp="chrome/android/chrome_strings_grd"/>
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 486b4fb8..c967ac7d 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -236,6 +236,7 @@
     "//components/download/public/common:public_java",
     "//components/embedder_support/android:content_view_java",
     "//components/embedder_support/android:media_java",
+    "//components/embedder_support/android:web_contents_delegate_java",
     "//components/feature_engagement:feature_engagement_java",
     "//components/gcm_driver/android:gcm_driver_java",
     "//components/gcm_driver/instance_id/android:instance_id_driver_java",
@@ -255,7 +256,6 @@
     "//components/variations/android:variations_java",
     "//components/version_info/android:version_constants_java",
     "//components/viz/service:service_java",
-    "//components/web_contents_delegate_android:web_contents_delegate_android_java",
     "//components/web_restrictions:provider_java",
     "//content/public/android:content_java",
     "//device/gamepad:java",
@@ -580,6 +580,7 @@
     "//components/crash/android:javatests",
     "//components/dom_distiller/core/android:dom_distiller_core_java",
     "//components/download/internal/background_service:internal_java",
+    "//components/embedder_support/android:web_contents_delegate_java",
     "//components/feature_engagement:feature_engagement_java",
     "//components/gcm_driver/android:gcm_driver_java",
     "//components/gcm_driver/instance_id/android:instance_id_driver_java",
@@ -603,7 +604,6 @@
     "//components/sync/android:sync_java",
     "//components/sync/android:sync_javatests",
     "//components/url_formatter/android:url_formatter_java",
-    "//components/web_contents_delegate_android:web_contents_delegate_android_java",
     "//components/web_restrictions:provider_java",
     "//content/public/android:content_java",
     "//content/public/test/android:content_java_test_support",
diff --git a/chrome/android/java/DEPS b/chrome/android/java/DEPS
index 088d9da..58b1c80 100644
--- a/chrome/android/java/DEPS
+++ b/chrome/android/java/DEPS
@@ -6,6 +6,7 @@
   "+components/crash/android/java",
   "+components/dom_distiller/content/browser/android/java/src/org/chromium/components/dom_distiller/content",
   "+components/dom_distiller/core/android/java/src/org/chromium/components/dom_distiller/core",
+  "+components/embedder_support/android/delegate",
   "+components/feature_engagement/public/android/java/src/org/chromium/components/feature_engagement",
   "+components/gcm_driver/android/java/src/org/chromium/components/gcm_driver",
   "+components/location/android/java",
@@ -14,7 +15,6 @@
   "+components/offline_items_collection/core/android/java",
   "+components/payments/content/android/java/src/org/chromium/components/payments",
   "+components/sync/android/java/src/org/chromium/components/sync",
-  "+components/web_contents_delegate_android",
   "+components/web_restrictions",
 
   "-content/public/android",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
index c79256b..01ff9994 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java
@@ -19,10 +19,10 @@
 import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
 import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler;
 import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.components.embedder_support.delegate.WebContentsDelegateAndroid;
 import org.chromium.components.embedder_support.view.ContentView;
 import org.chromium.components.navigation_interception.InterceptNavigationDelegate;
 import org.chromium.components.navigation_interception.NavigationParams;
-import org.chromium.components.web_contents_delegate_android.WebContentsDelegateAndroid;
 import org.chromium.content_public.browser.ContentVideoViewEmbedder;
 import org.chromium.content_public.browser.ContentViewCore;
 import org.chromium.content_public.browser.LoadUrlParams;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/document/DocumentWebContentsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/document/DocumentWebContentsDelegate.java
index e47771e..71e186f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/document/DocumentWebContentsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/document/DocumentWebContentsDelegate.java
@@ -4,7 +4,7 @@
 
 package org.chromium.chrome.browser.document;
 
-import org.chromium.components.web_contents_delegate_android.WebContentsDelegateAndroid;
+import org.chromium.components.embedder_support.delegate.WebContentsDelegateAndroid;
 import org.chromium.content_public.browser.WebContents;
 
 /**
@@ -48,4 +48,4 @@
     private native long nativeInitialize();
     private native void nativeAttachContents(
             long nativeDocumentWebContentsDelegate, WebContents webContents);
-}
\ No newline at end of file
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java
index 86a9edd..73d2631 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java
@@ -6,8 +6,8 @@
 
 import org.chromium.chrome.browser.contextmenu.ChromeContextMenuPopulator;
 import org.chromium.chrome.browser.contextmenu.ContextMenuPopulator;
+import org.chromium.components.embedder_support.delegate.WebContentsDelegateAndroid;
 import org.chromium.components.navigation_interception.InterceptNavigationDelegate;
-import org.chromium.components.web_contents_delegate_android.WebContentsDelegateAndroid;
 
 /**
  * A factory class to create {@link Tab} related delegates.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
index 0bab7de5..63df102 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
@@ -43,8 +43,8 @@
 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
 import org.chromium.chrome.browser.tabmodel.TabModelUtils;
 import org.chromium.chrome.browser.tabmodel.TabWindowManager;
+import org.chromium.components.embedder_support.delegate.WebContentsDelegateAndroid;
 import org.chromium.components.embedder_support.media.ActivityContentVideoViewEmbedder;
-import org.chromium.components.web_contents_delegate_android.WebContentsDelegateAndroid;
 import org.chromium.content_public.browser.ContentVideoViewEmbedder;
 import org.chromium.content_public.browser.GestureListenerManager;
 import org.chromium.content_public.browser.InvalidateTypes;
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 05712a08..a543b3b 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2434,12 +2434,12 @@
       "//chrome/services/media_gallery_util/public/cpp",
       "//components/cdm/browser",
       "//components/data_usage/android",
+      "//components/embedder_support/android:web_contents_delegate",
       "//components/feed:buildflags",
       "//components/feed:feature_list",
       "//components/payments/content/android",
       "//components/resources:components_resources",
       "//components/toolbar",
-      "//components/web_contents_delegate_android",
       "//rlz:rlz_utils",
       "//sandbox",
       "//sandbox:sandbox_buildflags",
diff --git a/chrome/browser/android/DEPS b/chrome/browser/android/DEPS
index ed8369f..f1764553 100644
--- a/chrome/browser/android/DEPS
+++ b/chrome/browser/android/DEPS
@@ -2,13 +2,13 @@
   "-components/devtools_bridge",
   "+cc/layers/layer.h",
   "+chrome_jni_registration/chrome_jni_registration.h",
+  "+components/embedder_suport",
   "+components/ntp_snippets",
   "+components/spellcheck/browser",
   "+components/sync/android",
   "+components/sync/test/fake_server/android",
   "+components/toolbar",
   "+components/viz/common/gpu/context_provider.h",
-  "+components/web_contents_delegate_android",
   "+device/vr/buildflags/buildflags.h",
   "+sandbox/linux/seccomp-bpf/sandbox_bpf.h",
   "+sandbox/linux/seccomp-bpf-helpers",
diff --git a/chrome/browser/android/bottombar/overlay_panel_content.cc b/chrome/browser/android/bottombar/overlay_panel_content.cc
index 14b98a04..9bcd7736 100644
--- a/chrome/browser/android/bottombar/overlay_panel_content.cc
+++ b/chrome/browser/android/bottombar/overlay_panel_content.cc
@@ -16,10 +16,10 @@
 #include "chrome/browser/search_engines/template_url_service_factory.h"
 #include "chrome/browser/ui/android/view_android_helper.h"
 #include "chrome/common/chrome_render_frame.mojom.h"
+#include "components/embedder_support/android/delegate/web_contents_delegate_android.h"
 #include "components/history/core/browser/history_service.h"
 #include "components/navigation_interception/intercept_navigation_delegate.h"
 #include "components/variations/variations_associated_data.h"
-#include "components/web_contents_delegate_android/web_contents_delegate_android.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/browser_controls_state.h"
diff --git a/chrome/browser/android/document/document_web_contents_delegate.cc b/chrome/browser/android/document/document_web_contents_delegate.cc
index bd91615..d1f5c65 100644
--- a/chrome/browser/android/document/document_web_contents_delegate.cc
+++ b/chrome/browser/android/document/document_web_contents_delegate.cc
@@ -4,7 +4,7 @@
 
 #include "chrome/browser/android/document/document_web_contents_delegate.h"
 
-#include "components/web_contents_delegate_android/web_contents_delegate_android.h"
+#include "components/embedder_support/android/delegate/web_contents_delegate_android.h"
 #include "content/public/browser/web_contents.h"
 #include "jni/DocumentWebContentsDelegate_jni.h"
 
diff --git a/chrome/browser/android/document/document_web_contents_delegate.h b/chrome/browser/android/document/document_web_contents_delegate.h
index 3537cb06..2c3e345 100644
--- a/chrome/browser/android/document/document_web_contents_delegate.h
+++ b/chrome/browser/android/document/document_web_contents_delegate.h
@@ -7,7 +7,7 @@
 
 #include <stdint.h>
 
-#include "components/web_contents_delegate_android/web_contents_delegate_android.h"
+#include "components/embedder_support/android/delegate/web_contents_delegate_android.h"
 
 // Stub WebContentsDelegateAndroid that is meant to be a temporary substitute
 // for a real WebContentsDelegate for the (expectedly short) period between when
diff --git a/chrome/browser/android/tab_web_contents_delegate_android.h b/chrome/browser/android/tab_web_contents_delegate_android.h
index d645103..8a4f33c0 100644
--- a/chrome/browser/android/tab_web_contents_delegate_android.h
+++ b/chrome/browser/android/tab_web_contents_delegate_android.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_ANDROID_TAB_WEB_CONTENTS_DELEGATE_ANDROID_H_
 
 #include "base/files/file_path.h"
-#include "components/web_contents_delegate_android/web_contents_delegate_android.h"
+#include "components/embedder_support/android/delegate/web_contents_delegate_android.h"
 #include "content/public/browser/bluetooth_chooser.h"
 #include "content/public/browser/notification_observer.h"
 #include "content/public/browser/notification_registrar.h"
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index cf7e83e..8f0a3e46 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1237,9 +1237,9 @@
     ]
     deps += [
       "//chrome/browser:jni_headers",
+      "//components/embedder_support/android:web_contents_delegate",
       "//components/navigation_interception",
       "//components/subresource_filter/core/browser:browser",
-      "//components/web_contents_delegate_android",
       "//crypto:platform",
       "//device/usb/mojo",
       "//device/usb/public/cpp",
diff --git a/chrome/browser/ui/android/color_chooser_dialog_android.cc b/chrome/browser/ui/android/color_chooser_dialog_android.cc
index 0459b14..0abbae6 100644
--- a/chrome/browser/ui/android/color_chooser_dialog_android.cc
+++ b/chrome/browser/ui/android/color_chooser_dialog_android.cc
@@ -5,7 +5,7 @@
 #include "chrome/browser/ui/browser_dialogs.h"
 
 // The actual android color chooser is at
-// components/web_contents_delegate_android/color_chooser_android.cc
+// components/embedder_support/android/delegate/color_chooser_android.cc
 
 namespace chrome {
 
diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
index 23a55479..b8fdd527 100644
--- a/chrome/test/android/BUILD.gn
+++ b/chrome/test/android/BUILD.gn
@@ -74,6 +74,7 @@
     "//chrome/android:chrome_java",
     "//chrome/android/third_party/compositor_animator:compositor_animator_java",
     "//components/bookmarks/common/android:bookmarks_java",
+    "//components/embedder_support/android:web_contents_delegate_java",
     "//components/invalidation/impl:java",
     "//components/location/android:location_java",
     "//components/policy/android:policy_java",
@@ -81,7 +82,6 @@
     "//components/signin/core/browser/android:java",
     "//components/signin/core/browser/android:signin_java_test_support",
     "//components/sync/android:sync_java",
-    "//components/web_contents_delegate_android:web_contents_delegate_android_java",
     "//content/public/android:content_java",
     "//content/public/test/android:content_java_test_support",
     "//net/android:net_java",
diff --git a/components/OWNERS b/components/OWNERS
index 5bbb5625..f3ef29a 100644
--- a/components/OWNERS
+++ b/components/OWNERS
@@ -30,7 +30,7 @@
 per-file translate_strings.grdp=file://components/translate/OWNERS
 per-file undo_strings.grdp=file://components/undo/OWNERS
 per-file version_ui_strings.grdp=file://components/version_ui/OWNERS
-per-file web_contents_delegate_android_strings.grdp=file://components/web_contents_delegate_android/OWNERS
+per-file web_contents_delegate_android_strings.grdp=file://components/embedder_support/android/delegate/OWNERS
 
 # These are for the common case of adding or removing tests. If you're making
 # structural changes, please get a review from one of the overall components
diff --git a/components/embedder_support/android/BUILD.gn b/components/embedder_support/android/BUILD.gn
index 3e993b0..f6665ae4 100644
--- a/components/embedder_support/android/BUILD.gn
+++ b/components/embedder_support/android/BUILD.gn
@@ -54,3 +54,112 @@
   ]
   jni_package = "view"
 }
+
+java_strings_grd("web_contents_delegate_strings_grd") {
+  grd_file = "java/strings/web_contents_delegate_android_strings.grd"
+  outputs = [
+    "values-am/web_contents_delegate_android_strings.xml",
+    "values-ar/web_contents_delegate_android_strings.xml",
+    "values-bg/web_contents_delegate_android_strings.xml",
+    "values-ca/web_contents_delegate_android_strings.xml",
+    "values-cs/web_contents_delegate_android_strings.xml",
+    "values-da/web_contents_delegate_android_strings.xml",
+    "values-de/web_contents_delegate_android_strings.xml",
+    "values-el/web_contents_delegate_android_strings.xml",
+    "values/web_contents_delegate_android_strings.xml",
+    "values-en-rGB/web_contents_delegate_android_strings.xml",
+    "values-es/web_contents_delegate_android_strings.xml",
+    "values-es-rUS/web_contents_delegate_android_strings.xml",
+    "values-fa/web_contents_delegate_android_strings.xml",
+    "values-fi/web_contents_delegate_android_strings.xml",
+    "values-tl/web_contents_delegate_android_strings.xml",
+    "values-fr/web_contents_delegate_android_strings.xml",
+    "values-hi/web_contents_delegate_android_strings.xml",
+    "values-hr/web_contents_delegate_android_strings.xml",
+    "values-hu/web_contents_delegate_android_strings.xml",
+    "values-in/web_contents_delegate_android_strings.xml",
+    "values-it/web_contents_delegate_android_strings.xml",
+    "values-iw/web_contents_delegate_android_strings.xml",
+    "values-ja/web_contents_delegate_android_strings.xml",
+    "values-ko/web_contents_delegate_android_strings.xml",
+    "values-lt/web_contents_delegate_android_strings.xml",
+    "values-lv/web_contents_delegate_android_strings.xml",
+    "values-nl/web_contents_delegate_android_strings.xml",
+    "values-nb/web_contents_delegate_android_strings.xml",
+    "values-pl/web_contents_delegate_android_strings.xml",
+    "values-pt-rBR/web_contents_delegate_android_strings.xml",
+    "values-pt-rPT/web_contents_delegate_android_strings.xml",
+    "values-ro/web_contents_delegate_android_strings.xml",
+    "values-ru/web_contents_delegate_android_strings.xml",
+    "values-sk/web_contents_delegate_android_strings.xml",
+    "values-sl/web_contents_delegate_android_strings.xml",
+    "values-sr/web_contents_delegate_android_strings.xml",
+    "values-sv/web_contents_delegate_android_strings.xml",
+    "values-sw/web_contents_delegate_android_strings.xml",
+    "values-th/web_contents_delegate_android_strings.xml",
+    "values-tr/web_contents_delegate_android_strings.xml",
+    "values-uk/web_contents_delegate_android_strings.xml",
+    "values-vi/web_contents_delegate_android_strings.xml",
+    "values-zh-rCN/web_contents_delegate_android_strings.xml",
+    "values-zh-rTW/web_contents_delegate_android_strings.xml",
+  ]
+}
+
+static_library("web_contents_delegate") {
+  sources = [
+    "delegate/color_chooser_android.cc",
+    "delegate/color_chooser_android.h",
+    "delegate/web_contents_delegate_android.cc",
+    "delegate/web_contents_delegate_android.h",
+  ]
+
+  deps = [
+    ":web_contents_delegate_jni_headers",
+    "//base",
+    "//content/public/browser",
+    "//content/public/common",
+    "//net",
+    "//skia",
+    "//ui/android",
+    "//ui/base",
+    "//ui/gfx",
+    "//ui/gfx/geometry",
+  ]
+}
+
+android_resources("web_contents_delegate_java_resources") {
+  custom_package = "org.chromium.components.embedder_support.delegate"
+  resource_dirs = [ "java/res" ]
+  deps = [
+    ":web_contents_delegate_strings_grd",
+  ]
+}
+
+android_library("web_contents_delegate_java") {
+  deps = [
+    ":web_contents_delegate_java_resources",
+    "//base:base_java",
+    "//content/public/android:content_java",
+    "//ui/android:ui_java",
+  ]
+  java_files = [
+    "java/src/org/chromium/components/embedder_support/delegate/ColorChooserAndroid.java",
+    "java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvanced.java",
+    "java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvancedComponent.java",
+    "java/src/org/chromium/components/embedder_support/delegate/ColorPickerDialog.java",
+    "java/src/org/chromium/components/embedder_support/delegate/ColorPickerMoreButton.java",
+    "java/src/org/chromium/components/embedder_support/delegate/ColorPickerSimple.java",
+    "java/src/org/chromium/components/embedder_support/delegate/ColorSuggestion.java",
+    "java/src/org/chromium/components/embedder_support/delegate/ColorSuggestionListAdapter.java",
+    "java/src/org/chromium/components/embedder_support/delegate/WebContentsDelegateAndroid.java",
+    "java/src/org/chromium/components/embedder_support/delegate/OnColorChangedListener.java",
+  ]
+}
+
+generate_jni("web_contents_delegate_jni_headers") {
+  sources = [
+    "java/src/org/chromium/components/embedder_support/delegate/ColorChooserAndroid.java",
+    "java/src/org/chromium/components/embedder_support/delegate/WebContentsDelegateAndroid.java",
+  ]
+  jni_package = "web_contents_delegate_android"
+}
diff --git a/components/web_contents_delegate_android/DEPS b/components/embedder_support/android/delegate/DEPS
similarity index 100%
rename from components/web_contents_delegate_android/DEPS
rename to components/embedder_support/android/delegate/DEPS
diff --git a/components/embedder_support/android/delegate/OWNERS b/components/embedder_support/android/delegate/OWNERS
new file mode 100644
index 0000000..9fd8a62
--- /dev/null
+++ b/components/embedder_support/android/delegate/OWNERS
@@ -0,0 +1,2 @@
[email protected]
[email protected]
\ No newline at end of file
diff --git a/components/web_contents_delegate_android/color_chooser_android.cc b/components/embedder_support/android/delegate/color_chooser_android.cc
similarity index 94%
rename from components/web_contents_delegate_android/color_chooser_android.cc
rename to components/embedder_support/android/delegate/color_chooser_android.cc
index 8e89372..c6cf78d4 100644
--- a/components/web_contents_delegate_android/color_chooser_android.cc
+++ b/components/embedder_support/android/delegate/color_chooser_android.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/web_contents_delegate_android/color_chooser_android.h"
+#include "components/embedder_support/android/delegate/color_chooser_android.h"
 
 #include <stddef.h>
 
@@ -50,8 +50,7 @@
     OnColorChosen(env, j_color_chooser_, initial_color);
 }
 
-ColorChooserAndroid::~ColorChooserAndroid() {
-}
+ColorChooserAndroid::~ColorChooserAndroid() {}
 
 void ColorChooserAndroid::End() {
   if (!j_color_chooser_.is_null()) {
diff --git a/components/web_contents_delegate_android/color_chooser_android.h b/components/embedder_support/android/delegate/color_chooser_android.h
similarity index 86%
rename from components/web_contents_delegate_android/color_chooser_android.h
rename to components/embedder_support/android/delegate/color_chooser_android.h
index c835916..d05421b 100644
--- a/components/web_contents_delegate_android/color_chooser_android.h
+++ b/components/embedder_support/android/delegate/color_chooser_android.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_WEB_CONTENTS_DELEGATE_ANDROID_COLOR_CHOOSER_ANDROID_H_
-#define COMPONENTS_WEB_CONTENTS_DELEGATE_ANDROID_COLOR_CHOOSER_ANDROID_H_
+#ifndef COMPONENTS_EMBEDDER_SUPPORT_ANDROID_DELEGATE_COLOR_CHOOSER_ANDROID_H_
+#define COMPONENTS_EMBEDDER_SUPPORT_ANDROID_DELEGATE_COLOR_CHOOSER_ANDROID_H_
 
 #include <vector>
 
@@ -52,4 +52,4 @@
 
 }  // namespace web_contents_delegate_android
 
-#endif  // COMPONENTS_WEB_CONTENTS_DELEGATE_ANDROID_COLOR_CHOOSER_ANDROID_H_
+#endif  // COMPONENTS_EMBEDDER_SUPPORT_ANDROID_DELEGATE_COLOR_CHOOSER_ANDROID_H_
diff --git a/components/web_contents_delegate_android/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
similarity index 95%
rename from components/web_contents_delegate_android/web_contents_delegate_android.cc
rename to components/embedder_support/android/delegate/web_contents_delegate_android.cc
index 70edaf6..bd4ee2d 100644
--- a/components/web_contents_delegate_android/web_contents_delegate_android.cc
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/web_contents_delegate_android/web_contents_delegate_android.h"
+#include "components/embedder_support/android/delegate/web_contents_delegate_android.h"
 
 #include <android/keycodes.h>
 
 #include "base/android/jni_android.h"
 #include "base/android/jni_array.h"
 #include "base/android/jni_string.h"
-#include "components/web_contents_delegate_android/color_chooser_android.h"
+#include "components/embedder_support/android/delegate/color_chooser_android.h"
 #include "content/public/browser/color_chooser.h"
 #include "content/public/browser/global_request_id.h"
 #include "content/public/browser/invalidate_type.h"
@@ -38,14 +38,12 @@
 namespace web_contents_delegate_android {
 
 WebContentsDelegateAndroid::WebContentsDelegateAndroid(JNIEnv* env, jobject obj)
-    : weak_java_delegate_(env, obj) {
-}
+    : weak_java_delegate_(env, obj) {}
 
-WebContentsDelegateAndroid::~WebContentsDelegateAndroid() {
-}
+WebContentsDelegateAndroid::~WebContentsDelegateAndroid() {}
 
-ScopedJavaLocalRef<jobject>
-WebContentsDelegateAndroid::GetJavaDelegate(JNIEnv* env) const {
+ScopedJavaLocalRef<jobject> WebContentsDelegateAndroid::GetJavaDelegate(
+    JNIEnv* env) const {
   return weak_java_delegate_.get(env);
 }
 
@@ -89,7 +87,7 @@
     ScopedJavaLocalRef<jstring> java_url =
         ConvertUTF8ToJavaString(env, url.spec());
     ScopedJavaLocalRef<jstring> extra_headers =
-            ConvertUTF8ToJavaString(env, params.extra_headers);
+        ConvertUTF8ToJavaString(env, params.extra_headers);
     ScopedJavaLocalRef<jobject> post_data;
     if (params.uses_post && params.post_data) {
       post_data = content::ConvertResourceRequestBodyToJavaObject(
@@ -124,7 +122,8 @@
 }
 
 void WebContentsDelegateAndroid::NavigationStateChanged(
-    WebContents* source, content::InvalidateTypes changed_flags) {
+    WebContents* source,
+    content::InvalidateTypes changed_flags) {
   JNIEnv* env = AttachCurrentThread();
   ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
   if (obj.is_null())
@@ -150,7 +149,8 @@
   Java_WebContentsDelegateAndroid_activateContents(env, obj);
 }
 
-void WebContentsDelegateAndroid::LoadingStateChanged(WebContents* source,
+void WebContentsDelegateAndroid::LoadingStateChanged(
+    WebContents* source,
     bool to_different_document) {
   JNIEnv* env = AttachCurrentThread();
   ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
@@ -350,7 +350,8 @@
   if (obj.is_null())
     return false;
   ScopedJavaLocalRef<jstring> j_url = ConvertUTF8ToJavaString(env, url.spec());
-  return Java_WebContentsDelegateAndroid_shouldBlockMediaRequest(env, obj, j_url);
+  return Java_WebContentsDelegateAndroid_shouldBlockMediaRequest(env, obj,
+                                                                 j_url);
 }
 
 void WebContentsDelegateAndroid::EnterFullscreenModeForTab(
@@ -384,8 +385,7 @@
 }
 
 void WebContentsDelegateAndroid::RequestAppBannerFromDevTools(
-    content::WebContents* web_contents) {
-}
+    content::WebContents* web_contents) {}
 
 void WebContentsDelegateAndroid::OnDidBlockFramebust(
     content::WebContents* web_contents,
diff --git a/components/web_contents_delegate_android/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
similarity index 93%
rename from components/web_contents_delegate_android/web_contents_delegate_android.h
rename to components/embedder_support/android/delegate/web_contents_delegate_android.h
index db514ed..e7dd15a 100644
--- a/components/web_contents_delegate_android/web_contents_delegate_android.h
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_DELEGATE_ANDROID_H_
-#define COMPONENTS_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_DELEGATE_ANDROID_H_
+#ifndef COMPONENTS_EMBEDDER_SUPPORT_ANDROID_DELEGATE_WEB_CONTENTS_DELEGATE_ANDROID_H_
+#define COMPONENTS_EMBEDDER_SUPPORT_ANDROID_DELEGATE_WEB_CONTENTS_DELEGATE_ANDROID_H_
 
 #include <stdint.h>
 
@@ -21,7 +21,7 @@
 class WebContentsDelegate;
 struct NativeWebKeyboardEvent;
 struct OpenURLParams;
-}
+}  // namespace content
 
 namespace web_contents_delegate_android {
 
@@ -36,7 +36,6 @@
   WEB_CONTENTS_DELEGATE_LOG_LEVEL_ERROR = 3,
 };
 
-
 // Native underpinnings of WebContentsDelegateAndroid.java. Provides a default
 // delegate for WebContents to forward calls to the java peer. The embedding
 // application may subclass and override methods on either the C++ or Java side
@@ -103,8 +102,8 @@
       const content::NativeWebKeyboardEvent& event) override;
   bool TakeFocus(content::WebContents* source, bool reverse) override;
   void ShowRepostFormWarningDialog(content::WebContents* source) override;
-  base::android::ScopedJavaLocalRef<jobject>
-      GetContentVideoViewEmbedder() override;
+  base::android::ScopedJavaLocalRef<jobject> GetContentVideoViewEmbedder()
+      override;
   bool ShouldBlockMediaRequest(const GURL& url) override;
   void EnterFullscreenModeForTab(
       content::WebContents* web_contents,
@@ -133,4 +132,4 @@
 
 }  // namespace web_contents_delegate_android
 
-#endif  // COMPONENTS_WEB_CONTENTS_DELEGATE_ANDROID_WEB_CONTENTS_DELEGATE_ANDROID_H_
+#endif  // COMPONENTS_EMBEDDER_SUPPORT_ANDROID_DELEGATE_WEB_CONTENTS_DELEGATE_ANDROID_H_
diff --git a/components/web_contents_delegate_android/java/res/drawable-hdpi/color_picker_advanced_select_handle.png b/components/embedder_support/android/java/res/drawable-hdpi/color_picker_advanced_select_handle.png
similarity index 100%
rename from components/web_contents_delegate_android/java/res/drawable-hdpi/color_picker_advanced_select_handle.png
rename to components/embedder_support/android/java/res/drawable-hdpi/color_picker_advanced_select_handle.png
Binary files differ
diff --git a/components/web_contents_delegate_android/java/res/drawable-mdpi/color_picker_advanced_select_handle.png b/components/embedder_support/android/java/res/drawable-mdpi/color_picker_advanced_select_handle.png
similarity index 100%
rename from components/web_contents_delegate_android/java/res/drawable-mdpi/color_picker_advanced_select_handle.png
rename to components/embedder_support/android/java/res/drawable-mdpi/color_picker_advanced_select_handle.png
Binary files differ
diff --git a/components/web_contents_delegate_android/java/res/drawable-xhdpi/color_picker_advanced_select_handle.png b/components/embedder_support/android/java/res/drawable-xhdpi/color_picker_advanced_select_handle.png
similarity index 100%
rename from components/web_contents_delegate_android/java/res/drawable-xhdpi/color_picker_advanced_select_handle.png
rename to components/embedder_support/android/java/res/drawable-xhdpi/color_picker_advanced_select_handle.png
Binary files differ
diff --git a/components/web_contents_delegate_android/java/res/drawable/color_button_background.xml b/components/embedder_support/android/java/res/drawable/color_button_background.xml
similarity index 100%
rename from components/web_contents_delegate_android/java/res/drawable/color_button_background.xml
rename to components/embedder_support/android/java/res/drawable/color_button_background.xml
diff --git a/components/web_contents_delegate_android/java/res/drawable/color_picker_border.xml b/components/embedder_support/android/java/res/drawable/color_picker_border.xml
similarity index 100%
rename from components/web_contents_delegate_android/java/res/drawable/color_picker_border.xml
rename to components/embedder_support/android/java/res/drawable/color_picker_border.xml
diff --git a/components/web_contents_delegate_android/java/res/layout/color_picker_advanced_component.xml b/components/embedder_support/android/java/res/layout/color_picker_advanced_component.xml
similarity index 100%
rename from components/web_contents_delegate_android/java/res/layout/color_picker_advanced_component.xml
rename to components/embedder_support/android/java/res/layout/color_picker_advanced_component.xml
diff --git a/components/web_contents_delegate_android/java/res/layout/color_picker_dialog_content.xml b/components/embedder_support/android/java/res/layout/color_picker_dialog_content.xml
similarity index 87%
rename from components/web_contents_delegate_android/java/res/layout/color_picker_dialog_content.xml
rename to components/embedder_support/android/java/res/layout/color_picker_dialog_content.xml
index 552b27c6..85111fd 100644
--- a/components/web_contents_delegate_android/java/res/layout/color_picker_dialog_content.xml
+++ b/components/embedder_support/android/java/res/layout/color_picker_dialog_content.xml
@@ -15,13 +15,13 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
-        <org.chromium.components.web_contents_delegate_android.ColorPickerAdvanced
+        <org.chromium.components.embedder_support.delegate.ColorPickerAdvanced
             android:id="@+id/color_picker_advanced"
             android:layout_width="match_parent"
             android:layout_height="wrap_content" />
     </ScrollView>
 
-    <org.chromium.components.web_contents_delegate_android.ColorPickerSimple
+    <org.chromium.components.embedder_support.delegate.ColorPickerSimple
         android:id="@+id/color_picker_simple"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
@@ -39,7 +39,7 @@
         android:background="@drawable/color_picker_border"
         android:padding="1px">
 
-        <org.chromium.components.web_contents_delegate_android.ColorPickerMoreButton
+        <org.chromium.components.embedder_support.delegate.ColorPickerMoreButton
             android:id="@+id/more_colors_button"
             style="?android:attr/buttonBarButtonStyle"
             android:layout_width="match_parent"
diff --git a/components/web_contents_delegate_android/java/res/layout/color_picker_dialog_title.xml b/components/embedder_support/android/java/res/layout/color_picker_dialog_title.xml
similarity index 100%
rename from components/web_contents_delegate_android/java/res/layout/color_picker_dialog_title.xml
rename to components/embedder_support/android/java/res/layout/color_picker_dialog_title.xml
diff --git a/components/web_contents_delegate_android/java/res/values/colors.xml b/components/embedder_support/android/java/res/values/colors.xml
similarity index 100%
rename from components/web_contents_delegate_android/java/res/values/colors.xml
rename to components/embedder_support/android/java/res/values/colors.xml
diff --git a/components/web_contents_delegate_android/java/res/values/dimens.xml b/components/embedder_support/android/java/res/values/dimens.xml
similarity index 100%
rename from components/web_contents_delegate_android/java/res/values/dimens.xml
rename to components/embedder_support/android/java/res/values/dimens.xml
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorChooserAndroid.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorChooserAndroid.java
similarity index 97%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorChooserAndroid.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorChooserAndroid.java
index f50e57f..4ef31f4 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorChooserAndroid.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorChooserAndroid.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 import android.content.Context;
 
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvanced.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvanced.java
similarity index 98%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvanced.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvanced.java
index 4310b3d..e871fcb3 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvanced.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvanced.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 import android.content.Context;
 import android.graphics.Color;
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvancedComponent.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvancedComponent.java
similarity index 97%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvancedComponent.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvancedComponent.java
index 3e42672..80360f0 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvancedComponent.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerAdvancedComponent.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 import android.content.Context;
 import android.graphics.drawable.GradientDrawable;
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerDialog.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerDialog.java
similarity index 98%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerDialog.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerDialog.java
index cc8f0b81..dca3c3c 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerDialog.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerDialog.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 import android.app.AlertDialog;
 import android.app.Dialog;
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerMoreButton.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerMoreButton.java
similarity index 95%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerMoreButton.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerMoreButton.java
index d692f4f..52bd67e2 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerMoreButton.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerMoreButton.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 import android.content.Context;
 import android.graphics.Canvas;
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerSimple.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerSimple.java
similarity index 93%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerSimple.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerSimple.java
index d9c20ab..b7ec055 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerSimple.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorPickerSimple.java
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 import android.content.Context;
 import android.graphics.Color;
 import android.util.AttributeSet;
 import android.widget.ListView;
 
-import org.chromium.components.web_contents_delegate_android.ColorSuggestionListAdapter.OnColorSuggestionClickListener;
+import org.chromium.components.embedder_support.delegate.ColorSuggestionListAdapter.OnColorSuggestionClickListener;
 
 /**
  * Draws a grid of (predefined) colors and allows the user to choose one of
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestion.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorSuggestion.java
similarity index 90%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestion.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorSuggestion.java
index c1ac714..d4d43c50 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestion.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorSuggestion.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 /**
  * Color suggestion container used to store information for each color button that will be shown in
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestionListAdapter.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorSuggestionListAdapter.java
similarity index 98%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestionListAdapter.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorSuggestionListAdapter.java
index ceaefad..fdc4c85 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestionListAdapter.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/ColorSuggestionListAdapter.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 import android.content.Context;
 import android.graphics.Color;
diff --git a/components/web_contents_delegate_android/java/DEPS b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/DEPS
similarity index 100%
rename from components/web_contents_delegate_android/java/DEPS
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/DEPS
diff --git a/components/web_contents_delegate_android/OWNERS b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/OWNERS
similarity index 100%
rename from components/web_contents_delegate_android/OWNERS
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/OWNERS
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/OnColorChangedListener.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/OnColorChangedListener.java
similarity index 86%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/OnColorChangedListener.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/OnColorChangedListener.java
index 95630adb..fa6d3ce0 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/OnColorChangedListener.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/OnColorChangedListener.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 /**
  * The callback used to indicate the user changed the color.
@@ -14,4 +14,4 @@
      * @param color The color that was set.
      */
     void onColorChanged(int color);
-}
\ No newline at end of file
+}
diff --git a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/WebContentsDelegateAndroid.java
similarity index 98%
rename from components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java
rename to components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/WebContentsDelegateAndroid.java
index bc6694b4..a11cf96b 100644
--- a/components/web_contents_delegate_android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/delegate/WebContentsDelegateAndroid.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.components.web_contents_delegate_android;
+package org.chromium.components.embedder_support.delegate;
 
 import android.view.KeyEvent;
 
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_am.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_am.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_am.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_am.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ar.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ar.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ar.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ar.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_bg.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_bg.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_bg.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_bg.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ca.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ca.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ca.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ca.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_cs.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_cs.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_cs.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_cs.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_da.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_da.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_da.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_da.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_de.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_de.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_de.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_de.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_el.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_el.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_el.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_el.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_en-GB.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_en-GB.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_en-GB.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_en-GB.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_es-419.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_es-419.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_es-419.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_es-419.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_es.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_es.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_es.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_es.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_fa.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_fa.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_fa.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_fa.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_fi.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_fi.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_fi.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_fi.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_fil.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_fil.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_fil.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_fil.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_fr.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_fr.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_fr.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_fr.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_hi.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_hi.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_hi.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_hi.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_hr.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_hr.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_hr.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_hr.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_hu.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_hu.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_hu.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_hu.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_id.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_id.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_id.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_id.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_it.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_it.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_it.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_it.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_iw.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_iw.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_iw.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_iw.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ja.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ja.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ja.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ja.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ko.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ko.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ko.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ko.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_lt.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_lt.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_lt.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_lt.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_lv.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_lv.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_lv.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_lv.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_nl.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_nl.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_nl.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_nl.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_no.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_no.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_no.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_no.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_pl.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_pl.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_pl.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_pl.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_pt-BR.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_pt-BR.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_pt-BR.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_pt-BR.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_pt-PT.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_pt-PT.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_pt-PT.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_pt-PT.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ro.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ro.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ro.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ro.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ru.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ru.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_ru.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_ru.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sk.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sk.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sk.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sk.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sl.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sl.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sl.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sl.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sr.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sr.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sr.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sr.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sv.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sv.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sv.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sv.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sw.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sw.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_sw.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_sw.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_th.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_th.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_th.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_th.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_tr.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_tr.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_tr.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_tr.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_uk.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_uk.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_uk.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_uk.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_vi.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_vi.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_vi.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_vi.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_zh-CN.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_zh-CN.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_zh-CN.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_zh-CN.xtb
diff --git a/components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_zh-TW.xtb b/components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_zh-TW.xtb
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/translations/web_contents_delegate_android_strings_zh-TW.xtb
rename to components/embedder_support/android/java/strings/translations/web_contents_delegate_android_strings_zh-TW.xtb
diff --git a/components/web_contents_delegate_android/java/strings/web_contents_delegate_android_strings.grd b/components/embedder_support/android/java/strings/web_contents_delegate_android_strings.grd
similarity index 100%
rename from components/web_contents_delegate_android/java/strings/web_contents_delegate_android_strings.grd
rename to components/embedder_support/android/java/strings/web_contents_delegate_android_strings.grd
diff --git a/components/web_contents_delegate_android/BUILD.gn b/components/web_contents_delegate_android/BUILD.gn
deleted file mode 100644
index 7c83085..0000000
--- a/components/web_contents_delegate_android/BUILD.gn
+++ /dev/null
@@ -1,114 +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.
-
-import("//build/config/android/rules.gni")
-
-java_strings_grd("web_contents_delegate_android_strings_grd") {
-  grd_file = "java/strings/web_contents_delegate_android_strings.grd"
-  outputs = [
-    "values-am/web_contents_delegate_android_strings.xml",
-    "values-ar/web_contents_delegate_android_strings.xml",
-    "values-bg/web_contents_delegate_android_strings.xml",
-    "values-ca/web_contents_delegate_android_strings.xml",
-    "values-cs/web_contents_delegate_android_strings.xml",
-    "values-da/web_contents_delegate_android_strings.xml",
-    "values-de/web_contents_delegate_android_strings.xml",
-    "values-el/web_contents_delegate_android_strings.xml",
-    "values/web_contents_delegate_android_strings.xml",
-    "values-en-rGB/web_contents_delegate_android_strings.xml",
-    "values-es/web_contents_delegate_android_strings.xml",
-    "values-es-rUS/web_contents_delegate_android_strings.xml",
-    "values-fa/web_contents_delegate_android_strings.xml",
-    "values-fi/web_contents_delegate_android_strings.xml",
-    "values-tl/web_contents_delegate_android_strings.xml",
-    "values-fr/web_contents_delegate_android_strings.xml",
-    "values-hi/web_contents_delegate_android_strings.xml",
-    "values-hr/web_contents_delegate_android_strings.xml",
-    "values-hu/web_contents_delegate_android_strings.xml",
-    "values-in/web_contents_delegate_android_strings.xml",
-    "values-it/web_contents_delegate_android_strings.xml",
-    "values-iw/web_contents_delegate_android_strings.xml",
-    "values-ja/web_contents_delegate_android_strings.xml",
-    "values-ko/web_contents_delegate_android_strings.xml",
-    "values-lt/web_contents_delegate_android_strings.xml",
-    "values-lv/web_contents_delegate_android_strings.xml",
-    "values-nl/web_contents_delegate_android_strings.xml",
-    "values-nb/web_contents_delegate_android_strings.xml",
-    "values-pl/web_contents_delegate_android_strings.xml",
-    "values-pt-rBR/web_contents_delegate_android_strings.xml",
-    "values-pt-rPT/web_contents_delegate_android_strings.xml",
-    "values-ro/web_contents_delegate_android_strings.xml",
-    "values-ru/web_contents_delegate_android_strings.xml",
-    "values-sk/web_contents_delegate_android_strings.xml",
-    "values-sl/web_contents_delegate_android_strings.xml",
-    "values-sr/web_contents_delegate_android_strings.xml",
-    "values-sv/web_contents_delegate_android_strings.xml",
-    "values-sw/web_contents_delegate_android_strings.xml",
-    "values-th/web_contents_delegate_android_strings.xml",
-    "values-tr/web_contents_delegate_android_strings.xml",
-    "values-uk/web_contents_delegate_android_strings.xml",
-    "values-vi/web_contents_delegate_android_strings.xml",
-    "values-zh-rCN/web_contents_delegate_android_strings.xml",
-    "values-zh-rTW/web_contents_delegate_android_strings.xml",
-  ]
-}
-
-static_library("web_contents_delegate_android") {
-  sources = [
-    "color_chooser_android.cc",
-    "color_chooser_android.h",
-    "web_contents_delegate_android.cc",
-    "web_contents_delegate_android.h",
-  ]
-
-  deps = [
-    ":web_contents_delegate_android_jni_headers",
-    "//base",
-    "//content/public/browser",
-    "//content/public/common",
-    "//net",
-    "//skia",
-    "//ui/android",
-    "//ui/base",
-    "//ui/gfx",
-    "//ui/gfx/geometry",
-  ]
-}
-
-android_resources("web_contents_delegate_android_java_resources") {
-  custom_package = "org.chromium.components.web_contents_delegate_android"
-  resource_dirs = [ "java/res" ]
-  deps = [
-    ":web_contents_delegate_android_strings_grd",
-  ]
-}
-
-android_library("web_contents_delegate_android_java") {
-  deps = [
-    ":web_contents_delegate_android_java_resources",
-    "//base:base_java",
-    "//content/public/android:content_java",
-    "//ui/android:ui_java",
-  ]
-  java_files = [
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorChooserAndroid.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvanced.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvancedComponent.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorPickerDialog.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorPickerMoreButton.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorPickerSimple.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestion.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestionListAdapter.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/OnColorChangedListener.java",
-  ]
-}
-
-generate_jni("web_contents_delegate_android_jni_headers") {
-  sources = [
-    "java/src/org/chromium/components/web_contents_delegate_android/ColorChooserAndroid.java",
-    "java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java",
-  ]
-  jni_package = "web_contents_delegate_android"
-}
diff --git a/docs/chromoting_android_hacking.md b/docs/chromoting_android_hacking.md
index 53ac53c..834b5e2 100644
--- a/docs/chromoting_android_hacking.md
+++ b/docs/chromoting_android_hacking.md
@@ -54,7 +54,7 @@
 <classpathentry kind="src" path="components/cronet/android/sample/src"/>
 <classpathentry kind="src" path="components/cronet/android/sample/javatests/src"/>
 <classpathentry kind="src" path="components/autofill/core/browser/android/java/src"/>
-<classpathentry kind="src" path="components/web_contents_delegate_android/java/src"/>
+<classpathentry kind="src" path="components/embedder_support/android/java/src"/>
 <classpathentry kind="src" path="components/dom_distiller/android/java/src"/>
 <classpathentry kind="src" path="components/navigation_interception/android/java/src"/>
 <classpathentry kind="src" path="ui/android/java/src"/>
diff --git a/tools/android/eclipse/.classpath b/tools/android/eclipse/.classpath
index 37b476e..ceebbc7d 100644
--- a/tools/android/eclipse/.classpath
+++ b/tools/android/eclipse/.classpath
@@ -78,7 +78,7 @@
     <classpathentry kind="src" path="components/test/android/browsertests_apk/src"/>
     <classpathentry kind="src" path="components/url_formatter/android/java/src"/>
     <classpathentry kind="src" path="components/variations/android/java/src"/>
-    <classpathentry kind="src" path="components/web_contents_delegate_android/java/src"/>
+    <classpathentry kind="src" path="components/embedder_suppport/android/java/src"/>
     <classpathentry kind="src" path="components/web_restrictions/browser/java/src"/>
     <classpathentry kind="src" path="components/web_restrictions/browser/javatests/src"/>
     <classpathentry kind="src" path="components/web_restrictions/browser/junit/src"/>
@@ -275,7 +275,7 @@
     <classpathentry kind="lib" path="out/Debug/lib.java/components/service_tab_launcher/service_tab_launcher_java.jar"/>
     <classpathentry kind="lib" path="out/Debug/lib.java/components/signin/core/browser/android/java.jar"/>
     <classpathentry kind="lib" path="out/Debug/lib.java/components/variations/android/variations_java.jar"/>
-    <classpathentry kind="lib" path="out/Debug/lib.java/components/web_contents_delegate_android/web_contents_delegate_android_java.jar"/>
+    <classpathentry kind="lib" path="out/Debug/lib.java/components/embedder_suppport/android/web_contents_delegate_java.jar"/>
     <classpathentry kind="lib" path="out/Debug/lib.java/content/public/android/content_java.jar"/>
     <classpathentry kind="lib" path="out/Debug/lib.java/device/battery/android/battery_monitor_android.jar"/>
     <classpathentry kind="lib" path="out/Debug/lib.java/device/battery/mojo_bindings_java.jar"/>
diff --git a/tools/gritsettings/resource_ids b/tools/gritsettings/resource_ids
index 2c9ca8b..15d8fdc 100644
--- a/tools/gritsettings/resource_ids
+++ b/tools/gritsettings/resource_ids
@@ -188,7 +188,7 @@
   "components/resources/components_scaled_resources.grd": {
     "structures": [17200],
   },
-  "components/web_contents_delegate_android/web_contents_delegate_android_strings.grd": {
+  "components/embedder_suppport/android/java/strings/web_contents_delegate_android_strings.grd": {
     "messages": [17400],
   },
   # END components/ section.
diff --git a/tools/gritsettings/translation_expectations.pyl b/tools/gritsettings/translation_expectations.pyl
index cb6e8d2..869c8bd 100644
--- a/tools/gritsettings/translation_expectations.pyl
+++ b/tools/gritsettings/translation_expectations.pyl
@@ -63,7 +63,7 @@
       "chrome/android/java/strings/android_chrome_strings.grd",
       "chrome/android/webapk/strings/android_webapk_strings.grd",
       "components/autofill/android/java/strings/autofill_strings.grd",
-      "components/web_contents_delegate_android/java/strings/web_contents_delegate_android_strings.grd",
+      "components/embedder_suppport/android/java/strings/web_contents_delegate_android_strings.grd",
       "content/public/android/java/strings/android_content_strings.grd",
       "ui/android/java/strings/android_ui_strings.grd",
     ],