diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
index 1c4915e0013a0f..1403ed58420029 100644
--- a/android_webview/BUILD.gn
+++ b/android_webview/BUILD.gn
@@ -713,6 +713,7 @@ source_set("common") {
"//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 @@ source_set("common") {
"//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 @@ android_library("android_webview_java") {
"//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 @@ android_library("android_webview_java") {
"//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 f23794881f8524..0b836c796acbd4 100644
--- a/android_webview/browser/DEPS
+++ b/android_webview/browser/DEPS
@@ -46,7 +46,7 @@ include_rules = [
"+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 b78778e1120585..e78cab1837daa4 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 8279631ac9c8a4..22f01429f6022f 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 14550284be0b2f..ec854404277d41 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 17b6ce27feac3a..ff24abb866a65d 100644
--- a/android_webview/test/BUILD.gn
+++ b/android_webview/test/BUILD.gn
@@ -131,12 +131,12 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"//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 27287dd1db76ca..6e5562a5a70d4b 100644
--- a/build/android/lint/suppressions.xml
+++ b/build/android/lint/suppressions.xml
@@ -157,7 +157,7 @@ Still reading?
-
+
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 486b4fb8f83213..c967ac7ddbbb64 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -236,6 +236,7 @@ android_library("chrome_java") {
"//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 @@ android_library("chrome_java") {
"//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 @@ android_library("chrome_test_java") {
"//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 @@ android_library("chrome_test_java") {
"//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 088d9da76e7c42..58b1c8037dba83 100644
--- a/chrome/android/java/DEPS
+++ b/chrome/android/java/DEPS
@@ -6,6 +6,7 @@ include_rules = [
"+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 @@ include_rules = [
"+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 c79256bb06dd90..01ff99942f6317 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 e47771e3cdd18b..71e186f941f400 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 DocumentWebContentsDelegate() {
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 86a9edd806f6a6..73d2631e808c1c 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 0bab7de59ef170..63df102aef487e 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 05712a085ad404..a543b3b7e13970 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2434,12 +2434,12 @@ jumbo_split_static_library("browser") {
"//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 ed8369f5b993d7..f17645534eca16 100644
--- a/chrome/browser/android/DEPS
+++ b/chrome/browser/android/DEPS
@@ -2,13 +2,13 @@ include_rules = [
"-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 14b98a0493e726..9bcd7736b767fb 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 bd916156082897..d1f5c651927f6d 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 3537cb069a9c3c..2c3e345e7f9bd3 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
-#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 d645103982e952..8a4f33c0e0a8e7 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 cf7e83eb3016bd..8f0a3e469f58c0 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1237,9 +1237,9 @@ split_static_library("ui") {
]
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 0459b14e5dcb96..0abbae66b5a289 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 23a55479ac6e5a..b8fdd5274bb5e2 100644
--- a/chrome/test/android/BUILD.gn
+++ b/chrome/test/android/BUILD.gn
@@ -74,6 +74,7 @@ android_library("chrome_java_test_support") {
"//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 @@ android_library("chrome_java_test_support") {
"//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 5bbb56254ee5a6..f3ef29a25d4ab8 100644
--- a/components/OWNERS
+++ b/components/OWNERS
@@ -30,7 +30,7 @@ per-file sync_ui_strings.grdp=file://components/sync/OWNERS
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 3e993b015c43a1..f6665ae44d52e5 100644
--- a/components/embedder_support/android/BUILD.gn
+++ b/components/embedder_support/android/BUILD.gn
@@ -54,3 +54,112 @@ generate_jni("view_jni_headers") {
]
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 00000000000000..9fd8a623f73340
--- /dev/null
+++ b/components/embedder_support/android/delegate/OWNERS
@@ -0,0 +1,2 @@
+boliu@chromium.org
+tedchoc@chromium.org
\ 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 95%
rename from components/web_contents_delegate_android/color_chooser_android.cc
rename to components/embedder_support/android/delegate/color_chooser_android.cc
index 8e89372b1f2ce4..c6cf78d4ef00f3 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
@@ -50,8 +50,7 @@ ColorChooserAndroid::ColorChooserAndroid(
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 c8359168540bab..d05421b37e0f36 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
@@ -52,4 +52,4 @@ class ColorChooserAndroid : public content::ColorChooser {
} // 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 70edaf6f0fc08b..bd4ee2d073fc13 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
#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 @@ using content::WebContentsDelegate;
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
-WebContentsDelegateAndroid::GetJavaDelegate(JNIEnv* env) const {
+ScopedJavaLocalRef WebContentsDelegateAndroid::GetJavaDelegate(
+ JNIEnv* env) const {
return weak_java_delegate_.get(env);
}
@@ -89,7 +87,7 @@ WebContents* WebContentsDelegateAndroid::OpenURLFromTab(
ScopedJavaLocalRef java_url =
ConvertUTF8ToJavaString(env, url.spec());
ScopedJavaLocalRef extra_headers =
- ConvertUTF8ToJavaString(env, params.extra_headers);
+ ConvertUTF8ToJavaString(env, params.extra_headers);
ScopedJavaLocalRef post_data;
if (params.uses_post && params.post_data) {
post_data = content::ConvertResourceRequestBodyToJavaObject(
@@ -124,7 +122,8 @@ WebContents* WebContentsDelegateAndroid::OpenURLFromTab(
}
void WebContentsDelegateAndroid::NavigationStateChanged(
- WebContents* source, content::InvalidateTypes changed_flags) {
+ WebContents* source,
+ content::InvalidateTypes changed_flags) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef obj = GetJavaDelegate(env);
if (obj.is_null())
@@ -150,7 +149,8 @@ void WebContentsDelegateAndroid::ActivateContents(WebContents* contents) {
Java_WebContentsDelegateAndroid_activateContents(env, obj);
}
-void WebContentsDelegateAndroid::LoadingStateChanged(WebContents* source,
+void WebContentsDelegateAndroid::LoadingStateChanged(
+ WebContents* source,
bool to_different_document) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef obj = GetJavaDelegate(env);
@@ -350,7 +350,8 @@ bool WebContentsDelegateAndroid::ShouldBlockMediaRequest(const GURL& url) {
if (obj.is_null())
return false;
ScopedJavaLocalRef 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 @@ bool WebContentsDelegateAndroid::IsFullscreenForTabOrPending(
}
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 db514ed0fdda73..e7dd15ae861242 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
@@ -21,7 +21,7 @@ class WebContents;
class WebContentsDelegate;
struct NativeWebKeyboardEvent;
struct OpenURLParams;
-}
+} // namespace content
namespace web_contents_delegate_android {
@@ -36,7 +36,6 @@ enum WebContentsDelegateLogLevel {
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 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
const content::NativeWebKeyboardEvent& event) override;
bool TakeFocus(content::WebContents* source, bool reverse) override;
void ShowRepostFormWarningDialog(content::WebContents* source) override;
- base::android::ScopedJavaLocalRef
- GetContentVideoViewEmbedder() override;
+ base::android::ScopedJavaLocalRef GetContentVideoViewEmbedder()
+ override;
bool ShouldBlockMediaRequest(const GURL& url) override;
void EnterFullscreenModeForTab(
content::WebContents* web_contents,
@@ -133,4 +132,4 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
} // 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
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
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
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 552b27c66f315b..85111fd115f708 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">
-
-
-
-
+
diff --git a/tools/android/eclipse/.classpath b/tools/android/eclipse/.classpath
index 37b476ec904596..ceebbc7dbb9a1e 100644
--- a/tools/android/eclipse/.classpath
+++ b/tools/android/eclipse/.classpath
@@ -78,7 +78,7 @@ to the classpath for downstream development. See "additional_entries" below.
-
+
@@ -275,7 +275,7 @@ to the classpath for downstream development. See "additional_entries" below.
-
+
diff --git a/tools/gritsettings/resource_ids b/tools/gritsettings/resource_ids
index 2c9ca8bbae88c0..15d8fdc55f91e1 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 cb6e8d2861b805..869c8bdca341d3 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",
],