function PreviewArea(destinationStore, printTicketStore, documentInfo) {
    print_preview.Component.call(this);
    // TODO(rltoscano): Understand the dependencies of printTicketStore needed
    // here, and add only those here (not the entire print ticket store).

    /**
     * Used to get the currently selected destination.
     * @type {!print_preview.DestinationStore}
     * @private
     */
    this.destinationStore_ = destinationStore;

    /**
     * Used to get information about how the preview should be displayed.
     * @type {!print_preview.PrintTicketStore}
     * @private
     */
    this.printTicketStore_ = printTicketStore;

    /**
     * Used to construct the preview generator and to open the GCP learn more
     * help link.
     * @type {!print_preview.NativeLayer}
     * @private
     */
    this.nativeLayer_ = print_preview.NativeLayer.getInstance();

    /**
     * Document data model.
     * @type {!print_preview.DocumentInfo}
     * @private
     */
    this.documentInfo_ = documentInfo;

    /**
     * Used to read generated page previews.
     * @type {print_preview.PreviewGenerator}
     * @private
     */
    this.previewGenerator_ = null;

    /**
     * The embedded pdf plugin object. It's value is null if not yet loaded.
     * @type {HTMLEmbedElement|print_preview.PDFPlugin}
     * @private
     */
    this.plugin_ = null;

    /**
     * Custom margins component superimposed on the preview plugin.
     * @type {!print_preview.MarginControlContainer}
     * @private
     */
    this.marginControlContainer_ = new print_preview.MarginControlContainer(
        this.documentInfo_, this.printTicketStore_.marginsType,
        this.printTicketStore_.customMargins,
        this.printTicketStore_.measurementSystem,
        this.onMarginDragChanged_.bind(this));
    this.addChild(this.marginControlContainer_);

    /**
     * Current zoom level as a percentage.
     * @type {?number}
     * @private
     */
    this.zoomLevel_ = null;

    /**
     * Current page offset which can be used to calculate scroll amount.
     * @type {print_preview.Coordinate2d}
     * @private
     */
    this.pageOffset_ = null;

    /**
     * Whether the plugin has finished reloading.
     * @type {boolean}
     * @private
     */
    this.isPluginReloaded_ = false;

    /**
     * Whether the document preview is ready.
     * @type {boolean}
     * @private
     */
    this.isDocumentReady_ = false;

    /**
     * Whether the current destination is valid.
     * @type {boolean}
     * @private
     */
    this.isDestinationValid_ = true;

    /**
     * Timeout object used to display a loading message if the preview is taking
     * a long time to generate.
     * @type {?number}
     * @private
     */
    this.loadingTimeout_ = null;

    /**
     * Overlay element.
     * @type {HTMLElement}
     * @private
     */
    this.overlayEl_ = null;

    /**
     * The "Open system dialog" button.
     * @type {HTMLButtonElement}
     * @private
     */
    this.openSystemDialogButton_ = null;

  }
/**
   * Creates a PreviewArea object. It represents the area where the preview
   * document is displayed.
   * @param {!print_preview.DestinationStore} destinationStore Used to get the
   *     currently selected destination.
   * @param {!print_preview.PrintTicketStore} printTicketStore Used to get
   *     information about how the preview should be displayed.
   * @param {!print_preview.DocumentInfo} documentInfo Document data model.
   * @constructor
   * @extends {print_preview.Component}
   */
Creates a PreviewArea object. It represents the area where the preview
document is displayed.
@param {!print_preview.DestinationStore} destinationStore Used to get the
currently selected destination.
@param {!print_preview.PrintTicketStore} printTicketStore Used to get
information about how the preview should be displayed.
Creates a PreviewArea object . It represents the area where the preview document is displayed . @param { !print_preview . DestinationStore } destinationStore Used to get the currently selected destination . @param { !print_preview . PrintTicketStore } printTicketStore Used to get information about how the preview should be displayed .
function PreviewArea(destinationStore, printTicketStore, documentInfo) {
    print_preview.Component.call(this);
    this.destinationStore_ = destinationStore;
    this.printTicketStore_ = printTicketStore;
    this.nativeLayer_ = print_preview.NativeLayer.getInstance();
    this.documentInfo_ = documentInfo;
    this.previewGenerator_ = null;
    this.plugin_ = null;
    this.marginControlContainer_ = new print_preview.MarginControlContainer(
        this.documentInfo_, this.printTicketStore_.marginsType,
        this.printTicketStore_.customMargins,
        this.printTicketStore_.measurementSystem,
        this.onMarginDragChanged_.bind(this));
    this.addChild(this.marginControlContainer_);
    this.zoomLevel_ = null;
    this.pageOffset_ = null;
    this.isPluginReloaded_ = false;
    this.isDocumentReady_ = false;
    this.isDestinationValid_ = true;
    this.loadingTimeout_ = null;
    this.overlayEl_ = null;
    this.openSystemDialogButton_ = null;
  }
function PreviewArea ( destinationStore , printTicketStore , documentInfo ) { print_preview . Component . call ( this ) ; this . destinationStore_ = destinationStore ; this . printTicketStore_ = printTicketStore ; this . nativeLayer_ = print_preview . NativeLayer . getInstance ( ) ; this . documentInfo_ = documentInfo ; this . previewGenerator_ = null ; this . plugin_ = null ; this . marginControlContainer_ = new print_preview . MarginControlContainer ( this . documentInfo_ , this . printTicketStore_ . marginsType , this . printTicketStore_ . customMargins , this . printTicketStore_ . measurementSystem , this . onMarginDragChanged_ . bind ( this ) ) ; this . addChild ( this . marginControlContainer_ ) ; this . zoomLevel_ = null ; this . pageOffset_ = null ; this . isPluginReloaded_ = false ; this . isDocumentReady_ = false ; this . isDestinationValid_ = true ; this . loadingTimeout_ = null ; this . overlayEl_ = null ; this . openSystemDialogButton_ = null ; }
Creates a PreviewArea object.
Creates a PreviewArea object .
// TODO(rltoscano): Understand the dependencies of printTicketStore needed // here, and add only those here (not the entire print ticket store). /**
     * Used to get the currently selected destination.
     * @type {!print_preview.DestinationStore}
     * @private
     */ /**
     * Used to get information about how the preview should be displayed.
     * @type {!print_preview.PrintTicketStore}
     * @private
     */ /**
     * Used to construct the preview generator and to open the GCP learn more
     * help link.
     * @type {!print_preview.NativeLayer}
     * @private
     */ /**
     * Document data model.
     * @type {!print_preview.DocumentInfo}
     * @private
     */ /**
     * Used to read generated page previews.
     * @type {print_preview.PreviewGenerator}
     * @private
     */ /**
     * The embedded pdf plugin object. It's value is null if not yet loaded.
     * @type {HTMLEmbedElement|print_preview.PDFPlugin}
     * @private
     */ /**
     * Custom margins component superimposed on the preview plugin.
     * @type {!print_preview.MarginControlContainer}
     * @private
     */ /**
     * Current zoom level as a percentage.
     * @type {?number}
     * @private
     */ /**
     * Current page offset which can be used to calculate scroll amount.
     * @type {print_preview.Coordinate2d}
     * @private
     */ /**
     * Whether the plugin has finished reloading.
     * @type {boolean}
     * @private
     */ /**
     * Whether the document preview is ready.
     * @type {boolean}
     * @private
     */ /**
     * Whether the current destination is valid.
     * @type {boolean}
     * @private
     */ /**
     * Timeout object used to display a loading message if the preview is taking
     * a long time to generate.
     * @type {?number}
     * @private
     */ /**
     * Overlay element.
     * @type {HTMLElement}
     * @private
     */ /**
     * The "Open system dialog" button.
     * @type {HTMLButtonElement}
     * @private
     */