Currently it is only possible to use the MR component extension in Chrome (due to closed source being used in the component extension).
It should still be possible to use the component extension in Chromium as long as it is not included with Chromium by default.
This is complicated by the fact that CWS hides the listing for component extensions so users can't load it like a regular extension.
However, it should be possible to use a command line flag that would allow the extension loader to pull down the extension from CWS.
See this code for the likely best location to check for the flag:
https://cs-staging.chromium.org/chromium/src/chrome/browser/extensions/external_component_loader.cc?q=kMediaRouterStableExtensionId+package:%5Echromium$&dr=C&l=56
Devlin, is this something you'd be comfortable with? It would allow for any component extension to be downloaded & installed on Chromium (w/ the use of the flag).
Hmm... I'm definitely not keen on it being used for any component extension. We've had problems before with that kind of "--install-extension" flag, and it's generally a pain to remove them later because they get used for other things. Having a specific --load-media-router-extension flag is a little more palatable, since it would be a specific extension. I'm still a little dubious of anything that can be used to silently add an extension, but this would probably be acceptable.
A few thoughts, though:
- If the user adds and then removes the flag, is the extension removed?
- Would there be any indication to the user that it's installed?
- Would it be feasible to surface the extension in the webstore, along with a way to uninstall?
I think we can explore different options, but off the top of my head:
- The extension would be loaded only if the flag is passed on the command
line. So you'd need to start Chromium each time with the flag in order to
continue to use Cast.
- I don't think we'd have any indication to the user that it's installed
(we don't for Chrome, so I cant think of a reason we'd need to here; and if
it requires an explicit flag each time you start Chromium, I think that
suffices);
- We could, I suppose, but I don't know what behavior would be for Chrome
users then. By definition we don't allow users to uninstall component
extensions. And it would seem problematic to try and have the Webstore
distinguish between Chromium and Chrome users and offer different
functionality.
Having the extension conditionally loaded each time based on the command line flag presence sounds fairly reasonable, as long as its restricted to a specific id.
Taking a step back for a moment, though, what's the main use case here? Users of chromium? Development? Testing?
Yeah we've gotten a fair number of feedback reports from Chromium users who
are upset at losing the ability to Cast. Previously they could install the
old extension from the Webstore, but now they're SOL.
Comment 1 by sko...@chromium.org
, Sep 21 2016Labels: Needs-Feedback