HostObjectSyncProxy class
A synchronous host object proxy. Host objects added via CoreWebView2.AddHostObjectToScript
are exposed as host object proxies using window.chrome.webview.hostObjects.{name}
. A host object proxy represent a host object.
Host object proxies are JavaScript Proxy objects that intercept all property get
, property set
, and method invocations. Properties or methods that are a part of the Function
or Object
prototype are run locally. Additionally any property or method in the chrome.webview.hostObjects.options.forceLocalProperties
array is also run locally. This defaults to including optional methods that have meaning in JavaScript like toJSON
and Symbol.toPrimitive
. Add more to the array as required.
- Extends
Methods
apply |
Perform a method invocation on the host object that corresponds to this proxy. All parameters are converted to call the host object method. |
async() | A method which blocks and returns an asynchronous host object proxy for the same host object. For example, |
get |
Perform a property |
get |
Perform a property |
set |
Perform a property |
set |
Perform a property |
Method Details
applyHostFunction(argArray)
Perform a method invocation on the host object that corresponds to this proxy.
All parameters are converted to call the host object method.
applyHostFunction(argArray?: any): any;
Parameters
- argArray
-
any
An array of arguments to pass to the host object method invocation.
Returns
any
The converted value of the return value of the host object method invocation.
async()
A method which blocks and returns an asynchronous host object proxy for the same host object. For example, chrome.webview.hostObjects.sync.sample.methodCall()
returns a synchronous host object proxy. Running the async
method on this blocks and then returns an asynchronous host object proxy for the same host object: const asyncProxy = chrome.webview.hostObjects.sync.sample.methodCall().async()
.
async(): HostObjectAsyncProxy;
Returns
An asynchronous host object proxy for the same host object.
getHostProperty(propertyName)
Perform a property get
on the host object. Use this method to explicitly force a property get
to occur remotely if a conflicting local method or property exists. For instance, proxy.toString()
runs the local toString
method on the proxy object. But proxy.applyHostFunction('toString')
runs toString
on the host proxied object instead.
getHostProperty(propertyName: string): any;
Parameters
- propertyName
-
string
String name of the property of which to get the value.
Returns
any
The converted value of the property of the host object's property.
getLocalProperty(propertyName)
Perform a property get
locally on the proxy object. Use the methods to force getting a property on the host object proxy rather than on the host object it represents. For instance, proxy.unknownProperty
gets the property named unknownProperty
from the host proxied object. But proxy.getLocalProperty('unknownProperty')
gets the value of the property unknownProperty
on the proxy object.
getLocalProperty(propertyName: string): any;
Parameters
- propertyName
-
string
Name of the property to get the value of.
Returns
any
The value of the property.
setHostProperty(propertyName, propertyValue)
Perform a property set
on the host object. Use this method to explicitly force a property set
to occur remotely if a conflicting local method or property exists.
setHostProperty(propertyName: string, propertyValue: any): any;
Parameters
- propertyName
-
string
Name of the property of which to set the value.
- propertyValue
-
any
Value to set the property to.
Returns
any
The converted value of the property of the host object's property.
setLocalProperty(propertyName, propertyValue)
Perform a property set
locally on the proxy object. Use the methods to force setting a property on the host object proxy rather than on the host object it represents. For instance, proxy.unknownProperty = 2
sets the property named unknownProperty
on the host proxied object. But proxy.setLocalProperty('unknownProperty', 2)
sets the value of the property unknownProperty
on the proxy object.
setLocalProperty(propertyName: string, propertyValue: any): any;
Parameters
- propertyName
-
string
Name of the property of which to set the value.
- propertyValue
-
any
Value to set the property to.
Returns
any
The value of the property after it is set.