| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 define("mojo/public/js/lib/control_message_proxy", [ | 5 define("mojo/public/js/lib/control_message_proxy", [ |
| 6 "mojo/public/interfaces/bindings/interface_control_messages.mojom", | 6 "mojo/public/interfaces/bindings/interface_control_messages.mojom", |
| 7 "mojo/public/js/codec", | 7 "mojo/public/js/codec", |
| 8 "mojo/public/js/validator", | 8 "mojo/public/js/validator", |
| 9 ], function(controlMessages, codec, validator) { | 9 ], function(controlMessages, codec, validator) { |
| 10 | 10 |
| 11 var Validator = validator.Validator; | 11 var Validator = validator.Validator; |
| 12 | 12 |
| 13 function sendRunOrClosePipeMessage(receiver, runOrClosePipeMessageParams) { | 13 function constructRunOrClosePipeMessage(runOrClosePipeInput) { |
| 14 var runOrClosePipeMessageParams = new |
| 15 controlMessages.RunOrClosePipeMessageParams(); |
| 16 runOrClosePipeMessageParams.input = runOrClosePipeInput; |
| 17 |
| 14 var messageName = controlMessages.kRunOrClosePipeMessageId; | 18 var messageName = controlMessages.kRunOrClosePipeMessageId; |
| 15 var payloadSize = controlMessages.RunOrClosePipeMessageParams.encodedSize; | 19 var payloadSize = controlMessages.RunOrClosePipeMessageParams.encodedSize; |
| 16 var builder = new codec.MessageBuilder(messageName, payloadSize); | 20 var builder = new codec.MessageBuilder(messageName, payloadSize); |
| 17 builder.encodeStruct(controlMessages.RunOrClosePipeMessageParams, | 21 builder.encodeStruct(controlMessages.RunOrClosePipeMessageParams, |
| 18 runOrClosePipeMessageParams); | 22 runOrClosePipeMessageParams); |
| 19 var message = builder.finish(); | 23 var message = builder.finish(); |
| 20 receiver.accept(message); | 24 return message; |
| 21 } | 25 } |
| 22 | 26 |
| 23 function validateControlResponse(message) { | 27 function validateControlResponse(message) { |
| 24 var messageValidator = new Validator(message); | 28 var messageValidator = new Validator(message); |
| 25 var error = messageValidator.validateMessageIsResponse(); | 29 var error = messageValidator.validateMessageIsResponse(); |
| 26 if (error != validator.validationError.NONE) { | 30 if (error != validator.validationError.NONE) { |
| 27 throw error; | 31 throw error; |
| 28 } | 32 } |
| 29 | 33 |
| 30 if (message.getName() != controlMessages.kRunMessageId) { | 34 if (message.getName() != controlMessages.kRunMessageId) { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 // |requestID| is set to 0, but is later properly set by Router. | 68 // |requestID| is set to 0, but is later properly set by Router. |
| 65 var builder = new codec.MessageWithRequestIDBuilder(messageName, | 69 var builder = new codec.MessageWithRequestIDBuilder(messageName, |
| 66 payloadSize, codec.kMessageExpectsResponse, 0); | 70 payloadSize, codec.kMessageExpectsResponse, 0); |
| 67 builder.encodeStruct(controlMessages.RunMessageParams, runMessageParams); | 71 builder.encodeStruct(controlMessages.RunMessageParams, runMessageParams); |
| 68 var message = builder.finish(); | 72 var message = builder.finish(); |
| 69 | 73 |
| 70 return receiver.acceptAndExpectResponse(message).then(acceptRunResponse); | 74 return receiver.acceptAndExpectResponse(message).then(acceptRunResponse); |
| 71 } | 75 } |
| 72 | 76 |
| 73 function ControlMessageProxy(receiver) { | 77 function ControlMessageProxy(receiver) { |
| 74 this.receiver = receiver; | 78 this.receiver_ = receiver; |
| 75 } | 79 } |
| 76 | 80 |
| 77 ControlMessageProxy.prototype.queryVersion = function() { | 81 ControlMessageProxy.prototype.queryVersion = function() { |
| 78 var runMessageParams = new controlMessages.RunMessageParams(); | 82 var runMessageParams = new controlMessages.RunMessageParams(); |
| 79 runMessageParams.input = new controlMessages.RunInput(); | 83 runMessageParams.input = new controlMessages.RunInput(); |
| 80 runMessageParams.input.query_version = new controlMessages.QueryVersion(); | 84 runMessageParams.input.query_version = new controlMessages.QueryVersion(); |
| 81 | 85 |
| 82 return sendRunMessage(this.receiver, runMessageParams).then(function( | 86 return sendRunMessage(this.receiver_, runMessageParams).then(function( |
| 83 runResponseMessageParams) { | 87 runResponseMessageParams) { |
| 84 return runResponseMessageParams.output.query_version_result.version; | 88 return runResponseMessageParams.output.query_version_result.version; |
| 85 }); | 89 }); |
| 86 }; | 90 }; |
| 87 | 91 |
| 88 ControlMessageProxy.prototype.requireVersion = function(version) { | 92 ControlMessageProxy.prototype.requireVersion = function(version) { |
| 89 var runOrClosePipeMessageParams = new | 93 var runOrClosePipeInput = new controlMessages.RunOrClosePipeInput(); |
| 90 controlMessages.RunOrClosePipeMessageParams(); | 94 runOrClosePipeInput.require_version = new controlMessages.RequireVersion({ |
| 91 runOrClosePipeMessageParams.input = new | 95 'version': version}); |
| 92 controlMessages.RunOrClosePipeInput(); | 96 var message = constructRunOrClosePipeMessage(runOrClosePipeInput); |
| 93 runOrClosePipeMessageParams.input.require_version = new | 97 this.receiver_.accept(message); |
| 94 controlMessages.RequireVersion({'version': version}); | |
| 95 sendRunOrClosePipeMessage(this.receiver, runOrClosePipeMessageParams); | |
| 96 }; | 98 }; |
| 97 | 99 |
| 98 var exports = {}; | 100 var exports = {}; |
| 99 exports.ControlMessageProxy = ControlMessageProxy; | 101 exports.ControlMessageProxy = ControlMessageProxy; |
| 100 | 102 |
| 101 return exports; | 103 return exports; |
| 102 }); | 104 }); |
| OLD | NEW |