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 // Custom binding for the runtime API. | 5 // Custom binding for the runtime API. |
6 | 6 |
7 var binding = require('binding').Binding.create('runtime'); | 7 var binding = require('binding').Binding.create('runtime'); |
8 | 8 |
9 var messaging = require('messaging'); | 9 var messaging = require('messaging'); |
10 var runtimeNatives = requireNative('runtime'); | 10 var runtimeNatives = requireNative('runtime'); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 } | 76 } |
77 | 77 |
78 binding.registerCustomHook(function(binding, id, contextType) { | 78 binding.registerCustomHook(function(binding, id, contextType) { |
79 var apiFunctions = binding.apiFunctions; | 79 var apiFunctions = binding.apiFunctions; |
80 var runtime = binding.compiledApi; | 80 var runtime = binding.compiledApi; |
81 | 81 |
82 // | 82 // |
83 // Unprivileged APIs. | 83 // Unprivileged APIs. |
84 // | 84 // |
85 | 85 |
86 runtime.id = id; | 86 if (id != '') |
| 87 runtime.id = id; |
87 | 88 |
88 apiFunctions.setHandleRequest('getManifest', function() { | 89 apiFunctions.setHandleRequest('getManifest', function() { |
89 return runtimeNatives.GetManifest(); | 90 return runtimeNatives.GetManifest(); |
90 }); | 91 }); |
91 | 92 |
92 apiFunctions.setHandleRequest('getURL', function(path) { | 93 apiFunctions.setHandleRequest('getURL', function(path) { |
93 path = String(path); | 94 path = String(path); |
94 if (!path.length || path[0] != '/') | 95 if (!path.length || path[0] != '/') |
95 path = '/' + path; | 96 path = '/' + path; |
96 return 'chrome-extension://' + id + path; | 97 return 'chrome-extension://' + id + path; |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 request.callback(bg); | 197 request.callback(bg); |
197 } | 198 } |
198 request.callback = null; | 199 request.callback = null; |
199 }); | 200 }); |
200 | 201 |
201 bindDirectoryEntryCallback('getPackageDirectoryEntry', apiFunctions); | 202 bindDirectoryEntryCallback('getPackageDirectoryEntry', apiFunctions); |
202 }); | 203 }); |
203 | 204 |
204 exports.bindDirectoryEntryCallback = bindDirectoryEntryCallback; | 205 exports.bindDirectoryEntryCallback = bindDirectoryEntryCallback; |
205 exports.binding = binding.generate(); | 206 exports.binding = binding.generate(); |
OLD | NEW |