summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustav Sennton <gsennton@google.com>2018-02-26 16:22:59 +0000
committerGustav Sennton <gsennton@google.com>2018-02-26 17:19:41 +0000
commit6903c25f9361869f583e799e1d102b8a23d32fad (patch)
tree7ad51ae623f02761a86a36a5d3ea4def25943864
parent7b527a9a1cda7903e47bad9f2c8894dae3f5837a (diff)
downloadwebview_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
-rw-r--r--BUILD.gn1
-rw-r--r--src/org/chromium/support_lib_boundary/WebSettingsBoundaryInterface.java7
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java3
-rw-r--r--src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java17
4 files changed, 27 insertions, 1 deletions
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);
+}