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 // chrome.runtime.messaging API implementation. | 5 // chrome.runtime.messaging API implementation. |
6 | 6 |
7 // TODO(kalman): factor requiring chrome out of here. | 7 // TODO(kalman): factor requiring chrome out of here. |
8 var chrome = requireNative('chrome').GetChrome(); | 8 var chrome = requireNative('chrome').GetChrome(); |
9 var Event = require('event_bindings').Event; | 9 var Event = require('event_bindings').Event; |
10 var lastError = require('lastError'); | 10 var lastError = require('lastError'); |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 function sendMessageUpdateArguments(functionName, hasOptionsArgument) { | 393 function sendMessageUpdateArguments(functionName, hasOptionsArgument) { |
394 // skip functionName and hasOptionsArgument | 394 // skip functionName and hasOptionsArgument |
395 var args = $Array.slice(arguments, 2); | 395 var args = $Array.slice(arguments, 2); |
396 var alignedArgs = messagingUtils.alignSendMessageArguments(args, | 396 var alignedArgs = messagingUtils.alignSendMessageArguments(args, |
397 hasOptionsArgument); | 397 hasOptionsArgument); |
398 if (!alignedArgs) | 398 if (!alignedArgs) |
399 throw new Error('Invalid arguments to ' + functionName + '.'); | 399 throw new Error('Invalid arguments to ' + functionName + '.'); |
400 return alignedArgs; | 400 return alignedArgs; |
401 } | 401 } |
402 | 402 |
403 var Port = utils.expose('Port', PortImpl, { functions: [ | 403 function Port() { |
404 'disconnect', | 404 privates(Port).constructPrivate(this, arguments); |
405 'postMessage' | 405 } |
406 ], | 406 utils.expose(Port, PortImpl, { |
407 properties: [ | 407 functions: [ |
408 'name', | 408 'disconnect', |
409 'onDisconnect', | 409 'postMessage', |
410 'onMessage' | 410 ], |
411 ] }); | 411 properties: [ |
| 412 'name', |
| 413 'onDisconnect', |
| 414 'onMessage', |
| 415 ], |
| 416 }); |
412 | 417 |
413 exports.$set('kRequestChannel', kRequestChannel); | 418 exports.$set('kRequestChannel', kRequestChannel); |
414 exports.$set('kMessageChannel', kMessageChannel); | 419 exports.$set('kMessageChannel', kMessageChannel); |
415 exports.$set('kNativeMessageChannel', kNativeMessageChannel); | 420 exports.$set('kNativeMessageChannel', kNativeMessageChannel); |
416 exports.$set('Port', Port); | 421 exports.$set('Port', Port); |
417 exports.$set('createPort', createPort); | 422 exports.$set('createPort', createPort); |
418 exports.$set('sendMessageImpl', sendMessageImpl); | 423 exports.$set('sendMessageImpl', sendMessageImpl); |
419 exports.$set('sendMessageUpdateArguments', sendMessageUpdateArguments); | 424 exports.$set('sendMessageUpdateArguments', sendMessageUpdateArguments); |
420 | 425 |
421 // For C++ code to call. | 426 // For C++ code to call. |
422 exports.$set('hasPort', hasPort); | 427 exports.$set('hasPort', hasPort); |
423 exports.$set('dispatchOnConnect', dispatchOnConnect); | 428 exports.$set('dispatchOnConnect', dispatchOnConnect); |
424 exports.$set('dispatchOnDisconnect', dispatchOnDisconnect); | 429 exports.$set('dispatchOnDisconnect', dispatchOnDisconnect); |
425 exports.$set('dispatchOnMessage', dispatchOnMessage); | 430 exports.$set('dispatchOnMessage', dispatchOnMessage); |
OLD | NEW |