constructor(parentContainer, name, onChange, values) {
    super(parentContainer, 'select', 'div', 'label', onChange);
    this.container_.classList.add('mdl-textfield');
    this.container_.classList.add('mdl-js-textfield');
    this.container_.classList.add('mdl-textfield--floating-label');
    this.input_.classList.add('mdl-textfield__input');
    this.extra_.classList.add('mdl-textfield__label');
    this.extra_.setAttribute('for', this.input_.id);
    if (name) {
      this.extra_.textContent = name;
    }
    for (const value of Object.keys(values)) {
      const option =
        /** @type {!HTMLOptionElement} */(document.createElement('option'));
      option.textContent = values[value];
      option.value = value;
      this.input_.appendChild(option);
    };
  }
@param {!shakaDemo.InputContainer} parentContainer
@param {?string} name
@param {function(!HTMLInputElement, !shakaDemo.Input)} onChange
@param {!Object<string, string>} values