summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD.gn3
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java3
-rw-r--r--src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java17
-rw-r--r--src/org/chromium/support_lib_boundary/util/Features.java9
4 files changed, 31 insertions, 1 deletions
diff --git a/BUILD.gn b/BUILD.gn
index c43edc3..cc7e835 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -16,6 +16,7 @@ android_library("boundary_interface_java") {
"src/org/chromium/support_lib_boundary/StaticsBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/TracingControllerBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/VisualStateCallbackBoundaryInterface.java",
+ "src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/WebMessageBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/WebMessageCallbackBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/WebMessagePortBoundaryInterface.java",
@@ -26,7 +27,7 @@ android_library("boundary_interface_java") {
"src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/WebViewProviderFactoryBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/WebViewRendererBoundaryInterface.java",
- "src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java",
+ "src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java",
"src/org/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil.java",
"src/org/chromium/support_lib_boundary/util/Features.java",
]
diff --git a/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java
index 9f8609c..c896d89 100644
--- a/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java
+++ b/src/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface.java
@@ -20,4 +20,7 @@ public interface WebViewProviderBoundaryInterface {
WebViewClient getWebViewClient();
WebChromeClient getWebChromeClient();
/* WebViewRenderer */ InvocationHandler getWebViewRenderer();
+ /* WebViewRendererClient */ InvocationHandler getWebViewRendererClient();
+ void setWebViewRendererClient(
+ /* WebViewRendererClient */ InvocationHandler webViewRendererClient);
}
diff --git a/src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java b/src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.java
new file mode 100644
index 0000000..043ca66
--- /dev/null
+++ b/src/org/chromium/support_lib_boundary/WebViewRendererClientBoundaryInterface.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.WebView;
+
+import java.lang.reflect.InvocationHandler;
+
+/**
+ * Boundary interface for WebViewRendererClient.
+ */
+public interface WebViewRendererClientBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
+ void onRendererUnresponsive(WebView view, /* WebViewRenderer */ InvocationHandler renderer);
+ void onRendererResponsive(WebView view, /* WebViewRenderer */ InvocationHandler renderer);
+}
diff --git a/src/org/chromium/support_lib_boundary/util/Features.java b/src/org/chromium/support_lib_boundary/util/Features.java
index b382c0b..287bcc0 100644
--- a/src/org/chromium/support_lib_boundary/util/Features.java
+++ b/src/org/chromium/support_lib_boundary/util/Features.java
@@ -143,4 +143,13 @@ public class Features {
// TracingController.start
// TracingController.stop
public static final String TRACING_CONTROLLER_BASIC_USAGE = "TRACING_CONTROLLER_BASIC_USAGE";
+
+ // Renderer client set/getter and callbacks:
+ //
+ // WebView.getWebViewRendererClient
+ // WebView.setWebViewRendererClient
+ // WebViewRendererClient.onRendererUnresponsive()
+ // WebViewRendererClient.onRendererResponsive()
+ public static final String WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE =
+ "WEB_VIEW_RENDERER_CLIENT_BASIC_USAGE";
}