OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Custom bindings for the experimental.socket API. | 5 // Custom bindings for the experimental.socket API. |
6 | 6 |
7 (function() { | 7 (function() { |
8 native function GetChromeHidden(); | 8 var experimental_socket = requireNative('experimental_socket'); |
9 native function GetNextSocketEventId(); | 9 var GetNextSocketEventId = experimental_socket.GetNextSocketEventId; |
10 | 10 |
11 var chromeHidden = GetChromeHidden(); | 11 var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
12 | 12 |
13 chromeHidden.registerCustomHook('experimental.socket', function(api) { | 13 chromeHidden.registerCustomHook('experimental.socket', function(api) { |
14 var apiFunctions = api.apiFunctions; | 14 var apiFunctions = api.apiFunctions; |
15 var sendRequest = api.sendRequest; | 15 var sendRequest = api.sendRequest; |
16 | 16 |
17 apiFunctions.setHandleRequest("experimental.socket.create", function() { | 17 apiFunctions.setHandleRequest("experimental.socket.create", function() { |
18 var args = arguments; | 18 var args = arguments; |
19 if (args.length > 3 && args[3] && args[3].onEvent) { | 19 if (args.length > 3 && args[3] && args[3].onEvent) { |
20 var id = GetNextSocketEventId(); | 20 var id = GetNextSocketEventId(); |
21 args[3].srcId = id; | 21 args[3].srcId = id; |
(...skipping 29 matching lines...) Expand all Loading... |
51 break; | 51 break; |
52 } | 52 } |
53 if (event.isFinalEvent) { | 53 if (event.isFinalEvent) { |
54 delete chromeHidden.socket.handlers[event.srcId]; | 54 delete chromeHidden.socket.handlers[event.srcId]; |
55 } | 55 } |
56 } | 56 } |
57 }); | 57 }); |
58 }); | 58 }); |
59 | 59 |
60 })(); | 60 })(); |
OLD | NEW |