summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-03-29 17:59:35 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-03-29 17:59:35 +0000
commit79835a748c48ff1de748dacda6d741142751bee7 (patch)
treef11ecae27af6ce8a289d9cdc28c024649cb76712
parentb0150b9b66ac7ec731c56864b0b084870011869d (diff)
parentb505b3c3e3d5b197e64a62aa0be55dc1ea2b1dd0 (diff)
downloadwebview_support_interfaces-androidx-vectordrawable-release.tar.gz
Snap for 11647390 from b505b3c3e3d5b197e64a62aa0be55dc1ea2b1dd0 to androidx-vectordrawable-releaseandroidx-vectordrawable-release
Change-Id: If10e7442095a52d2b9e0f4c5ba47a6d55bcdc5c1
-rw-r--r--BUILD.gn4
-rw-r--r--src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java22
-rw-r--r--src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java8
-rw-r--r--src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java6
-rw-r--r--src/org/chromium/support_lib_boundary/ProfileBoundaryInterface.java23
-rw-r--r--src/org/chromium/support_lib_boundary/ProfileStoreBoundaryInterface.java18
-rw-r--r--src/org/chromium/support_lib_boundary/ProxyControllerBoundaryInterface.java14
-rw-r--r--src/org/chromium/support_lib_boundary/SafeBrowsingResponseBoundaryInterface.java6
-rw-r--r--src/org/chromium/support_lib_boundary/ScriptHandlerBoundaryInterface.java4
-rw-r--r--src/org/chromium/support_lib_boundary/ServiceWorkerClientBoundaryInterface.java4
-rw-r--r--src/org/chromium/support_lib_boundary/ServiceWorkerControllerBoundaryInterface.java5
-rw-r--r--src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java4
-rw-r--r--src/org/chromium/support_lib_boundary/StaticsBoundaryInterface.java9
-rw-r--r--src/org/chromium/support_lib_boundary/TracingControllerBoundaryInterface.java6
-rw-r--r--src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java4
-rw-r--r--src/org/chromium/support_lib_boundary/WebMessageBoundaryInterface.java4
-rw-r--r--src/org/chromium/support_lib_boundary/WebMessageCallbackBoundaryInterface.java7
-rw-r--r--src/org/chromium/support_lib_boundary/WebMessageListenerBoundaryInterface.java12
-rw-r--r--src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java7
-rw-r--r--src/org/chromium/support_lib_boundary/WebMessagePortBoundaryInterface.java4
-rw-r--r--src/org/chromium/support_lib_boundary/WebResourceErrorBoundaryInterface.java5
-rw-r--r--src/org/chromium/support_lib_boundary/WebResourceRequestBoundaryInterface.java8
-rw-r--r--src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java59
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java22
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewCookieManagerBoundaryInterface.java4
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java26
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java10
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewRendererBoundaryInterface.java4
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java5
-rw-r--r--src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java5
-rw-r--r--src/org/chromium/support_lib_boundary/package-info.java4
-rw-r--r--src/org/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil.java16
-rw-r--r--src/org/chromium/support_lib_boundary/util/Features.java42
33 files changed, 262 insertions, 119 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 43ae324..a7e8d2a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -12,6 +12,8 @@ android_library("boundary_interface_java") {
"src/org/chromium/support_lib_boundary/IsomorphicObjectBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java",
+ "src/org/chromium/support_lib_boundary/ProfileBoundaryInterface.java",
+ "src/org/chromium/support_lib_boundary/ProfileStoreBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/ProxyControllerBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/SafeBrowsingResponseBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/ScriptHandlerBoundaryInterface.java",
@@ -60,7 +62,7 @@ android_apk("boundary_interface_example_apk") {
# against the minSdkVersion of the webkit support library module. As the
# minSdkVersion of the support library increases, so should this value. See
# http://crbug.com/828184 for more details.
- min_sdk_version = 14
+ lint_min_sdk_version = 14
# Explicitly enable lint for this apk.
enable_lint = true
diff --git a/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java b/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java
index 9e694a2..8872999 100644
--- a/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java
@@ -15,19 +15,29 @@ import androidx.annotation.Nullable;
import java.io.FileNotFoundException;
-/**
- * Boundary interface for DropDataProvider.
- */
+/** Boundary interface for DropDataProvider. */
public interface DropDataContentProviderBoundaryInterface {
boolean onCreate();
+
String[] getStreamTypes(@NonNull Uri uri, @NonNull String mimeTypeFilter);
+
ParcelFileDescriptor openFile(@NonNull ContentProvider providerWrapper, @NonNull Uri uri)
throws FileNotFoundException;
- Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection,
- @Nullable String[] selectionArgs, @Nullable String sortOrder);
+
+ Cursor query(
+ @NonNull Uri uri,
+ @Nullable String[] projection,
+ @Nullable String selection,
+ @Nullable String[] selectionArgs,
+ @Nullable String sortOrder);
+
String getType(@NonNull Uri uri);
+
Uri cache(byte[] imageBytes, String encodingFormat, String filename);
+
void setClearCachedDataIntervalMs(int milliseconds);
+
void onDragEnd(boolean imageInUse);
+
Bundle call(@NonNull String method, @Nullable String arg, @Nullable Bundle extras);
-} \ No newline at end of file
+}
diff --git a/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java b/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java
index 689982f..7e70f21 100644
--- a/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java
@@ -6,13 +6,9 @@ package org.chromium.support_lib_boundary;
import java.lang.reflect.InvocationHandler;
-/**
- * Boundary interface for org.chromium.android_webview.WebMessageListener.
- */
+/** Boundary interface for org.chromium.android_webview.WebMessageListener. */
public interface JsReplyProxyBoundaryInterface extends IsomorphicObjectBoundaryInterface {
- /**
- * Prefer using {@link #postMessageWithPayload}.
- */
+ /** Prefer using {@link #postMessageWithPayload}. */
void postMessage(String message);
void postMessageWithPayload(/* MessagePayload */ InvocationHandler payload);
diff --git a/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java b/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java
index 1b8a7d2..1f40347 100644
--- a/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java
+++ b/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java
@@ -12,9 +12,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-/**
- * Constants for ProcessGlobalConfig shared between chromium and AndroidX.
- */
+/** Constants for ProcessGlobalConfig shared between chromium and AndroidX. */
public final class ProcessGlobalConfigConstants {
private ProcessGlobalConfigConstants() {}
@@ -42,4 +40,4 @@ public final class ProcessGlobalConfigConstants {
* chromium via reflection into AndroidX class.
*/
public static final String CACHE_DIRECTORY_BASE_PATH = "CACHE_DIRECTORY_BASE_PATH";
-} \ No newline at end of file
+}
diff --git a/src/org/chromium/support_lib_boundary/ProfileBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ProfileBoundaryInterface.java
new file mode 100644
index 0000000..457a561
--- /dev/null
+++ b/src/org/chromium/support_lib_boundary/ProfileBoundaryInterface.java
@@ -0,0 +1,23 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.support_lib_boundary;
+
+import android.webkit.CookieManager;
+import android.webkit.GeolocationPermissions;
+import android.webkit.ServiceWorkerController;
+import android.webkit.WebStorage;
+
+/** Boundary interface for Profile. */
+public interface ProfileBoundaryInterface {
+ String getName();
+
+ CookieManager getCookieManager();
+
+ WebStorage getWebStorage();
+
+ GeolocationPermissions getGeoLocationPermissions();
+
+ ServiceWorkerController getServiceWorkerController();
+}
diff --git a/src/org/chromium/support_lib_boundary/ProfileStoreBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ProfileStoreBoundaryInterface.java
new file mode 100644
index 0000000..1db724e
--- /dev/null
+++ b/src/org/chromium/support_lib_boundary/ProfileStoreBoundaryInterface.java
@@ -0,0 +1,18 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.support_lib_boundary;
+
+import java.lang.reflect.InvocationHandler;
+import java.util.List;
+
+public interface ProfileStoreBoundaryInterface {
+ /* ProfileBoundaryInterface */ InvocationHandler getOrCreateProfile(String name);
+
+ /* ProfileBoundaryInterface */ InvocationHandler getProfile(String name);
+
+ List<String> getAllProfileNames();
+
+ boolean deleteProfile(String name);
+}
diff --git a/src/org/chromium/support_lib_boundary/ProxyControllerBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ProxyControllerBoundaryInterface.java
index ff9ed8c..77e1644 100644
--- a/src/org/chromium/support_lib_boundary/ProxyControllerBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/ProxyControllerBoundaryInterface.java
@@ -6,13 +6,17 @@ package org.chromium.support_lib_boundary;
import java.util.concurrent.Executor;
-/**
- * Boundary interface for ProxyController.
- */
+/** Boundary interface for ProxyController. */
public interface ProxyControllerBoundaryInterface {
void setProxyOverride(
String[][] proxyRules, String[] bypassRules, Runnable listener, Executor executor);
- void setProxyOverride(String[][] proxyRules, String[] bypassRules, Runnable listener,
- Executor executor, boolean reverseBypass);
+
+ void setProxyOverride(
+ String[][] proxyRules,
+ String[] bypassRules,
+ Runnable listener,
+ Executor executor,
+ boolean reverseBypass);
+
void clearProxyOverride(Runnable listener, Executor executor);
}
diff --git a/src/org/chromium/support_lib_boundary/SafeBrowsingResponseBoundaryInterface.java b/src/org/chromium/support_lib_boundary/SafeBrowsingResponseBoundaryInterface.java
index 0b88b28..4419770 100644
--- a/src/org/chromium/support_lib_boundary/SafeBrowsingResponseBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/SafeBrowsingResponseBoundaryInterface.java
@@ -4,11 +4,11 @@
package org.chromium.support_lib_boundary;
-/**
- * Boundary interface for SafeBrowsingResponseCompat.
- */
+/** Boundary interface for SafeBrowsingResponseCompat. */
public interface SafeBrowsingResponseBoundaryInterface {
void showInterstitial(boolean allowReporting);
+
void proceed(boolean report);
+
void backToSafety(boolean report);
}
diff --git a/src/org/chromium/support_lib_boundary/ScriptHandlerBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ScriptHandlerBoundaryInterface.java
index 7d2c8f2..c8134bb 100644
--- a/src/org/chromium/support_lib_boundary/ScriptHandlerBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/ScriptHandlerBoundaryInterface.java
@@ -4,9 +4,7 @@
package org.chromium.support_lib_boundary;
-/**
- * Boundary interface for AwContents.addDocumentStartJavascript().
- */
+/** Boundary interface for AwContents.addDocumentStartJavascript(). */
public interface ScriptHandlerBoundaryInterface {
void remove();
}
diff --git a/src/org/chromium/support_lib_boundary/ServiceWorkerClientBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ServiceWorkerClientBoundaryInterface.java
index 43d09d7..713ba5c 100644
--- a/src/org/chromium/support_lib_boundary/ServiceWorkerClientBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/ServiceWorkerClientBoundaryInterface.java
@@ -7,9 +7,7 @@ package org.chromium.support_lib_boundary;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
-/**
- * Boundary interface for ServiceWorkerClient.
- */
+/** Boundary interface for ServiceWorkerClient. */
public interface ServiceWorkerClientBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
WebResourceResponse shouldInterceptRequest(WebResourceRequest request);
}
diff --git a/src/org/chromium/support_lib_boundary/ServiceWorkerControllerBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ServiceWorkerControllerBoundaryInterface.java
index 077a8fd..9acb9a8 100644
--- a/src/org/chromium/support_lib_boundary/ServiceWorkerControllerBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/ServiceWorkerControllerBoundaryInterface.java
@@ -6,10 +6,9 @@ package org.chromium.support_lib_boundary;
import java.lang.reflect.InvocationHandler;
-/**
- * Boundary interface for ServiceWorkerController.
- */
+/** Boundary interface for ServiceWorkerController. */
public interface ServiceWorkerControllerBoundaryInterface {
/* ServiceWorkerWebSettings */ InvocationHandler getServiceWorkerWebSettings();
+
void setServiceWorkerClient(/* ServiceWorkerClient */ InvocationHandler client);
}
diff --git a/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java
index f13f3a1..b308814 100644
--- a/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java
@@ -6,9 +6,7 @@ package org.chromium.support_lib_boundary;
import java.util.Set;
-/**
- * Boundary interface for ServiceWorkerWebSettings.
- */
+/** Boundary interface for ServiceWorkerWebSettings. */
public interface ServiceWorkerWebSettingsBoundaryInterface {
void setCacheMode(int mode);
diff --git a/src/org/chromium/support_lib_boundary/StaticsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/StaticsBoundaryInterface.java
index 8b281fc..d39558f 100644
--- a/src/org/chromium/support_lib_boundary/StaticsBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/StaticsBoundaryInterface.java
@@ -11,14 +11,17 @@ import android.webkit.ValueCallback;
import java.util.List;
import java.util.Set;
-/**
- * Boundary interface for WebViewFactoryProvider.Statics.
- */
+/** Boundary interface for WebViewFactoryProvider.Statics. */
public interface StaticsBoundaryInterface {
void initSafeBrowsing(Context context, ValueCallback<Boolean> callback);
+
void setSafeBrowsingAllowlist(Set<String> hosts, ValueCallback<Boolean> callback);
+
void setSafeBrowsingWhitelist(List<String> hosts, ValueCallback<Boolean> callback);
+
Uri getSafeBrowsingPrivacyPolicyUrl();
+
boolean isMultiProcessEnabled();
+
String getVariationsHeader();
}
diff --git a/src/org/chromium/support_lib_boundary/TracingControllerBoundaryInterface.java b/src/org/chromium/support_lib_boundary/TracingControllerBoundaryInterface.java
index 4f21973..c8606db 100644
--- a/src/org/chromium/support_lib_boundary/TracingControllerBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/TracingControllerBoundaryInterface.java
@@ -8,9 +8,7 @@ import java.io.OutputStream;
import java.util.Collection;
import java.util.concurrent.Executor;
-/**
- * Boundary interface for TracingController.
- */
+/** Boundary interface for TracingController. */
public interface TracingControllerBoundaryInterface {
boolean isTracing();
@@ -18,4 +16,4 @@ public interface TracingControllerBoundaryInterface {
throws IllegalStateException, IllegalArgumentException;
boolean stop(OutputStream outputStream, Executor executor);
-} \ No newline at end of file
+}
diff --git a/src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java b/src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java
index add67f7..f40b601 100644
--- a/src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java
@@ -6,4 +6,6 @@ package org.chromium.support_lib_boundary;
/**
*/
-public interface VisualStateCallbackBoundaryInterface { void onComplete(long requestId); }
+public interface VisualStateCallbackBoundaryInterface {
+ void onComplete(long requestId);
+}
diff --git a/src/org/chromium/support_lib_boundary/WebMessageBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebMessageBoundaryInterface.java
index d4315d2..15a2e06 100644
--- a/src/org/chromium/support_lib_boundary/WebMessageBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebMessageBoundaryInterface.java
@@ -6,9 +6,7 @@ package org.chromium.support_lib_boundary;
import java.lang.reflect.InvocationHandler;
-/**
- * Boundary interface for WebMessage.
- */
+/** Boundary interface for WebMessage. */
public interface WebMessageBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
@Deprecated
String getData();
diff --git a/src/org/chromium/support_lib_boundary/WebMessageCallbackBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebMessageCallbackBoundaryInterface.java
index 18710ce..19cbcdd 100644
--- a/src/org/chromium/support_lib_boundary/WebMessageCallbackBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebMessageCallbackBoundaryInterface.java
@@ -6,10 +6,9 @@ package org.chromium.support_lib_boundary;
import java.lang.reflect.InvocationHandler;
-/**
- * Boundary interface for WebMessagePort.WebMessageCallback.
- */
+/** Boundary interface for WebMessagePort.WebMessageCallback. */
public interface WebMessageCallbackBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
- void onMessage(/* WebMessagePort */ InvocationHandler port,
+ void onMessage(
+ /* WebMessagePort */ InvocationHandler port,
/* WebMessage */ InvocationHandler message);
}
diff --git a/src/org/chromium/support_lib_boundary/WebMessageListenerBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebMessageListenerBoundaryInterface.java
index 6019027..4527a09 100644
--- a/src/org/chromium/support_lib_boundary/WebMessageListenerBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebMessageListenerBoundaryInterface.java
@@ -9,10 +9,12 @@ import android.webkit.WebView;
import java.lang.reflect.InvocationHandler;
-/**
- * Boundary interface for org.chromium.android_webview.WebMessageListener.
- */
+/** Boundary interface for org.chromium.android_webview.WebMessageListener. */
public interface WebMessageListenerBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
- void onPostMessage(WebView view, /* WebMessage */ InvocationHandler message, Uri sourceOrigin,
- boolean isMainFrame, /* JsReplyProxy */ InvocationHandler replyProxy);
+ void onPostMessage(
+ WebView view,
+ /* WebMessage */ InvocationHandler message,
+ Uri sourceOrigin,
+ boolean isMainFrame,
+ /* JsReplyProxy */ InvocationHandler replyProxy);
}
diff --git a/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java
index 4635438..1b3061f 100644
--- a/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface.java
@@ -11,9 +11,7 @@ import androidx.annotation.Nullable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
-/**
- * Boundary interface for WebMessagePayload.
- */
+/** Boundary interface for WebMessagePayload. */
public interface WebMessagePayloadBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
@WebMessagePayloadType
int getType();
@@ -25,7 +23,8 @@ public interface WebMessagePayloadBoundaryInterface extends FeatureFlagHolderBou
byte[] getAsArrayBuffer();
@Retention(RetentionPolicy.SOURCE)
- @IntDef(flag = true,
+ @IntDef(
+ flag = true,
value = {WebMessagePayloadType.TYPE_STRING, WebMessagePayloadType.TYPE_ARRAY_BUFFER})
@interface WebMessagePayloadType {
int TYPE_STRING = 0;
diff --git a/src/org/chromium/support_lib_boundary/WebMessagePortBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebMessagePortBoundaryInterface.java
index e78adcf..95ba756 100644
--- a/src/org/chromium/support_lib_boundary/WebMessagePortBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebMessagePortBoundaryInterface.java
@@ -8,9 +8,7 @@ import android.os.Handler;
import java.lang.reflect.InvocationHandler;
-/**
- * Boundary interface for WebMessagePort.
- */
+/** Boundary interface for WebMessagePort. */
public interface WebMessagePortBoundaryInterface {
void postMessage(/* WebMessage */ InvocationHandler message);
diff --git a/src/org/chromium/support_lib_boundary/WebResourceErrorBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebResourceErrorBoundaryInterface.java
index 3830415..93c9399 100644
--- a/src/org/chromium/support_lib_boundary/WebResourceErrorBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebResourceErrorBoundaryInterface.java
@@ -4,10 +4,9 @@
package org.chromium.support_lib_boundary;
-/**
- * Boundary interface for WebResourceErrorCompat.
- */
+/** Boundary interface for WebResourceErrorCompat. */
public interface WebResourceErrorBoundaryInterface {
int getErrorCode();
+
CharSequence getDescription();
}
diff --git a/src/org/chromium/support_lib_boundary/WebResourceRequestBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebResourceRequestBoundaryInterface.java
index 30be829..43629ce 100644
--- a/src/org/chromium/support_lib_boundary/WebResourceRequestBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebResourceRequestBoundaryInterface.java
@@ -4,7 +4,7 @@
package org.chromium.support_lib_boundary;
-/**
- * Boundary interface for WebResourceRequest.
- */
-public interface WebResourceRequestBoundaryInterface { boolean isRedirect(); }
+/** Boundary interface for WebResourceRequest. */
+public interface WebResourceRequestBoundaryInterface {
+ boolean isRedirect();
+}
diff --git a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
index ef9eef8..f3a27ce 100644
--- a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java
@@ -9,30 +9,37 @@ package org.chromium.support_lib_boundary;
// app-facing classes should have a boundary-interface that the WebView glue layer can build
// against.
+import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.util.Map;
import java.util.Set;
-/**
- * Boundary interface for WebSettingsCompat.
- */
+/** Boundary interface for WebSettingsCompat. */
public interface WebSettingsBoundaryInterface {
void setOffscreenPreRaster(boolean enabled);
+
boolean getOffscreenPreRaster();
void setSafeBrowsingEnabled(boolean enabled);
+
boolean getSafeBrowsingEnabled();
void setDisabledActionModeMenuItems(int menuItems);
+
int getDisabledActionModeMenuItems();
void setWillSuppressErrorPage(boolean suppressed);
+
boolean getWillSuppressErrorPage();
void setForceDark(int forceDarkMode);
+
int getForceDark();
void setAlgorithmicDarkeningAllowed(boolean allow);
+
boolean isAlgorithmicDarkeningAllowed();
@Retention(RetentionPolicy.SOURCE)
@@ -43,25 +50,61 @@ public interface WebSettingsBoundaryInterface {
}
void setForceDarkBehavior(@ForceDarkBehavior int forceDarkBehavior);
+
@ForceDarkBehavior
int getForceDarkBehavior();
@Retention(RetentionPolicy.SOURCE)
- @interface WebAuthnSupport {
+ @interface WebauthnSupport {
int NONE = 0;
int APP = 1;
int BROWSER = 2;
}
- void setWebAuthnSupport(@WebAuthnSupport int support);
- @WebAuthnSupport
- int getWebAuthnSupport();
+ void setWebauthnSupport(@WebauthnSupport int support);
+
+ @WebauthnSupport
+ int getWebauthnSupport();
void setRequestedWithHeaderOriginAllowList(Set<String> allowedOriginRules);
+
Set<String> getRequestedWithHeaderOriginAllowList();
void setEnterpriseAuthenticationAppLinkPolicyEnabled(boolean enabled);
+
boolean getEnterpriseAuthenticationAppLinkPolicyEnabled();
- void enableRestrictSensitiveWebContent();
+ void setUserAgentMetadataFromMap(Map<String, Object> uaMetadata);
+
+ Map<String, Object> getUserAgentMetadataMap();
+
+ @Retention(RetentionPolicy.SOURCE)
+ @interface AttributionBehavior {
+ int DISABLED = 0;
+ int APP_SOURCE_AND_WEB_TRIGGER = 1;
+ int WEB_SOURCE_AND_WEB_TRIGGER = 2;
+ int APP_SOURCE_AND_APP_TRIGGER = 3;
+ }
+
+ void setAttributionBehavior(@AttributionBehavior int behavior);
+
+ @AttributionBehavior
+ int getAttributionBehavior();
+
+ @Target(ElementType.TYPE_USE)
+ @Retention(RetentionPolicy.SOURCE)
+ @interface WebViewMediaIntegrityApiStatus {
+ int DISABLED = 0;
+ int ENABLED_WITHOUT_APP_IDENTITY = 1;
+ int ENABLED = 2;
+ }
+
+ void setWebViewMediaIntegrityApiStatus(
+ @WebViewMediaIntegrityApiStatus int defaultPermission,
+ Map<String, @WebViewMediaIntegrityApiStatus Integer> permissionConfig);
+
+ @WebViewMediaIntegrityApiStatus
+ int getWebViewMediaIntegrityApiDefaultStatus();
+
+ Map<String, @WebViewMediaIntegrityApiStatus Integer> getWebViewMediaIntegrityApiOverrideRules();
}
diff --git a/src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java
index faaf51f..17cdee1 100644
--- a/src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java
@@ -11,18 +11,28 @@ import android.webkit.WebView;
import java.lang.reflect.InvocationHandler;
-/**
- * Boundary interface for WebViewClientCompat.
- */
+/** Boundary interface for WebViewClientCompat. */
public interface WebViewClientBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
void onPageCommitVisible(WebView view, String url);
- void onReceivedError(WebView view, WebResourceRequest request,
+
+ void onReceivedError(
+ WebView view,
+ WebResourceRequest request,
/* WebResourceError */ InvocationHandler error);
+
void onReceivedHttpError(
WebView view, WebResourceRequest request, WebResourceResponse errorResponse);
- void onSafeBrowsingHit(WebView view, WebResourceRequest request, int threatType,
+
+ void onSafeBrowsingHit(
+ WebView view,
+ WebResourceRequest request,
+ int threatType,
/* SafeBrowsingResponse */ InvocationHandler callback);
+
boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request);
- boolean onWebAuthnIntent(WebView view, PendingIntent intent,
+
+ boolean onWebAuthnIntent(
+ WebView view,
+ PendingIntent intent,
/* WebAuthnCallbackBoundaryInterface */ InvocationHandler callback);
}
diff --git a/src/org/chromium/support_lib_boundary/WebViewCookieManagerBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewCookieManagerBoundaryInterface.java
index f79cd22..64bd71f 100644
--- a/src/org/chromium/support_lib_boundary/WebViewCookieManagerBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebViewCookieManagerBoundaryInterface.java
@@ -6,9 +6,7 @@ package org.chromium.support_lib_boundary;
import java.util.List;
-/**
- * Boundary interface for CookieManagerCompat.
- */
+/** Boundary interface for CookieManagerCompat. */
public interface WebViewCookieManagerBoundaryInterface {
List<String> getCookieInfo(String url);
}
diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java
index 629f36f..717b3d3 100644
--- a/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java
@@ -13,19 +13,39 @@ import java.lang.reflect.InvocationHandler;
/**
*/
public interface WebViewProviderBoundaryInterface {
- void insertVisualStateCallback(long requestId,
- /* VisualStateCallback */ InvocationHandler callback);
+ void insertVisualStateCallback(
+ long requestId, /* VisualStateCallback */ InvocationHandler callback);
+
/* WebMessagePort */ InvocationHandler[] createWebMessageChannel();
+
void postMessageToMainFrame(/* WebMessage */ InvocationHandler message, Uri targetOrigin);
- void addWebMessageListener(String jsObjectName, String[] allowedOriginRules,
+
+ void addWebMessageListener(
+ String jsObjectName,
+ String[] allowedOriginRules,
/* WebMessageListener */ InvocationHandler listener);
+
void removeWebMessageListener(String jsObjectName);
+
/* ScriptHandler */ InvocationHandler addDocumentStartJavaScript(
String script, String[] allowedOriginRules);
+
WebViewClient getWebViewClient();
+
WebChromeClient getWebChromeClient();
+
/* WebViewRenderer */ InvocationHandler getWebViewRenderer();
+
/* WebViewRendererClient */ InvocationHandler getWebViewRendererClient();
+
void setWebViewRendererClient(
/* WebViewRendererClient */ InvocationHandler webViewRendererClient);
+
+ void setProfile(String profileName);
+
+ void setAudioMuted(boolean muted);
+
+ boolean isAudioMuted();
+
+ /* Profile */ InvocationHandler getProfile();
}
diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java
index f7c7ef7..521c7bb 100644
--- a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java
@@ -12,12 +12,20 @@ import java.lang.reflect.InvocationHandler;
*/
public interface WebViewProviderFactoryBoundaryInterface {
/* SupportLibraryWebViewChromium */ InvocationHandler createWebView(WebView webview);
+
/* SupportLibWebkitToCompatConverter */ InvocationHandler getWebkitToCompatConverter();
+
/* StaticsAdapter */ InvocationHandler getStatics();
+
String[] getSupportedFeatures();
+
/* SupportLibraryServiceWorkerController */ InvocationHandler getServiceWorkerController();
+
/* SupportLibraryTracingController */ InvocationHandler getTracingController();
+
/* SupportLibraryProxyController */ InvocationHandler getProxyController();
- void setSupportLibraryVersion(String version);
+
/* DropDataContentProviderBoundaryInterface*/ InvocationHandler getDropDataProvider();
+
+ /* ProfileStoreBoundaryInterface */ InvocationHandler getProfileStore();
}
diff --git a/src/org/chromium/support_lib_boundary/WebViewRendererBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewRendererBoundaryInterface.java
index db5819b..5f52afd 100644
--- a/src/org/chromium/support_lib_boundary/WebViewRendererBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebViewRendererBoundaryInterface.java
@@ -4,9 +4,7 @@
package org.chromium.support_lib_boundary;
-/**
- * Boundary interface for WebViewRenderer.
- */
+/** Boundary interface for WebViewRenderer. */
public interface WebViewRendererBoundaryInterface extends IsomorphicObjectBoundaryInterface {
boolean terminate();
}
diff --git a/src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java
index d7b447d..6e3f4f2 100644
--- a/src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java
@@ -8,10 +8,9 @@ import android.webkit.WebView;
import java.lang.reflect.InvocationHandler;
-/**
- * Boundary interface for WebViewRendererClient.
- */
+/** Boundary interface for WebViewRendererClient. */
public interface WebViewRendererClientBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
void onRendererUnresponsive(WebView view, /* WebViewRenderer */ InvocationHandler renderer);
+
void onRendererResponsive(WebView view, /* WebViewRenderer */ InvocationHandler renderer);
}
diff --git a/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java
index 5d4c8ac..c5ab5fe 100644
--- a/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java
@@ -21,6 +21,7 @@ public interface WebkitToCompatConverterBoundaryInterface {
// ====================================================
/* SupportLibraryWebSettings */ InvocationHandler convertSettings(WebSettings webSettings);
+
/* SupportLibraryWebResourceRequest */ InvocationHandler convertWebResourceRequest(
WebResourceRequest request);
@@ -43,24 +44,28 @@ public interface WebkitToCompatConverterBoundaryInterface {
// ServiceWorkerWebSettings
/* SupportLibServiceWorkerSettings */ InvocationHandler convertServiceWorkerSettings(
/* ServiceWorkerWebSettings */ Object serviceWorkerWebSettings);
+
/* ServiceWorkerWebSettings */ Object convertServiceWorkerSettings(
/* SupportLibServiceWorkerSettings */ InvocationHandler serviceWorkerSettings);
// WebResourceError
/* SupportLibWebResourceError */ InvocationHandler convertWebResourceError(
/* WebResourceError */ Object webResourceError);
+
/* WebResourceError */ Object convertWebResourceError(
/* SupportLibWebResourceError */ InvocationHandler webResourceError);
// SafeBrowsingResponse
/* SupportLibSafeBrowsingResponse */ InvocationHandler convertSafeBrowsingResponse(
/* SafeBrowsingResponse */ Object safeBrowsingResponse);
+
/* SafeBrowsingResponse */ Object convertSafeBrowsingResponse(
/* SupportLibSafeBrowsingResponse */ InvocationHandler safeBrowsingResponse);
// WebMessagePort
/* SupportLibWebMessagePort */ InvocationHandler convertWebMessagePort(
/* WebMessagePort */ Object webMessagePort);
+
/* WebMessagePort */ Object convertWebMessagePort(
/* SupportLibWebMessagePort */ InvocationHandler webMessagePort);
diff --git a/src/org/chromium/support_lib_boundary/package-info.java b/src/org/chromium/support_lib_boundary/package-info.java
index 1baeb36..47ab7de 100644
--- a/src/org/chromium/support_lib_boundary/package-info.java
+++ b/src/org/chromium/support_lib_boundary/package-info.java
@@ -2,7 +2,5 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-/**
- * @hide
- */
+/** @hide */
package org.chromium.support_lib_boundary;
diff --git a/src/org/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil.java b/src/org/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil.java
index 1432065..a19dcd0 100644
--- a/src/org/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil.java
+++ b/src/org/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil.java
@@ -16,9 +16,7 @@ import java.lang.reflect.Proxy;
import java.util.Arrays;
import java.util.Collection;
-/**
- * A set of utility methods used for calling across the support library boundary.
- */
+/** A set of utility methods used for calling across the support library boundary. */
// Although this is not enforced in chromium, this is a requirement enforced when this file is
// mirrored into AndroidX. See http://b/120770118 for details.
public class BoundaryInterfaceReflectionUtil {
@@ -74,8 +72,10 @@ public class BoundaryInterfaceReflectionUtil {
@NonNull Class<T> clazz, @Nullable InvocationHandler invocationHandler) {
if (invocationHandler == null) return null;
return clazz.cast(
- Proxy.newProxyInstance(BoundaryInterfaceReflectionUtil.class.getClassLoader(),
- new Class[] {clazz}, invocationHandler));
+ Proxy.newProxyInstance(
+ BoundaryInterfaceReflectionUtil.class.getClassLoader(),
+ new Class[] {clazz},
+ invocationHandler));
}
/**
@@ -104,7 +104,7 @@ public class BoundaryInterfaceReflectionUtil {
* <p>A {@code null} array of delegates is represented with a {@code null} array of {@link
* InvocationHandler}s. Any individual {@code null} delegate is represented with a {@code null}
* {@link InvocationHandler}.
-
+ *
* @param delegates an array of objects to which to delegate.
* @return an array of InvocationHandlerWithDelegateGetter instances, each delegating to
* the corresponding member of {@code delegates}.
@@ -168,9 +168,7 @@ public class BoundaryInterfaceReflectionUtil {
}
}
- /**
- * Gets the delegate object (which is never {@code null}).
- */
+ /** Gets the delegate object (which is never {@code null}). */
@NonNull
public Object getDelegate() {
return mDelegate;
diff --git a/src/org/chromium/support_lib_boundary/util/Features.java b/src/org/chromium/support_lib_boundary/util/Features.java
index 30a7bfa..95b6ff5 100644
--- a/src/org/chromium/support_lib_boundary/util/Features.java
+++ b/src/org/chromium/support_lib_boundary/util/Features.java
@@ -105,9 +105,8 @@ public class Features {
public static final String SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL =
"SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL";
- /**
- * Feature was renamed to WEB_MESSAGE_ARRAY_BUFFER.
- */
+ /** @deprecated Feature was renamed to WEB_MESSAGE_ARRAY_BUFFER. Do not reuse feature name. */
+ @Deprecated()
public static final String WEB_MESSAGE_GET_MESSAGE_PAYLOAD = "WEB_MESSAGE_GET_MESSAGE_PAYLOAD";
// JsReplyProxy.postMessageWithPayload
@@ -196,9 +195,6 @@ public class Features {
// WebViewCompat.removeWebMessageListener
public static final String WEB_MESSAGE_LISTENER = "WEB_MESSAGE_LISTENER";
- // WebViewProviderFactoryAdapter.setSupportLibraryVersion
- public static final String SET_SUPPORT_LIBRARY_VERSION = "SET_SUPPORT_LIBRARY_VERSION";
-
// WebViewCompat.addDocumentStartJavascript
public static final String DOCUMENT_START_SCRIPT = "DOCUMENT_START_SCRIPT:1";
@@ -210,9 +206,7 @@ public class Features {
// WebSettingsCompat.getRequestedWithHeaderMode
// ServiceWorkerWebSettingsCompat.setRequestedWithHeaderMode
// ServiceWorkerWebSettingsCompat.getRequestedWithHeaderMode
- /**
- * @deprecated Feature was never launched. Do not reuse feature name.
- */
+ /** @deprecated Feature was never launched. Do not reuse feature name. */
@Deprecated()
public static final String REQUESTED_WITH_HEADER_CONTROL = "REQUESTED_WITH_HEADER_CONTROL";
@@ -245,6 +239,36 @@ public class Features {
// DropDataContentProvider.call
public static final String IMAGE_DRAG_DROP = "IMAGE_DRAG_DROP";
+ // ProfileStore.getInstance
+ // ProfileStore.getOrCreateProfile
+ // ProfileStore.getProfile
+ // ProfileStore.getAllProfileNames
+ // ProfileStore.deleteProfile
+ // Profile.getName
+ // Profile.getCookieManager
+ // Profile.getWebStorage
+ // Profile.getGeolocationPermissions
+ // Profile.getServiceWorkerController
+ public static final String MULTI_PROFILE = "MULTI_PROFILE";
+
// WebSettingsCompat.enableRestrictSensitiveWebContent
+ @Deprecated()
public static final String RESTRICT_SENSITIVE_WEB_CONTENT = "RESTRICT_SENSITIVE_WEB_CONTENT";
+
+ // WebSettingsCompat.setUserAgentMetadataFromMap
+ // WebSettingsCompat.getUserAgentMetadataMap
+ public static final String USER_AGENT_METADATA = "USER_AGENT_METADATA";
+
+ // WebSettingsCompat.setAttributionBehavior
+ // WebSettingsCompat.getAttributionBehavior
+ public static final String ATTRIBUTION_BEHAVIOR = "ATTRIBUTION_BEHAVIOR";
+
+ // WebSettingsCompat.setWebViewMediaIntegrityApiStatus
+ // WebSettingsCompat.getWebViewMediaIntegrityApiDefaultStatus
+ // WebSettingsCompat.getWebViewMediaIntegrityApiOverrideRules
+ public static final String WEBVIEW_MEDIA_INTEGRITY_API_STATUS = "WEBVIEW_INTEGRITY_API_STATUS";
+
+ // WebViewCompat.setAudioMuted
+ // WebViewCompat.isAudioMuted
+ public static final String MUTE_AUDIO = "MUTE_AUDIO";
}