The main-thread requirements for DXVA appear to have been needed when we initialized a crash guard. We now only run DXVA in the GPU and RDD processes, which don't support crash guards. This removes the main thread dispatch and the crashguard code, and enforces that we're in the GPU/RDD process to init DXVA.
This also removes the DLL blocklist code. This was disabled via pref when in the GPU process, which should be the majority of the time. In rare cases we would have been running DXVA in the RDD process (on older win7 when the GPU process isn't available). In these cases we can just do the same as the GPU process, allowing crashes and recovering from them (and disabling DXVA).
Differential Revision: https://phabricator.services.mozilla.com/D98036
And have it mirror in the parent process more automatically.
The docShellIsActive setter in the browser-custom-element side needs to
be there rather than in the usual DidSet() calls because the
AsyncTabSwitcher code relies on getting an exact amount of notifications
as response to that specific setter. Not pretty, but...
BrowserChild no longer sets IsActive() on the docshell itself for OOP
iframes. This fixes bug 1679521. PresShell activeness is used to
throttle rAF as well, which handles OOP iframes nicely as well.
Differential Revision: https://phabricator.services.mozilla.com/D96072
This patch moves the following SVGs from browser to toolkit so that a subsequent
patch can load panel-icon-folder.svg and connection-mixed-active-loaded.svg from
toolkit. The other two SVGs are moved to minimize a change in CSS and JS.
- panel-icon-folder.svg
- panel-icon-magnifier.svg
- connection-mixed-active-loaded.svg
- connection-mixed-passive-loaded.svg
Differential Revision: https://phabricator.services.mozilla.com/D98699
This patch moves the following SVGs from browser to toolkit so that a subsequent
patch can load panel-icon-folder.svg and connection-mixed-active-loaded.svg from
toolkit. The other two SVGs are moved to minimize a change in CSS and JS.
- panel-icon-folder.svg
- panel-icon-magnifier.svg
- connection-mixed-active-loaded.svg
- connection-mixed-passive-loaded.svg
Differential Revision: https://phabricator.services.mozilla.com/D98699
The menubar is permanently shown if autohide is false. If that is the case, we
insert space above the tab and ensure the tab does not have a left margin.
It's height can change, so we store the height in our registry.
Differential Revision: https://phabricator.services.mozilla.com/D97195
I don't have a crystal clear story of why these timings are different with the
skeleton UI enabled. However, it's not remarkably surprising that it changes the
order of some events during startup which come from the core Windows event loop.
I don't think it's worth diving incredibly deep to understand this - looking at
the profile we still only see one of each of these events.
Differential Revision: https://phabricator.services.mozilla.com/D99111
I don't have a crystal clear story of why these timings are different with the
skeleton UI enabled. However, it's not remarkably surprising that it changes the
order of some events during startup which come from the core Windows event loop.
I don't think it's worth diving incredibly deep to understand this - looking at
the profile we still only see one of each of these events.
Differential Revision: https://phabricator.services.mozilla.com/D99111
We don't want to show the skeleton UI if there is already an instance of
Firefox running for that install. Accordingly, we implement something
similar to the profile lock, acquiring exclusive access to
~/AppData/Local/Mozilla/Firefox/SkeletonUILock-<installHash>. If we do not do
this, then when a user clicks firefox.exe while an existing instance is
running, under default conditions we will open the skeleton UI, then
almost immediately terminate and send a message to the existing instance to
open a new window.
Differential Revision: https://phabricator.services.mozilla.com/D98525
I suspect maybe that something's happening while closing all notifications, but
I can't reproduce the intermittent locally so I'll have to land this test
change to see what information we can glean.
Differential Revision: https://phabricator.services.mozilla.com/D98959