diff options
author | Gustav Sennton <gsennton@google.com> | 2018-02-26 16:22:59 +0000 |
---|---|---|
committer | Gustav Sennton <gsennton@google.com> | 2018-02-26 17:19:41 +0000 |
commit | 6903c25f9361869f583e799e1d102b8a23d32fad (patch) | |
tree | 7ad51ae623f02761a86a36a5d3ea4def25943864 | |
parent | 7b527a9a1cda7903e47bad9f2c8894dae3f5837a (diff) | |
download | webview_support_interfaces-6903c25f9361869f583e799e1d102b8a23d32fad.tar.gz |
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 <boliu@chromium.org>
Commit-Queue: Gustav Sennton <gsennton@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#539153}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c3fcc3e0d7908ae3f1f9bb6b70365780624be278
4 files changed, 27 insertions, 1 deletions
@@ -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); +} |