Files
tubestation/browser/components/shell
Nicholas Rishel fa92b82d1a Bug 1917674 - Part 2: Ensure shell service native interface members are present on ShellService. r=nalexander
A quirk of the JavaScript implementation of XPCOM's QueryInterface is that it loads the interface's functions onto the queried object. For Services like `ShellService` this creates situations where the interface can be initialized at a distance, causing races depending on how Firefox is run - e.g. Desktop vs Background Task. To ensure consistent behavior this patch forces `ShellService` initialization of the native interface so that the native functions are always present.

To accomplish this, `nsIWindowsShellService` has been modified to inherit from `nsIShellService` to match other platforms and ensure that querying it also loads the `nsIShellService` members into `shellService`.

Differential Revision: https://phabricator.services.mozilla.com/D222154
2024-09-13 17:38:50 +00:00
..