Chromium Code Reviews| Index: chrome/browser/resources/uber/uber_utils.js |
| diff --git a/chrome/browser/resources/uber/uber_utils.js b/chrome/browser/resources/uber/uber_utils.js |
| index 49d4b54fe9439dd45aa039cb034c72c8938ca977..a952a24945ecc870608daf2201ae513a055ce27a 100644 |
| --- a/chrome/browser/resources/uber/uber_utils.js |
| +++ b/chrome/browser/resources/uber/uber_utils.js |
| @@ -12,19 +12,32 @@ cr.define('uber', function() { |
| * Invokes a method on the parent window (UberPage). This is a convenience |
| * method for API calls into the uber page. |
| * @param {String} method The name of the method to invoke. |
| - * @param {Object} params Optional property bag of parameters to pass to the |
| - * invoked method. |
| + * @param {Object} opt_params Optional property bag of parameters to pass to |
|
Dan Beam
2012/01/20 06:35:25
Technically all these opt_ params should have an =
Evan Stade
2012/01/20 21:40:38
Done.
|
| + * the invoked method. |
| * @private |
| */ |
| - function invokeMethodOnParent(method, params) { |
| - if (!window.parent) |
| + function invokeMethodOnParent(method, opt_params) { |
| + if (window.location == window.parent.location) |
| return; |
| - var data = {method: method, params: params}; |
| - window.parent.postMessage(data, 'chrome://chrome'); |
| - }; |
| + invokeMethodOnWindow(window.parent, method, opt_params, 'chrome://chrome'); |
| + } |
| - return { |
| - invokeMethodOnParent: invokeMethodOnParent |
| + /** |
| + * Invokes a method on the target window. |
| + * @param {String} method The name of the method to invoke. |
| + * @param {Object} opt_params Optional property bag of parameters to pass to |
| + * the invoked method. |
| + * @param {String} opt_url The origin of the target window. |
| + * @private |
| + */ |
| + function invokeMethodOnWindow(targetWindow, method, opt_params, opt_url) { |
| + var data = {method: method, params: opt_params}; |
| + targetWindow.postMessage(data, opt_url ? opt_url : '*'); |
| } |
| + |
| + return { |
| + invokeMethodOnParent: invokeMethodOnParent, |
| + invokeMethodOnWindow: invokeMethodOnWindow, |
| + }; |
| }); |