Bug 2036752: Use correct registry path for PreXULSkeletonUI in enterprise builds and allow skeleton UI when MOZ_BYPASS_FELT is set#808
Conversation
92de57f to
b2b5414
Compare
b2b5414 to
3eecd0b
Compare
3eecd0b to
0b33c33
Compare
5c48c8c to
50b6afd
Compare
| WindowsRegistry: "resource://gre/modules/WindowsRegistry.sys.mjs", | ||
| }); | ||
|
|
||
| const kRegPath = `Software\\Mozilla\\${AppConstants.MOZ_APP_BASENAME}\\PreXULSkeletonUISettings`; |
There was a problem hiding this comment.
I think it's worth upstreaming this directly (and getting proper review from owners of that code).
Maybe @Mossop can help?
There was a problem hiding this comment.
Sure, if you can submit it I can review it, easy r+!
There was a problem hiding this comment.
e39ace4 to
3c02f64
Compare
…prise builds and allow skeleton UI when MOZ_BYPASS_FELT is set
3c02f64 to
23a8412
Compare
|
|
||
|
|
||
| class BrowserSkeletonUI(BaseBrowserSignout): | ||
| def test_skeleton_ui_not_shown_for_felt(self): |
There was a problem hiding this comment.
@Mossop can you shed some light?
I wrote this test to verify that the skekelton UI is working, firefox enterprise actually is always using same binary.
That means we also share same registry keys cause they also have same MOZ_APP_BASENAME etc.
In this code we hold a lock on FELT (parent process).
[task 2026-05-07T13:58:38.991+00:00] 13:58:38 INFO - PreXULSkeletonUI: Opening reg key
[task 2026-05-07T13:58:39.000+00:00] 13:58:39 INFO - PreXULSkeletonUI: Opened/created reg key (disposition 2)
[task 2026-05-07T13:58:39.003+00:00] 13:58:39 INFO - PreXULSkeletonUI: CreateAndStorePreXULSkeletonUI failed with error 9
Do we actually want to show the skeleton UI the first time we open the Felt browser (i.e child firefox process)?
There was a problem hiding this comment.
You definitely don't want to show the skeleton UI in the FELT process as it wouldn't look correct so you should be able to skip it in that case, which should resolve any locking issue with the child Firefox process.
Whether you want to show the skeleton UI at all is a product decision I guess, I'm not sure it is really relevant to the enterprise use.
Description
Bugzilla: Bug-2036752
In enterprise builds, the PreXULSkeletonUI startup check requires the -felt flag to be present, but mochitests don't pass this flag, so adding MOZ_BYPASS_FELT as an alternative allows the skeleton UI to run during tests and prevents browser_preXULSkeletonUIRegistry from failing on enterprise builds.
Additionally the MOZ_APP_BASENAME is used in C++ to compute the registry path, vs a hardcoded "firefox" on the test, which fails on enterprise
Dependencies / Related Issues
Screenshots
Testing
See test pass with changes
See test fail without changes