diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-09-05 19:03:53 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-09-05 19:03:53 +0000 |
commit | f7cb729758bd2cf03028c8b206c856116294b51a (patch) | |
tree | 6dc334df032cc9a63c54411b718c6fe937d9230b | |
parent | 43260e5bb805304b6385649f51bf28864cccc796 (diff) | |
parent | 099fddefcddadd46fbb1cedfc0c54917ecbe6c12 (diff) | |
download | webview_support_interfaces-androidx-sqlite-release.tar.gz |
Snap for 10763169 from 099fddefcddadd46fbb1cedfc0c54917ecbe6c12 to androidx-sqlite-releaseandroidx-sqlite-release
Change-Id: Iaafd4b808cba152e00d0fe6bb7a49b472d0b70a8
8 files changed, 88 insertions, 31 deletions
@@ -7,6 +7,7 @@ import("//build/config/android/rules.gni") android_library("boundary_interface_java") { sources = [ + "src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java", "src/org/chromium/support_lib_boundary/FeatureFlagHolderBoundaryInterface.java", "src/org/chromium/support_lib_boundary/IsomorphicObjectBoundaryInterface.java", "src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java", diff --git a/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java b/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java new file mode 100644 index 0000000..9e694a2 --- /dev/null +++ b/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java @@ -0,0 +1,33 @@ +// Copyright 2022 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.content.ContentProvider; +import android.database.Cursor; +import android.net.Uri; +import android.os.Bundle; +import android.os.ParcelFileDescriptor; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import java.io.FileNotFoundException; + +/** + * 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); + 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 046b157..689982f 100644 --- a/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java +++ b/src/org/chromium/support_lib_boundary/JsReplyProxyBoundaryInterface.java @@ -4,9 +4,16 @@ package org.chromium.support_lib_boundary; +import java.lang.reflect.InvocationHandler; + /** * Boundary interface for org.chromium.android_webview.WebMessageListener. */ public interface JsReplyProxyBoundaryInterface extends IsomorphicObjectBoundaryInterface { + /** + * 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 4da312b..1b8a7d2 100644 --- a/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java +++ b/src/org/chromium/support_lib_boundary/ProcessGlobalConfigConstants.java @@ -20,10 +20,7 @@ public final class ProcessGlobalConfigConstants { /** @hide */ @RestrictTo(RestrictTo.Scope.LIBRARY) - @StringDef(value = - { - DATA_DIRECTORY_SUFFIX, - }) + @StringDef(value = {DATA_DIRECTORY_SUFFIX, DATA_DIRECTORY_BASE_PATH, CACHE_DIRECTORY_BASE_PATH}) @Retention(RetentionPolicy.SOURCE) @Target({ElementType.PARAMETER, ElementType.METHOD}) public @interface ProcessGlobalConfigMapKey {} @@ -33,4 +30,16 @@ public final class ProcessGlobalConfigConstants { * via reflection into AndroidX class. */ public static final String DATA_DIRECTORY_SUFFIX = "DATA_DIRECTORY_SUFFIX"; + + /** + * Key for the data directory base path in the process global config map that is read in + * chromium via reflection into AndroidX class. + */ + public static final String DATA_DIRECTORY_BASE_PATH = "DATA_DIRECTORY_BASE_PATH"; + + /** + * Key for the cache directory base path in the process global config map that is read in + * 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/ServiceWorkerWebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java index 5a4b9ab..f13f3a1 100644 --- a/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java +++ b/src/org/chromium/support_lib_boundary/ServiceWorkerWebSettingsBoundaryInterface.java @@ -4,8 +4,6 @@ package org.chromium.support_lib_boundary; -import org.chromium.support_lib_boundary.WebSettingsBoundaryInterface.RequestedWithHeaderMode; - import java.util.Set; /** @@ -28,12 +26,6 @@ public interface ServiceWorkerWebSettingsBoundaryInterface { boolean getBlockNetworkLoads(); - @Deprecated - void setRequestedWithHeaderMode(@RequestedWithHeaderMode int mode); - @Deprecated - @RequestedWithHeaderMode - int getRequestedWithHeaderMode(); - void setRequestedWithHeaderOriginAllowList(Set<String> allowedOriginRules); Set<String> getRequestedWithHeaderOriginAllowList(); diff --git a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java index fa298a6..987dd78 100644 --- a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java +++ b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java @@ -11,6 +11,7 @@ package org.chromium.support_lib_boundary; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.Map; import java.util.Set; /** @@ -57,21 +58,12 @@ public interface WebSettingsBoundaryInterface { @WebAuthnSupport int getWebAuthnSupport(); - @Deprecated - @Retention(RetentionPolicy.SOURCE) - @interface RequestedWithHeaderMode { - int NO_HEADER = 0; - int APP_PACKAGE_NAME = 1; - } - @Deprecated - void setRequestedWithHeaderMode(@RequestedWithHeaderMode int mode); - @Deprecated - @RequestedWithHeaderMode - int getRequestedWithHeaderMode(); - void setRequestedWithHeaderOriginAllowList(Set<String> allowedOriginRules); Set<String> getRequestedWithHeaderOriginAllowList(); void setEnterpriseAuthenticationAppLinkPolicyEnabled(boolean enabled); boolean getEnterpriseAuthenticationAppLinkPolicyEnabled(); + + void setUserAgentMetadataFromMap(Map<String, Object> uaMetadata); + Map<String, Object> getUserAgentMetadataMap(); } diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java index ef4ea8e..f415011 100644 --- a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java +++ b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java @@ -18,5 +18,5 @@ public interface WebViewProviderFactoryBoundaryInterface { /* SupportLibraryServiceWorkerController */ InvocationHandler getServiceWorkerController(); /* SupportLibraryTracingController */ InvocationHandler getTracingController(); /* SupportLibraryProxyController */ InvocationHandler getProxyController(); - void setSupportLibraryVersion(String version); + /* DropDataContentProviderBoundaryInterface*/ InvocationHandler getDropDataProvider(); } diff --git a/src/org/chromium/support_lib_boundary/util/Features.java b/src/org/chromium/support_lib_boundary/util/Features.java index 2ddeece..870ac09 100644 --- a/src/org/chromium/support_lib_boundary/util/Features.java +++ b/src/org/chromium/support_lib_boundary/util/Features.java @@ -105,11 +105,18 @@ public class Features { public static final String SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL = "SAFE_BROWSING_RESPONSE_SHOW_INTERSTITIAL"; + /** + * @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 // WebMessage.getMessagePayload - // WebMessagePayload.getType - // WebMessagePayload.getAsString // WebMessagePayload.getAsArrayBuffer - public static final String WEB_MESSAGE_GET_MESSAGE_PAYLOAD = "WEB_MESSAGE_GET_MESSAGE_PAYLOAD"; + // WebMessagePayload.getAsString + // WebMessagePayload.getType + public static final String WEB_MESSAGE_ARRAY_BUFFER = "WEB_MESSAGE_ARRAY_BUFFER"; // WebMessagePortCompat.postMessage public static final String WEB_MESSAGE_PORT_POST_MESSAGE = "WEB_MESSAGE_PORT_POST_MESSAGE"; @@ -190,9 +197,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"; @@ -227,4 +231,23 @@ public class Features { // CookieManagerCompat.getCookieInfo public static final String GET_COOKIE_INFO = "GET_COOKIE_INFO"; + + // DropDataContentProvider.onCreate + // DropDataContentProvider.getStreamTypes + // DropDataContentProvider.openFile + // DropDataContentProvider.query + // DropDataContentProvider.getType + // DropDataContentProvider.cache + // DropDataContentProvider.setClearCachedDataIntervalMs + // DropDataContentProvider.onDragEnd + // DropDataContentProvider.call + public static final String IMAGE_DRAG_DROP = "IMAGE_DRAG_DROP"; + + // 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"; } |