blob: 717b3d393ec891f06ab404f7f5e314a0a218d943 [file] [log] [blame] [edit]
// Copyright 2018 The Chromium Authors
// 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.net.Uri;
import android.webkit.WebChromeClient;
import android.webkit.WebViewClient;
import java.lang.reflect.InvocationHandler;
/**
*/
public interface WebViewProviderBoundaryInterface {
void insertVisualStateCallback(
long requestId, /* VisualStateCallback */ InvocationHandler callback);
/* WebMessagePort */ InvocationHandler[] createWebMessageChannel();
void postMessageToMainFrame(/* WebMessage */ InvocationHandler message, Uri targetOrigin);
void addWebMessageListener(
String jsObjectName,
String[] allowedOriginRules,
/* WebMessageListener */ InvocationHandler listener);
void removeWebMessageListener(String jsObjectName);
/* ScriptHandler */ InvocationHandler addDocumentStartJavaScript(
String script, String[] allowedOriginRules);
WebViewClient getWebViewClient();
WebChromeClient getWebChromeClient();
/* WebViewRenderer */ InvocationHandler getWebViewRenderer();
/* WebViewRendererClient */ InvocationHandler getWebViewRendererClient();
void setWebViewRendererClient(
/* WebViewRendererClient */ InvocationHandler webViewRendererClient);
void setProfile(String profileName);
void setAudioMuted(boolean muted);
boolean isAudioMuted();
/* Profile */ InvocationHandler getProfile();
}