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 /** | 5 /** |
6 * @fileoverview | 6 * @fileoverview |
7 * | 7 * |
8 * In Chrome Apps, some platform APIs can only be called from the background | 8 * In Chrome Apps, some platform APIs can only be called from the background |
9 * page (e.g. reloading a chrome.app.AppWindow). Likewise, some chrome API's | 9 * page (e.g. reloading a chrome.app.AppWindow). Likewise, some chrome API's |
10 * must be initiated by user interaction, which can only be called from the | 10 * must be initiated by user interaction, which can only be called from the |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 } catch (/** @type {Error} */ e) { | 138 } catch (/** @type {Error} */ e) { |
139 sendResponse({error: e.message}); | 139 sendResponse({error: e.message}); |
140 } | 140 } |
141 }; | 141 }; |
142 | 142 |
143 /** | 143 /** |
144 * Invokes a method on a remote page | 144 * Invokes a method on a remote page |
145 * | 145 * |
146 * @param {string} methodName | 146 * @param {string} methodName |
147 * @param {...} var_args | 147 * @param {...} var_args |
148 * @return A Promise that would resolve to the return value of the handler or | 148 * @return {Promise} A Promise that would resolve to the return value of the |
149 * reject if the handler throws an exception. | 149 * handler or reject if the handler throws an exception. |
150 */ | 150 */ |
151 base.Ipc.invoke = function(methodName, var_args) { | 151 base.Ipc.invoke = function(methodName, var_args) { |
152 var params = Array.prototype.slice.call(arguments, 1); | 152 var params = Array.prototype.slice.call(arguments, 1); |
153 var sendMessage = base.Promise.as( | 153 var sendMessage = base.Promise.as( |
154 chrome.runtime.sendMessage, | 154 chrome.runtime.sendMessage, |
155 [null, new base.Ipc.Request_(methodName, params)]); | 155 [null, new base.Ipc.Request_(methodName, params)]); |
156 | 156 |
157 return sendMessage.then( | 157 return sendMessage.then( |
158 /** @param {?{error: Error}} response */ | 158 /** @param {?{error: Error}} response */ |
159 function(response) { | 159 function(response) { |
(...skipping 18 matching lines...) Expand all Loading... |
178 }; | 178 }; |
179 | 179 |
180 base.Ipc.deleteInstance = function() { | 180 base.Ipc.deleteInstance = function() { |
181 if (instance_) { | 181 if (instance_) { |
182 instance_.dispose_(); | 182 instance_.dispose_(); |
183 instance_ = null; | 183 instance_ = null; |
184 } | 184 } |
185 }; | 185 }; |
186 | 186 |
187 })(); | 187 })(); |
OLD | NEW |