| 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 |