constructor(parent, controls, iconText) {
    super(parent, controls);

    /** @private {HTMLElement } */
    this.videoContainer_ = this.controls.getVideoContainer();

    this.addButton_(iconText);

    this.addMenu_();

    this.inOverflowMenu_();

    this.eventManager.listen(this.button, 'click', () => {
      if (!this.controls.isOpaque()) {
        return;
      }
      this.onButtonClick_();
    });

    /** @private {ResizeObserver} */
    this.resizeObserver_ = null;

    const resize = () => this.computeMaxHeight_();

    // Use ResizeObserver if available, fallback to window resize event
    if (window.ResizeObserver) {
      this.resizeObserver_ = new ResizeObserver(resize);
      this.resizeObserver_.observe(this.controls.getVideoContainer());
    } else {
      // Fallback for older browsers
      this.eventManager.listen(window, 'resize', resize);
    }
  }
@param {!HTMLElement} parent
@param {!shaka.ui.Controls} controls
@param {string} iconText