Live data from Hacker News

Chromium has over 1600 command-line switches

peter.sh

21–30 of 47 posts

Re: Chromium has over 1600 command-line switches

#21
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 ones:

'--install-autogenerated-theme=169,32,85', '--allow-legacy-extension-manifests', '--no-pings', '--no-first-run', '--no-default-browser-check', '--suppress-message-center-popups', '--ash-no-nudges', '--disable-infobars', '--use-mock-keychain', '--disable-cookie-encryption', '--js-flags=--random-seed=1157259159',

Re: Chromium has over 1600 command-line switches

#22
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.

Re: Chromium has over 1600 command-line switches

#25

Any insight into what —? could be?

It links to https://source.chromium.org/chromium/chromium/src/+/main:ui/... and so does --vulkan and --metal and similar ones.

In the code they have

  const char kANGLEImplementationMetalName[] = "metal";
  const char kANGLEImplementationNoneName[] = "";
So either they intentionally made -- be the none one, or they unintentionally ended up having it be that because the argument names are extracted from the strings and someone put an empty string for the none one.

It seems weird that it would be intentional though so my guess it was by accident. (For example separate people made the arg parsing thing from the person that put an empty string there.) I say it seems weird because conventionally many cli utilities use -- to mean end of arguments. For example so that an argument that is the name of a file can start with dash dash followed by something without being interpreted as a flag. And also so that a command that executes another can separate its own arts from the args of the command it is executing. Things like that.

Re: Chromium has over 1600 command-line switches

#26
post #15

`--birch-is-evening` > sets the birch ranker to assume it is evening for birch chip ranking purposes. i begin to suspect there might be a better way of organizing all this functionality

I've been nerd sniped and am trawling through the code trying to understand what this means. Apparently there is something called a "Birch Bar" which I've never heard of, it seems to be related to calendar events... which, is weird as I have never seen a native calendar in chrome. https://sourcegraph.com/github.com/chromium/chromium/-/blob/...

I think that's part of the ChromeOS window manager. Note that the file you posted is in the "ash" namespace.

> Ash is the “Aura Shell”, the window manager and system UI for Chrome OS.

https://chromium.googlesource.com/chromium/src.git/+/refs/he...

I'd guess someone at Google decided to use tree-related codenames for ash components :)

Re: Chromium has over 1600 command-line switches

#27
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!"

Re: Chromium has over 1600 command-line switches

#28
post #15

Earlier quoted context omitted.

I've been nerd sniped and am trawling through the code trying to understand what this means. Apparently there is something called a "Birch Bar" which I've never heard of, it seems to be related to calendar events... which, is weird as I have never seen a native calendar in chrome. https://sourcegraph.com/github.com/chromium/chromium/-/blob/...

I think that's part of the ChromeOS window manager. Note that the file you posted is in the "ash" namespace. > Ash is the “Aura Shell”, the window manager and system UI for Chrome OS. https://chromium.googlesource.com/chromium/src.git/+/refs/he... I'd guess someone at Google decided to use tree-related codenames for ash components :)

https://chromium.googlesource.com/chromium/src.git/+/lkgr/as...

    “Shelf party” was an Easter-egg feature that made shelf icons fly around the screen. It did not launch and was removed in June 2023.
Now I want to see if I can find a May 2023 build of chromium with a --enable-shelf-party flag.

Re: Chromium has over 1600 command-line switches

#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...
Post reply on HN