mozilla/web-ext

Unable to Test Spotify with Chromium, Missing Components

Opened this issue · 1 comments

Is this a feature request or a bug?

Bug.

What is the current behavior?

  • Description:
    Encountering difficulties while attempting to test Spotify with Chromium using the web-ext run serve -t chromium via http://open.spotify.com/.
    image

    This issue stems from missing components, particularly the Widevine plugin, necessary for Spotify functionality. I inspected via
    chrome://components, no components are installed when using this command.

  • Solutions Attempted:
    Attempted to specify Chrome version using the --chrome-binary command: Unfortunately, this didn't resolve the issue, as the version of Chrome launched under the -t command remains the same.
    Tried specifying Chrome profile using the --chromium-profile command: Despite loading explicit profiles, it had no effect on the components Chrome loaded. The components list remains empty.

  • References:
    https://support.spotify.com/my-en/article/web-player-help/?utm_source=open&utm_campaign=drm_error&utm_medium=web

Seeking assistance in finding a solution to this issue. Any help would be greatly appreciated!

Web Extension: slyrics-1.5.33.zip

What is the expected or desired behavior?

Allow me to test web extensions on spotify.com without encountering previously displayed promotional text within the Chrome browser environment.

Version information (for bug reports)

  • OS: Windows10 22H2
  • Chrome version: 123.0.6312.86
  • Your OS and version: Windows 10 22H2
  • Paste the output of these commands:
node --version && npm --version && web-ext --version
  • node version: v16.20.0
  • npm version: 8.19.4
  • web-ext version: 7.11.0

Widevine is a CDM (content decryption module) used to implement DRM.

The underlying chrome-launcher dependency starts Chrome with several flags, listed here:

https://github.com/GoogleChrome/chrome-launcher/blob/v0.15.1/src/flags.ts

When web-ext run launches Chrome, Chrome starts with these flags minus those listed in EXCLUDED_CHROME_FLAGS at https://github.com/mozilla/web-ext/blob/7.11.0/src/extension-runners/chromium.js#L41.

This list of standard flags is currently not configurable, but you can edit your local version of web-ext and modify EXCLUDED_CHROME_FLAGS, by editing node_modules/web-ext/lib/extension-runners/chromium.js and adding the flags that you would like to NOT pass.

Could you try copy-pasting flags from chrome-launcher's flags.ts to EXCLUDED_CHROME_FLAGS and see if that fixes your issue?