342 lines
10 KiB
JavaScript
342 lines
10 KiB
JavaScript
/*
|
|
* Copyright 2008 Google Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview Externs file for the Iframes library.
|
|
* @externs
|
|
*/
|
|
|
|
|
|
/**
|
|
* The namespace for most of the APIs.
|
|
* @type {!iframes.Iframes}
|
|
* @suppress {checkTypes} In some crazy locations, this is being used as a
|
|
* source file. It needs to be assigned to some object so that the
|
|
* iframes.Iframes definition doesn't fail.
|
|
*/
|
|
var iframes = /** @type {!iframes.Iframes} */ ({});
|
|
|
|
|
|
/**
|
|
* The namespace for most of the APIs.
|
|
*
|
|
* This has "|undefined" so that JSCompiler won't optimize out existence checks
|
|
* for win.iframes.
|
|
*
|
|
* @type {!iframes.Iframes|undefined}
|
|
*/
|
|
Window.prototype.iframes;
|
|
|
|
|
|
/**
|
|
* The type for the Iframes API.
|
|
* @constructor
|
|
*/
|
|
iframes.Iframes = function() {};
|
|
|
|
|
|
/**
|
|
* Gets the handler for a given style.
|
|
*
|
|
* @param {string} style
|
|
* @return {Object|Function} The handler for the given style.
|
|
*/
|
|
iframes.Iframes.prototype.getHandler = function(style) {};
|
|
|
|
/**
|
|
* Sets the handler for a given style.
|
|
*
|
|
* @param {string} style
|
|
* @param {Object|Function} handler The handler for a given style.
|
|
* If the style handle is a function, the object returned by this
|
|
* function providing the iframe as the parameter is used as the
|
|
* actual style handler for every iframe opened in the style it
|
|
* handles.
|
|
* The follow methods of the handler are significant (note
|
|
* that the iframe parameter only presents when the original
|
|
* style handler is not a function):
|
|
* open(iframe): called to open the iframe.
|
|
* call iframe.openInto(el) to perform the open action.
|
|
* onready(iframe): called when the iframe is ready.
|
|
* close(iframe): called to close the iframe.
|
|
*/
|
|
iframes.Iframes.prototype.setHandler = function(style, handler) {};
|
|
|
|
/**
|
|
* Gets a deferred-loaded style handler.
|
|
* @param {string} style The name of the style.
|
|
* @return {?function(function())} The deferred loader, if any.
|
|
*/
|
|
iframes.Iframes.prototype.getDeferredHandler = function(style) {};
|
|
|
|
/**
|
|
* Sets a deferred-loaded style handler.
|
|
* @param {string} style The name of the style.
|
|
* @param {function(function())} loader The method to load the new style
|
|
* handler, which should call iframes.setHandler for that style.
|
|
* It then needs to call the callback method passed in.
|
|
*/
|
|
iframes.Iframes.prototype.setDeferredHandler = function(style, loader) {};
|
|
|
|
/**
|
|
* This is an internal class to represent an iframe, not the DOM element.
|
|
* @constructor
|
|
*/
|
|
iframes.Iframe = function() {};
|
|
|
|
/**
|
|
* Methods used to pass to the iframe being opened.
|
|
* @return {Object}
|
|
*/
|
|
iframes.Iframe.prototype.getMethods = function() {};
|
|
|
|
/**
|
|
* Parameters used for opening the widget.
|
|
* @return {Object}
|
|
*/
|
|
iframes.Iframe.prototype.getOpenParams = function() {};
|
|
|
|
/**
|
|
* Parameters used to pass to the iframe being opened.
|
|
* @return {Object}
|
|
*/
|
|
iframes.Iframe.prototype.getParams = function() {};
|
|
|
|
/**
|
|
* @type {Element}
|
|
* @deprecated
|
|
*/
|
|
iframes.Iframe.prototype.containerDiv;
|
|
|
|
/**
|
|
* DOM reference to element containing iframe element.
|
|
*
|
|
* @return {Element}
|
|
*/
|
|
iframes.Iframe.prototype.getSiteEl = function() {};
|
|
|
|
/**
|
|
* @param {Element} element DOM element containing the iframe element.
|
|
*/
|
|
iframes.Iframe.prototype.setSiteEl = function(element) {};
|
|
|
|
/**
|
|
* DOM reference to the iframe element containing the widget.
|
|
*
|
|
* @return {Element}
|
|
*/
|
|
iframes.Iframe.prototype.getIframeEl = function() {};
|
|
|
|
/**
|
|
* generated ID that will be set on the widget when it is opened
|
|
*
|
|
* @return {string}
|
|
*/
|
|
iframes.Iframe.prototype.getId = function() {};
|
|
|
|
/**
|
|
* Iframe class instance that opened our Iframe instance.
|
|
*
|
|
* @return {iframes.Iframe}
|
|
*/
|
|
iframes.Iframe.prototype.getOpenerIframe = function() {};
|
|
|
|
/**
|
|
* Exposes the method so it can be called from iframe object.
|
|
* This is supposed be called by the style handler while handling 'open'
|
|
* before calling 'openInto'.
|
|
*
|
|
* @param {string} name Name of the method as being called.
|
|
* @param {Function} method The method to be exposed.
|
|
*/
|
|
iframes.Iframe.prototype.exposeMethod = function(name, method) {};
|
|
|
|
/**
|
|
* @param {string|Element} el The DOM element or its ID to open the iframe
|
|
* into.
|
|
* @param {Object=} opt_iframeAttributes Key-value pairs of iframe attributes.
|
|
* @return {iframes.Iframe} This iframe object (not the DOM element).
|
|
**/
|
|
iframes.Iframe.prototype.openInto = function(el, opt_iframeAttributes) {};
|
|
|
|
/**
|
|
* Close the iframe.
|
|
*
|
|
* @param {*=} opt_params Data to pass to the callback.
|
|
* @return {*} The result from the callback function.
|
|
*/
|
|
iframes.Iframe.prototype.close = function(opt_params) {};
|
|
|
|
/**
|
|
* Removes the iframe element from the DOM tree.
|
|
*/
|
|
iframes.Iframe.prototype.remove = function() {};
|
|
|
|
/**
|
|
* Adds a callback method for a given type of event.
|
|
*
|
|
* @param {string} type The event type: e.g. 'ready' or 'close'.
|
|
* @param {Function} callback The callback method.
|
|
*/
|
|
iframes.Iframe.prototype.addCallback = function(type, callback) {};
|
|
|
|
/**
|
|
* Removes a callback method for a given type of event.
|
|
*
|
|
* @param {string} type The event type used in 'addCallback'.
|
|
* @param {Function} callback The callback method used in 'addCallback'.
|
|
*/
|
|
iframes.Iframe.prototype.removeCallback = function(type, callback) {};
|
|
|
|
/**
|
|
* Allows a global function for all iframes.
|
|
*
|
|
* @param {string} name The name of the method for the iframes.
|
|
* @param {?function(...[*]) : *=} opt_func A optional function, by default
|
|
* window[name].
|
|
*/
|
|
iframes.Iframes.prototype.allow = function(name, opt_func) {};
|
|
|
|
/**
|
|
* Opens an iframe.
|
|
*
|
|
* WARNING: This API takes ownership of all object parameters and will
|
|
* modify them. Make a copy if you want to reuse them.
|
|
*
|
|
* @param {string} url The URL of the iframe to be opened.
|
|
* @param {Object} openParams The parameters for opening the iframe.
|
|
* style: specify which handler is used.
|
|
* For the default handler, the follow attributes are used:
|
|
* element: the element which the iframe would be opened into.
|
|
* @param {Object} params The data to be passed to the iframe.
|
|
* All properties should be string.
|
|
* @param {Object|function(...[*]) : *=} opt_methods: Functions to passed to
|
|
* the iframe. All properties should be functions. If no 'callback'
|
|
* argument is provided and the argument in this position is a function
|
|
* instead of an object, it is considered as the next parameter
|
|
* 'callback', not this parameter 'methods'.
|
|
* @param {?function(...[*]) : *=} opt_callback: a callback function called
|
|
* when the iframe is closed.
|
|
*
|
|
* @return {iframes.Iframe} The opened iframe.
|
|
*/
|
|
iframes.Iframes.prototype.open = function(
|
|
url, openParams, params, opt_methods, opt_callback) {};
|
|
|
|
/**
|
|
* Closes this iframe.
|
|
*
|
|
* @param {*=} opt_params The parameters to pass back to the parent iframe.
|
|
* @param {?function(...[*]) : *=} opt_callback The callback function after
|
|
* parent processed the event.
|
|
*/
|
|
iframes.Iframes.prototype.close = function(opt_params, opt_callback) {};
|
|
|
|
/**
|
|
* Indicates that this iframe is ready. The exactly semantic depends on
|
|
* the style handler, but generally it means ready to be displayed and
|
|
* it should be called the page is drawn and initial data loaded.
|
|
*
|
|
* @param {Object=} opt_params The parameters to pass back to the parent iframe.
|
|
* @param {Object|function(...[*]) : *=} opt_methods: Functions to passed to
|
|
* the iframe. All properties should be functions. If no 'callback'
|
|
* argument is provided and the argument in this position is a function
|
|
* instead of an object, it is considered as the next parameter
|
|
* 'callback', not this parameter 'methods'.
|
|
* @param {?function(...[*]) : *=} opt_callback The callback function after
|
|
* parent processed the event.
|
|
*/
|
|
iframes.Iframes.prototype.ready = function(
|
|
opt_params, opt_methods, opt_callback) {};
|
|
|
|
/**
|
|
* Passes the parent's origin and referer to the callback.
|
|
* @param {Function} callback Function
|
|
* that will get parent info passed to it.
|
|
*/
|
|
iframes.Iframes.prototype.getParentInfo = function(callback) {};
|
|
|
|
/**
|
|
* Export browser events to your opener.
|
|
* @param {Array.<string>} events List of events to export. Currently only
|
|
* supports mouseover and mouseout.
|
|
*/
|
|
iframes.Iframes.prototype.propagate = function(events) {};
|
|
|
|
/**
|
|
* Asks the parent window to change the width and height of this iframe.
|
|
*
|
|
* @param {Object} params The width and/or height in number of pixels to be
|
|
* resized. Use 'height': 'auto' for current window content height.
|
|
*/
|
|
|
|
iframes.Iframes.prototype.resize = function(params) {};
|
|
|
|
/**
|
|
* @param {Object} params
|
|
* @deprecated
|
|
*/
|
|
iframes.Iframes.prototype.resizeMe = function(params) {};
|
|
|
|
/**
|
|
* @return {string} The full URI for the Google Connect JS bundle.
|
|
*/
|
|
iframes.Iframes.prototype.getGoogleConnectJsUri = function() {};
|
|
|
|
/**
|
|
* Allows client to override the Google Connect JS to use.
|
|
* @param {string} version The versioned JS file to use.
|
|
*/
|
|
iframes.Iframes.prototype.setGoogleConnectJsVersion = function(version) {};
|
|
|
|
/**
|
|
* Allows the client to use a different JS hint.
|
|
* @param {string} hint The JS hint to use.
|
|
*/
|
|
iframes.Iframes.prototype.setJsHint = function(hint) {};
|
|
|
|
/**
|
|
* Allows the client to use a different bootstrap hint.
|
|
* @param {string} hint The bootstrap hint to use.
|
|
*/
|
|
iframes.Iframes.prototype.setBootstrapHint = function(hint) {};
|
|
|
|
/**
|
|
* @param {string} version
|
|
* @deprecated
|
|
*/
|
|
iframes.Iframes.prototype.setVersionOverride = function(version) {};
|
|
|
|
/**
|
|
* Inside an iframe, the properties of the iframer object are the data and
|
|
* functions provided in iframes.open.
|
|
* @type {!Object|undefined}
|
|
*/
|
|
Window.prototype.iframer = {};
|
|
|
|
/**
|
|
* Inside an iframe, the properties of the iframer object are the data and
|
|
* functions provided in iframes.open.
|
|
* @type {!Object|undefined}
|
|
*/
|
|
iframes.Iframes.prototype.iframer = {};
|
|
|
|
/**
|
|
* Inside an iframe, the properties of the iframer object are the data and
|
|
* functions provided in iframes.open.
|
|
* @type {!Object}
|
|
*/
|
|
var iframer = {};
|