OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/bindings/connection", [ | 5 define("mojo/public/js/bindings/connection", [ |
6 "mojo/public/js/bindings/connector", | 6 "mojo/public/js/bindings/connector", |
7 "mojo/public/js/bindings/router", | 7 "mojo/public/js/bindings/router", |
8 ], function(connector, router) { | 8 ], function(connector, router) { |
9 | 9 |
10 function Connection( | 10 function Connection( |
11 handle, localFactory, remoteFactory, routerFactory, connectorFactory) { | 11 handle, localFactory, remoteFactory, routerFactory, connectorFactory) { |
12 if (routerFactory === undefined) | 12 if (routerFactory === undefined) |
13 routerFactory = router.Router; | 13 routerFactory = router.Router; |
14 this.router_ = new routerFactory(handle, connectorFactory); | 14 this.router_ = new routerFactory(handle, connectorFactory); |
15 this.remote = new remoteFactory(this.router_); | 15 this.remote = remoteFactory && new remoteFactory(this.router_); |
16 this.local = localFactory && new localFactory(this.remote); | 16 this.local = localFactory && new localFactory(this.remote); |
17 this.router_.setIncomingReceiver(this.local); | 17 this.router_.setIncomingReceiver(this.local); |
18 | 18 |
19 // Validate incoming messages: remote responses and local requests. | 19 // Validate incoming messages: remote responses and local requests. |
20 var validateRequest = localFactory && localFactory.prototype.validator; | 20 var validateRequest = localFactory && localFactory.prototype.validator; |
21 var validateResponse = remoteFactory.prototype.validator; | 21 var validateResponse = remoteFactory.prototype.validator; |
22 var payloadValidators = []; | 22 var payloadValidators = []; |
23 if (validateRequest) | 23 if (validateRequest) |
24 payloadValidators.push(validateRequest); | 24 payloadValidators.push(validateRequest); |
25 if (validateResponse) | 25 if (validateResponse) |
(...skipping 23 matching lines...) Expand all Loading... |
49 connector.TestConnector); | 49 connector.TestConnector); |
50 } | 50 } |
51 | 51 |
52 TestConnection.prototype = Object.create(Connection.prototype); | 52 TestConnection.prototype = Object.create(Connection.prototype); |
53 | 53 |
54 var exports = {}; | 54 var exports = {}; |
55 exports.Connection = Connection; | 55 exports.Connection = Connection; |
56 exports.TestConnection = TestConnection; | 56 exports.TestConnection = TestConnection; |
57 return exports; | 57 return exports; |
58 }); | 58 }); |
OLD | NEW |