static isBrowserSupported() {
    if (!window.Promise) {
      shaka.log.alwaysWarn('A Promise implementation or polyfill is required');
    }

    // Basic features needed for the library to be usable.
    const basicSupport = !!window.Promise && !!window.Uint8Array &&
                         // eslint-disable-next-line no-restricted-syntax
                         !!Array.prototype.forEach;
    if (!basicSupport) {
      return false;
    }

    // We do not support IE
    const userAgent = navigator.userAgent || '';
    if (userAgent.includes('Trident/')) {
      return false;
    }

    // If we have MediaSource (MSE) support, we should be able to use Shaka.
    const device = shaka.device.DeviceFactory.getDevice();
    if (device.supportsMediaSource()) {
      return true;
    }

    // If we don't have MSE, we _may_ be able to use Shaka.  Look for native HLS
    // support, and call this platform usable if we have it.
    return device.supportsMediaType('application/x-mpegurl');
  }
Return whether the browser provides basic support.  If this returns false,
Shaka Player cannot be used at all.  In this case, do not construct a
Player instance and do not use the library.

@return {boolean}
@export