Hi

On 16/05/2019 1:54 am, Nicholas Alexander wrote:
Forgive my rank ignorance here, but as an outsider this surprises me: I expect "Gecko preferences" to be (eventually) consistent across processes.  Is this just not the case, and it's common for prefs to vary between the main and content/gfx processes?  Is there a `user.js` equivalent for main and child processes?

The whole handling of the preferences across processes is a bit fishy.

Today, preference are fully available only on the main and content processes with the limitation that modifying a preference must be done on the main thread, and if you modify one outside the main process, the change will be local to that process and won't propagate to the others.

On the RDD process (used for media decoding), preferences values are passed at the process creation only.

There's no preference support at all on the VR and GPU process.

If you modify a preference on the main thread, the change will propagate to process that specifically handle the update with custom code.

Following bug 1550422, Preference will be available on the other processes, and will be synced from the main process up. So the restrictions that you must modify the preference on the main process for them to propagate will remain.

When a new process is created, Preferences value are passed via command line arguments except on Windows. On Windows a shared memory object is created and the handle to that object is passed via the command line.

It is then up to each process to handle preference modifications and pass that change. There's no automatic or universal method on how this is done unfortunately.

Jean-Yves


_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to