Closed Bug 1656526 Opened 4 years ago Closed 4 years ago

Implement a very early skeleton UI on Windows behind a registry value

Categories

(Firefox :: General, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
82 Branch
Tracking Status
firefox82 --- fixed

People

(Reporter: alexical, Assigned: alexical)

References

(Blocks 1 open bug)

Details

Attachments

(5 files)

Keeping this platform specific at this point because I don't have as solid an idea of how all this shakes out on other platforms, though I imagine it's rather similar.

Currently, on my reference hardware, a cold startup looks like this:

  • Click the Firefox icon on the desktop
  • Wait 19 seconds for any visual indication whatsoever that we've launched it
  • See a blank window
  • Wait for 3 seconds to see the browser chrome show up
  • Wait for 8 seconds to see about:home finish loading

That 19 second chunk is far too long, and we can move it earlier by creating a window before prefetching / loading xul.dll (which can take a very long time).

This does leave us with an awkwardly long amount of time staring at a blank white window, which isn't great, but it's likely preferable to nothing. However, even better than this would be if we could use Windows GDI to paint a basic skeleton UI until we can get the real thing up and running.

Summary: Show a blank window before loading xul.dll on Windows → Show a window with a skeleton UI before loading xul.dll on Windows
Attachment #9168605 - Attachment description: Bug 1656526 - WIP pre-xul skeleton UI on Windows → Bug 1656526 - Show blank window prior to loading xul on Windows r?mhowell
Attachment #9168929 - Attachment description: Bug 1656526 - Draw app skeleton UI → Bug 1656526 - Draw app skeleton UI r?gijs!,mhowell!
Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/abdc9c22078c
Show blank window prior to loading xul on Windows r=mhowell
https://hg.mozilla.org/integration/autoland/rev/b6d3b254ae8c
Draw app skeleton UI r=Gijs,mhowell

Depends on D89669

Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/88ff36a4bcfb
Show blank window prior to loading xul on Windows r=mhowell
https://hg.mozilla.org/integration/autoland/rev/6fbb7e7ac121
Draw app skeleton UI r=Gijs,mhowell
https://hg.mozilla.org/integration/autoland/rev/472b724994eb
Add resolver_64.cc to asan_blacklist_win.txt r=dmajor
https://hg.mozilla.org/integration/autoland/rev/24648c48a49c
Update sccache to latest r=froydnj
Flags: needinfo?(dothayer)
Attachment #9174789 - Attachment description: Bug 1656526 - Update sccache to latest r?froydnj → Bug 1656526 - Update sccache to latest

We need this because otherwise we load user32, which fails the check in
WindowsDllBlocklist.cpp (line 649). It sounds like this check is non-
negotiable, so this is the only solution I can come up with. Obviously
please let me know if there is some reason we cannot do this, but it
seems to function fine.

Depends on D89670

Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a23009db71c6
Show blank window prior to loading xul on Windows r=mhowell
https://hg.mozilla.org/integration/autoland/rev/976087837141
Draw app skeleton UI r=Gijs,mhowell
https://hg.mozilla.org/integration/autoland/rev/ed843dd9af8a
Add resolver_64.cc to asan_blacklist_win.txt r=dmajor
https://hg.mozilla.org/integration/autoland/rev/9ea0f247d46e
Update sccache to latest r=froydnj
https://hg.mozilla.org/integration/autoland/rev/2742f1d85634
Lazily load user32 and gdi32 for skeleton UI r=mhowell
Regressions: 1665357
Flags: needinfo?(dothayer)
Summary: Show a window with a skeleton UI before loading xul.dll on Windows → Implement a very early skeleton UI on Windows behind a registry value
Blocks: 1665451
Depends on: 1665456
No longer depends on: 1665456
Regressions: 1666030
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: