Live data from Hacker News

Chromium has over 1600 command-line switches

peter.sh

31–40 of 47 posts

Re: Chromium has over 1600 command-line switches

#31

I remember doing this expansion when I worked there: every module you include has its own set of command flags, and none get suppressed when you include them, so you end up with colossal unions like this. It's not as though any one team said, "Hey, let's have 1600 flags!"

But, apparently, no one has said "Hey, let's not have 1600 flags", either.

Re: Chromium has over 1600 command-line switches

#32

It's actually even more. --enable-features takes a list of features, and --force-fieldtrials takes a list of field trials. And each argument of --enable-features can itself have "sub-features", so you can have syntax like --enable-features=CoolFeature:Widget/1/Bells/cow* I don't know if the syntax for all of this is actually documented anywhere, but anything in chrome://flags seems to be plumbed through via --enable-…

I didn't know that's where the feature flags lived. I imagine documenting them is tough because it'll heavily depend on the version since they graduate to become standard features over time.

Re: Chromium has over 1600 command-line switches

#33

I've tested 300+ of them for the purpose of reducing browser fingerprintability while building ArchiveBox's puppeteer support. It was quite a journey! Lots of subtle GPU rendering stuff that can easily give away a headless browser, or that differs between OS's in ways that can be used to detect when a browser doesn't match the expected behavior for the OS it reports to be running on. Some of my favorite lesser-known…

I wonder if there is a reference behind '--ash-no-nudges', I tried looking but found nothing.

Re: Chromium has over 1600 command-line switches

#34

This could be a good thing. Too many applications are overly opinionated, make decisions on behalf of the user (without the ability to override), minimize user choice, don't respect the user's configuration, and in general, do things their way rather than the user's way. More switches is often better.

I agree; it also makes using Chromium for all sorts of automation a lot easier. I found these because I wanted to automate generating PDFs of a report page.

Re: Chromium has over 1600 command-line switches

#36

Former chromium dev here - I wouldn't be surprised if many of these are deprecated and just need to be cleaned up (removed from the codebase).

How many if you had to estimate?

While testing, I noticed that some flags do nothing or contradict each other, but I wasn't sure if I was correctly using/understanding the flags.

Re: Chromium has over 1600 command-line switches

#38

I remember doing this expansion when I worked there: every module you include has its own set of command flags, and none get suppressed when you include them, so you end up with colossal unions like this. It's not as though any one team said, "Hey, let's have 1600 flags!"

But, apparently, no one has said "Hey, let's not have 1600 flags", either.

My candidate for Hardest Thing in Tech:

Getting rid of anything that's already out there. Someone, somewhere, is using it.

Google's apparently mastered that art, at least.

Re: Chromium has over 1600 command-line switches

#39
post #30

My favorite is the one that disables CORS... makes it easy to write local clients/tools that can get data from anywhere: --disable-web-security

I also found this extension to be useful and more configurable: https://chromewebstore.google.com/detail/allow-cors-access-c...

Love it! Thank you.

Re: Chromium has over 1600 command-line switches

#40
post #30

My favorite is the one that disables CORS... makes it easy to write local clients/tools that can get data from anywhere: --disable-web-security

I also found this extension to be useful and more configurable: https://chromewebstore.google.com/detail/allow-cors-access-c...

do you or anyone else happen to know an extension that allows getUserMedia to work without https? i just need a photo from a webcam (a la that opens a camera on a smartphone) for a local network webapp. configuring https just for this is fickle.
Post reply on HN