Home | History | Annotate | Download | only in common
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 /**
      6  * @fileoverview Describes an interface clients may implement to customize the
      7  * look and feel of the Chrome Frame installation flow on their site.
      8  *
      9  */
     10 
     11 goog.provide('google.cf.installer.InteractionDelegate');
     12 
     13 /**
     14  * Allows clients to customize the display of the IFrame holding the Chrome
     15  * Frame installation flow.
     16  * @interface
     17  */
     18 google.cf.installer.InteractionDelegate = function() {};
     19 
     20 /**
     21  * Returns the element under which the IFrame should be located. Note that the
     22  * IFrame must remain in the DOM for the duration of the connection.
     23  * Re-parenting the IFrame or any ancestor will cause undefined behaviour.
     24  * @return {!HTMLElement} The element that should be the parent of the IFrame.
     25  */
     26 google.cf.installer.InteractionDelegate.prototype.getIFrameContainer =
     27     function() {};
     28 
     29 /**
     30  * Receives a reference to the newly created IFrame. May optionally modify the
     31  * element's attributes, style, etc. The InteractionDelegate is not responsible
     32  * for inserting the IFrame in the DOM (this will occur later).
     33  * @param {!HTMLIFrameElement} iframe The newly created IFrame element.
     34  */
     35 google.cf.installer.InteractionDelegate.prototype.customizeIFrame =
     36     function(iframe) {};
     37 
     38 /**
     39  * Make the IFrame and its decoration (if any) visible. Its dimensions will
     40  * already have been adjusted to those of the contained content.
     41  */
     42 google.cf.installer.InteractionDelegate.prototype.show = function() {};
     43 
     44 
     45 /**
     46  * Receives notification that the installation flow is complete and that the
     47  * IFrame and its decoration (if any) should be hidden and resources freed.
     48  */
     49 google.cf.installer.InteractionDelegate.prototype.reset = function() {};
     50