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