constructor() {
    super();

    /**
     * The peer iframe.
     * @type {!Element}
     * @private
     * @suppress {checkTypes} suppression added to enable type checking
     */
    this.iframe_ = null;

    /**
     * The channel to use.
     * @type {?CrossPageChannel}
     * @private
     */
    this.channel_ = null;

    /**
     * Outer frame configuration object.
     * @type {?Object}
     * @private
     */
    this.outerFrameCfg_ = null;

    /**
     * The initial name of the outer channel.
     * @type {?string}
     * @private
     */
    this.initialOuterChannelName_ = null;

    /**
     * Inner frame configuration object.
     * @type {?Object}
     * @private
     */
    this.innerFrameCfg_ = null;

    /**
     * The contents of the payload of the 'echo' request sent by the inner
     * frame.
     * @type {?string}
     * @private
     */
    this.innerFrameEchoPayload_ = null;

    /**
     * The contents of the payload of the 'echo' request sent by the outer
     * frame.
     * @type {?string}
     * @private
     */
    this.outerFrameEchoPayload_ = null;

    /**
     * A resolver which fires its promise when the inner frame receives an echo.
     * @type {!Resolver}
     * @private
     */
    this.innerFrameResponseReceived_ = GoogPromise.withResolver();

    /**
     * A resolver which fires its promise when the outer frame receives an echo.
     * @type {!Resolver}
     * @private
     */
    this.outerFrameResponseReceived_ = GoogPromise.withResolver();
  }
Driver for the tests for CrossPageChannel.
@unrestricted