Chromium Code Reviews| Index: mojo/public/js/lib/interface_endpoint_client.js |
| diff --git a/mojo/public/js/lib/interface_endpoint_client.js b/mojo/public/js/lib/interface_endpoint_client.js |
| index 631c52ec911c168410c6ff98402cdb21d4433875..383a4ca45301fe97a514539431210ced92e4d841 100644 |
| --- a/mojo/public/js/lib/interface_endpoint_client.js |
| +++ b/mojo/public/js/lib/interface_endpoint_client.js |
| @@ -21,8 +21,8 @@ define("mojo/public/js/lib/interface_endpoint_client", [ |
| var ControlMessageHandler = controlMessageHandler.ControlMessageHandler; |
| var ControlMessageProxy = controlMessageProxy.ControlMessageProxy; |
| var MessageReader = codec.MessageReader; |
| - var Validator = validator.Validator; |
| var InterfaceEndpointHandle = interfaceEndpointHandle.InterfaceEndpointHandle; |
| + var AssociationEvent = interfaceEndpointHandle.AssociationEvent; |
| function InterfaceEndpointClient(interfaceEndpointHandle, receiver, |
| interfaceVersion) { |
| @@ -62,12 +62,10 @@ define("mojo/public/js/lib/interface_endpoint_client", [ |
| InterfaceEndpointClient.prototype.onAssociationEvent = function( |
| associationEvent) { |
| - if (associationEvent === |
| - InterfaceEndpointHandle.AssociationEvent.ASSOCIATED) { |
| + if (associationEvent === AssociationEvent.ASSOCIATED) { |
| this.initControllerIfNecessary_(); |
| } else if (associationEvent === |
| - InterfaceEndpointHandle.AssociationEvent |
| - .PEER_CLOSED_BEFORE_ASSOCIATION) { |
| + AssociationEvent.PEER_CLOSED_BEFORE_ASSOCIATION) { |
| timer.createOneShot(0, this.notifyError.bind(this, |
| this.handle_.disconnectReason())); |
| } |
| @@ -96,6 +94,11 @@ define("mojo/public/js/lib/interface_endpoint_client", [ |
| }; |
| InterfaceEndpointClient.prototype.accept = function(message) { |
| + if (message.associatedEndpointHandles.length > 0) { |
| + message.serializeAssociatedEndpointHandles( |
| + this.handle_.groupController()); |
| + } |
| + |
| if (this.encounteredError_) { |
| return false; |
| } |
| @@ -106,6 +109,11 @@ define("mojo/public/js/lib/interface_endpoint_client", [ |
| InterfaceEndpointClient.prototype.acceptAndExpectResponse = function( |
| message) { |
| + if (message.associatedEndpointHandles.length > 0) { |
| + message.serializeAssociatedEndpointHandles( |
| + this.handle_.groupController()); |
| + } |
| + |
| if (this.encounteredError_) { |
| return Promise.reject(); |
| } |
| @@ -144,10 +152,9 @@ define("mojo/public/js/lib/interface_endpoint_client", [ |
| this.connectionErrorHandler_ = handler; |
| }; |
| - InterfaceEndpointClient.prototype.handleIncomingMessage_ = function( |
| - message) { |
| + InterfaceEndpointClient.prototype.handleIncomingMessage_ = function(message, |
|
yzshen1
2017/04/19 21:11:34
nit: this is a public method used by router.js, so
wangjimmy
2017/04/20 15:36:44
Done.
|
| + messageValidator) { |
| var noError = validator.validationError.NONE; |
| - var messageValidator = new Validator(message); |
| var err = noError; |
| for (var i = 0; err === noError && i < this.payloadValidators_.length; ++i) |
| err = this.payloadValidators_[i](messageValidator); |