diff options
4 files changed, 46 insertions, 0 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/WebViewProviderFactoryBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java index ef4ea8e..f7c7ef7 100644 --- a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java +++ b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java @@ -19,4 +19,5 @@ public interface WebViewProviderFactoryBoundaryInterface { /* 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..990b16d 100644 --- a/src/org/chromium/support_lib_boundary/util/Features.java +++ b/src/org/chromium/support_lib_boundary/util/Features.java @@ -227,4 +227,15 @@ 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"; } |