| 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 /** | 5 /** |
| 6 * @fileoverview A collection of utility methods for UberPage and its contained | 6 * @fileoverview A collection of utility methods for UberPage and its contained |
| 7 * pages. | 7 * pages. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 cr.define('uber', function() { | 10 cr.define('uber', function() { |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 * @return {boolean} Whether this frame has a parent. | 107 * @return {boolean} Whether this frame has a parent. |
| 108 */ | 108 */ |
| 109 function hasParent() { | 109 function hasParent() { |
| 110 return window != window.parent; | 110 return window != window.parent; |
| 111 } | 111 } |
| 112 | 112 |
| 113 /** | 113 /** |
| 114 * Invokes a method on the parent window (UberPage). This is a convenience | 114 * Invokes a method on the parent window (UberPage). This is a convenience |
| 115 * method for API calls into the uber page. | 115 * method for API calls into the uber page. |
| 116 * @param {string} method The name of the method to invoke. | 116 * @param {string} method The name of the method to invoke. |
| 117 * @param {(Object|number)=} opt_params Optional property bag of parameters | 117 * @param {(Object|number|boolean)=} opt_params Optional property bag of |
| 118 * to pass to the invoked method. | 118 * parameters to pass to the invoked method. |
| 119 * @private | 119 * @private |
| 120 */ | 120 */ |
| 121 function invokeMethodOnParent(method, opt_params) { | 121 function invokeMethodOnParent(method, opt_params) { |
| 122 if (!hasParent()) | 122 if (!hasParent()) |
| 123 return; | 123 return; |
| 124 | 124 |
| 125 invokeMethodOnWindow(window.parent, method, opt_params, 'chrome://chrome'); | 125 invokeMethodOnWindow(window.parent, method, opt_params, 'chrome://chrome'); |
| 126 } | 126 } |
| 127 | 127 |
| 128 /** | 128 /** |
| 129 * Invokes a method on the target window. | 129 * Invokes a method on the target window. |
| 130 * @param {string} method The name of the method to invoke. | 130 * @param {string} method The name of the method to invoke. |
| 131 * @param {(Object|number)=} opt_params Optional property bag of parameters | 131 * @param {(Object|number|boolean)=} opt_params Optional property bag of |
| 132 * to pass to the invoked method. | 132 * parameters to pass to the invoked method. |
| 133 * @param {string=} opt_url The origin of the target window. | 133 * @param {string=} opt_url The origin of the target window. |
| 134 * @private | 134 * @private |
| 135 */ | 135 */ |
| 136 function invokeMethodOnWindow(targetWindow, method, opt_params, opt_url) { | 136 function invokeMethodOnWindow(targetWindow, method, opt_params, opt_url) { |
| 137 var data = {method: method, params: opt_params}; | 137 var data = {method: method, params: opt_params}; |
| 138 targetWindow.postMessage(data, opt_url ? opt_url : '*'); | 138 targetWindow.postMessage(data, opt_url ? opt_url : '*'); |
| 139 } | 139 } |
| 140 | 140 |
| 141 /** | 141 /** |
| 142 * Updates the page's history state. If the page is embedded in a child, | 142 * Updates the page's history state. If the page is embedded in a child, |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 | 197 |
| 198 return { | 198 return { |
| 199 invokeMethodOnParent: invokeMethodOnParent, | 199 invokeMethodOnParent: invokeMethodOnParent, |
| 200 invokeMethodOnWindow: invokeMethodOnWindow, | 200 invokeMethodOnWindow: invokeMethodOnWindow, |
| 201 onContentFrameLoaded: onContentFrameLoaded, | 201 onContentFrameLoaded: onContentFrameLoaded, |
| 202 pushState: pushState, | 202 pushState: pushState, |
| 203 replaceState: replaceState, | 203 replaceState: replaceState, |
| 204 setTitle: setTitle, | 204 setTitle: setTitle, |
| 205 }; | 205 }; |
| 206 }); | 206 }); |
| OLD | NEW |