static async probeSupport(promptsOkay=true) {
    goog.asserts.assert(shaka.Player.isBrowserSupported(),
        'Must have basic support');
    let drm = {};
    if (promptsOkay) {
      drm = await shaka.drm.DrmEngine.probeSupport();
    }
    const manifest = shaka.media.ManifestParser.probeSupport();
    const media = shaka.media.MediaSourceEngine.probeSupport();
    const device = shaka.device.DeviceFactory.getDevice();
    goog.asserts.assert(device, 'device must be non-null');
    const hardwareResolution = await device.detectMaxHardwareResolution();

    /** @type {shaka.extern.SupportType} */
    const ret = {
      manifest,
      media,
      drm,
      hardwareResolution,
    };

    const plugins = shaka.Player.supportPlugins_;
    plugins.forEach((value, key) => {
      ret[key] = value();
    });

    return ret;
  }
Probes the browser to determine what features are supported.  This makes a
number of requests to EME/MSE/etc which may result in user prompts.  This
should only be used for diagnostics.

<p>
NOTE: This may show a request to the user for permission.

@see https://bit.ly/2ywccmH
@param {boolean=} promptsOkay
@return {!Promise<shaka.extern.SupportType>}
@export