// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview Describes an interface clients may implement to customize the
* look and feel of the Chrome Frame installation flow on their site.
*
*/
goog.provide('google.cf.installer.InteractionDelegate');
/**
* Allows clients to customize the display of the IFrame holding the Chrome
* Frame installation flow.
* @interface
*/
google.cf.installer.InteractionDelegate = function() {};
/**
* Returns the element under which the IFrame should be located. Note that the
* IFrame must remain in the DOM for the duration of the connection.
* Re-parenting the IFrame or any ancestor will cause undefined behaviour.
* @return {!HTMLElement} The element that should be the parent of the IFrame.
*/
google.cf.installer.InteractionDelegate.prototype.getIFrameContainer =
function() {};
/**
* Receives a reference to the newly created IFrame. May optionally modify the
* element's attributes, style, etc. The InteractionDelegate is not responsible
* for inserting the IFrame in the DOM (this will occur later).
* @param {!HTMLIFrameElement} iframe The newly created IFrame element.
*/
google.cf.installer.InteractionDelegate.prototype.customizeIFrame =
function(iframe) {};
/**
* Make the IFrame and its decoration (if any) visible. Its dimensions will
* already have been adjusted to those of the contained content.
*/
google.cf.installer.InteractionDelegate.prototype.show = function() {};
/**
* Receives notification that the installation flow is complete and that the
* IFrame and its decoration (if any) should be hidden and resources freed.
*/
google.cf.installer.InteractionDelegate.prototype.reset = function() {};