diff options
4 files changed, 31 insertions, 1 deletions
@@ -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"; } |