From 6903c25f9361869f583e799e1d102b8a23d32fad Mon Sep 17 00:00:00 2001 From: Gustav Sennton Date: Mon, 26 Feb 2018 16:22:59 +0000 Subject: Add support for WebSettingsCompat. Also add a webkit-to-compat converter object which takes webkit objects, and returns the implementation for the corresponding Compat-object. E.g. WebSettings -> implementation for WebSettingsCompat. Bug: 812657 Change-Id: Ifb5507ec3f4f620621ab05b73d643abcc184cf85 Reviewed-on: https://chromium-review.googlesource.com/922623 Reviewed-by: Bo Commit-Queue: Gustav Sennton Cr-Original-Commit-Position: refs/heads/master@{#539153} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: c3fcc3e0d7908ae3f1f9bb6b70365780624be278 --- BUILD.gn | 1 + .../WebSettingsBoundaryInterface.java | 7 +++++++ .../WebViewProviderFactoryBoundaryInterface.java | 3 ++- .../WebkitToCompatConverterBoundaryInterface.java | 17 +++++++++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java diff --git a/BUILD.gn b/BUILD.gn index 0a73e73..378e626 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -12,6 +12,7 @@ android_library("boundary_interface_java") { "src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java", "src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java", "src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java", + "src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java", ] # We can't use ANY deps here, the support library should be able to build diff --git a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java index 4ee8d6b..428a3cc 100644 --- a/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java +++ b/src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java @@ -9,8 +9,15 @@ package org.chromium.support_lib_boundary; // app-facing classes should have a boundary-interface that the WebView glue layer can build // against. /** + * 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(); } diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java index 47ff918..21bd49c 100644 --- a/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java +++ b/src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java @@ -11,5 +11,6 @@ import java.lang.reflect.InvocationHandler; /** */ public interface WebViewProviderFactoryBoundaryInterface { - /* SupportLibraryWebViewProvider */ InvocationHandler createWebView(WebView webview); + /* SupportLibraryWebViewChromium */ InvocationHandler createWebView(WebView webview); + /* SupportLibWebkitToCompatConverter */ InvocationHandler getWebkitToCompatConverter(); } diff --git a/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java new file mode 100644 index 0000000..95068cf --- /dev/null +++ b/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java @@ -0,0 +1,17 @@ +// Copyright 2018 The Chromium Authors. All rights reserved. +// 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.WebSettings; + +import java.lang.reflect.InvocationHandler; + +/** + * Boundary interface for a class used for converting webkit objects into Compat (support library) + * objects. + */ +public interface WebkitToCompatConverterBoundaryInterface { + /* SupportLibraryWebSettings */ InvocationHandler convertSettings(WebSettings webSettings); +} -- cgit v1.2.3