/**@class android.webkit.WebMessagePort
@extends java.lang.Object

 The Java representation of the
 <a href="https://html.spec.whatwg.org/multipage/comms.html#messageport">
 HTML5 message ports.</a>

 A Message port represents one endpoint of a Message Channel. In Android
 webview, there is no separate Message Channel object. When a message channel
 is created, both ports are tangled to each other and started, and then
 returned in a MessagePort array, see {@link android.webkit.WebView#createWebMessageChannel}
 for creating a message channel.

 When a message port is first created or received via transfer, it does not
 have a WebMessageCallback to receive web messages. The messages are queued until
 a WebMessageCallback is set.

 A message port should be closed when it is not used by the embedder application
 anymore. A closed port cannot be transferred or cannot be reopened to send
 messages. Close can be called multiple times.

 When a port is transferred to JS, it cannot be used to send or receive messages
 at the Java side anymore. Different from HTML5 Spec, a port cannot be transferred
 if one of these has ever happened: i. a message callback was set, ii. a message was
 posted on it. A transferred port cannot be closed by the application, since
 the ownership is also transferred.

 It is possible to transfer both ports of a channel to JS, for example for
 communication between subframes.
*/
var WebMessagePort = {

/**Post a WebMessage to the entangled port.
@param {Object {WebMessage}} message  the message from Java to JS.
@throws IllegalStateException If message port is already transferred or closed.
*/
postMessage : function(  ) {},

/**Close the message port and free any resources associated with it.
*/
close : function(  ) {},

/**Sets a callback to receive message events on the main thread.
@param {Object {WebMessagePort.WebMessageCallback}} callback  the message callback.
*/
setWebMessageCallback : function(  ) {},

/**Sets a callback to receive message events on the handler that is provided
 by the application.
@param {Object {WebMessagePort.WebMessageCallback}} callback  the message callback.
@param {Object {Handler}} handler   the handler to receive the message messages.
*/
setWebMessageCallback : function(  ) {},


};