diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-04-08 19:44:35 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-04-08 19:44:35 +0000 |
commit | 58de9d9686b1ae0fb6b56132036785644318d46b (patch) | |
tree | f11ecae27af6ce8a289d9cdc28c024649cb76712 | |
parent | c540315ce9f003239a94b57c63835ca21e0cfbb6 (diff) | |
parent | b505b3c3e3d5b197e64a62aa0be55dc1ea2b1dd0 (diff) | |
download | webview_support_interfaces-androidx-paging-release.tar.gz |
Snap for 11684396 from b505b3c3e3d5b197e64a62aa0be55dc1ea2b1dd0 to androidx-paging-releaseandroidx-paging-release
Change-Id: I93968d0a8c4bfd5e8d5b269b6be49f8ba93a8298
33 files changed, 262 insertions, 119 deletions
@@ -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"; } |