# WebViewProviderBoundaryInterface

# WebViewProviderBoundaryInterface

<br />

```
interface WebViewProviderBoundaryInterface
```

<br />

*** ** * ** ***

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                           ### Public functions                                                                                                                                                                                                                                                                                                                                                                                                                           ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [InvocationHandler](https://developer.android.com/reference/java/lang/reflect/InvocationHandler.html)`?`                                                                                    | [addDocumentStartJavaScript](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#addDocumentStartJavaScript(java.lang.String,java.lang.String[]))`(` ` script: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`?,` ` allowedOriginRules: `[Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`?>?` `)`                                                                                                                                                        |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)                                                                                                                | [addWebMessageListener](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#addWebMessageListener(java.lang.String,java.lang.String[],java.lang.reflect.InvocationHandler))`(` ` jsObjectName: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`?,` ` allowedOriginRules: `[Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`?>?,` ` listener: `[InvocationHandler](https://developer.android.com/reference/java/lang/reflect/InvocationHandler.html)`?` `)` |
| [Array](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[InvocationHandler](https://developer.android.com/reference/java/lang/reflect/InvocationHandler.html)`?>?` | [createWebMessageChannel](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#createWebMessageChannel())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [WebChromeClient](https://developer.android.com/reference/android/webkit/WebChromeClient.html)`?`                                                                                           | [getWebChromeClient](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#getWebChromeClient())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [WebViewClient](https://developer.android.com/reference/android/webkit/WebViewClient.html)`?`                                                                                               | [getWebViewClient](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#getWebViewClient())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [InvocationHandler](https://developer.android.com/reference/java/lang/reflect/InvocationHandler.html)`?`                                                                                    | [getWebViewRenderer](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#getWebViewRenderer())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [InvocationHandler](https://developer.android.com/reference/java/lang/reflect/InvocationHandler.html)`?`                                                                                    | [getWebViewRendererClient](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#getWebViewRendererClient())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)                                                                                                                | [insertVisualStateCallback](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#insertVisualStateCallback(long,java.lang.reflect.InvocationHandler))`(requestId: `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, callback: `[InvocationHandler](https://developer.android.com/reference/java/lang/reflect/InvocationHandler.html)`?)`                                                                                                                                                                                                                                         |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)                                                                                                                | [postMessageToMainFrame](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#postMessageToMainFrame(java.lang.reflect.InvocationHandler,android.net.Uri))`(message: `[InvocationHandler](https://developer.android.com/reference/java/lang/reflect/InvocationHandler.html)`?, targetOrigin: `[Uri](https://developer.android.com/reference/android/net/Uri.html)`?)`                                                                                                                                                                                                                                          |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)                                                                                                                | [removeWebMessageListener](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#removeWebMessageListener(java.lang.String))`(jsObjectName: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`?)`                                                                                                                                                                                                                                                                                                                                                                               |
| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)                                                                                                                | [setWebViewRendererClient](https://developer.android.com/reference/kotlin/org/chromium/support_lib_boundary/WebViewProviderBoundaryInterface#setWebViewRendererClient(java.lang.reflect.InvocationHandler))`(webViewRendererClient: `[InvocationHandler](https://developer.android.com/reference/java/lang/reflect/InvocationHandler.html)`?)`                                                                                                                                                                                                                                                                                                                              |

## Public functions

### addDocumentStartJavaScript

```
fun addDocumentStartJavaScript(
    script: String?,
    allowedOriginRules: Array<String?>?
): InvocationHandler?
```  

### addWebMessageListener

```
fun addWebMessageListener(
    jsObjectName: String?,
    allowedOriginRules: Array<String?>?,
    listener: InvocationHandler?
): Unit
```  

### createWebMessageChannel

```
fun createWebMessageChannel(): Array<InvocationHandler?>?
```  

### getWebChromeClient

```
fun getWebChromeClient(): WebChromeClient?
```  

### getWebViewClient

```
fun getWebViewClient(): WebViewClient?
```  

### getWebViewRenderer

```
fun getWebViewRenderer(): InvocationHandler?
```  

### getWebViewRendererClient

```
fun getWebViewRendererClient(): InvocationHandler?
```  

### insertVisualStateCallback

```
fun insertVisualStateCallback(requestId: Long, callback: InvocationHandler?): Unit
```  

### postMessageToMainFrame

```
fun postMessageToMainFrame(message: InvocationHandler?, targetOrigin: Uri?): Unit
```  

### removeWebMessageListener

```
fun removeWebMessageListener(jsObjectName: String?): Unit
```  

### setWebViewRendererClient

```
fun setWebViewRendererClient(webViewRendererClient: InvocationHandler?): Unit
```