| assets |
|
|
- |
| components.conf |
|
695 |
- |
| content |
|
|
- |
| CustomIconManager.sys.mjs |
Inlined catalog of selectable icons. Each entry has:
iconResourceId: the Win32 resource ID of an icon embedded in firefox.exe
at build time (declared in toolkit/xre/nsNativeAppSupportWin.h and
browser/app/splash.rc). This is what gets applied: shortcuts reference
it as firefox.exe,-<iconResourceId> and live windows load it directly.
The catalog-id -> resource-id mapping is ABI: never remap or reuse an id
once it has shipped, even if the icon is retired from the picker.
preview: a chrome:// URI resolving to the same .ico shipped in omni.ja
(see browser/components/shell/jar.mn). Used only to render a thumbnail in
the about:settings picker; never used to apply the icon. PE resources are
not addressable by a URL, hence the separate display asset.
l10nId: Fluent id for the icon's about:settings label.
gated: if true, the icon is a "Bonus" icon, offered only once the browser is
both the default browser and pinned to the taskbar. This is purely an
about:settings policy (the UI disables the option); CustomIconManager
itself does not enforce it.
Theme-aware icons (e.g. Minimal, a monochrome silhouette that's only legible
against a matching background) instead carry a `variants` object keyed by
color scheme ("dark"/"light"), each with its own iconResourceId + preview.
`iconResourceId`/`preview` are read through resolveResourceId()/resolvePreview()
so callers don't special-case theme-aware entries: the applied resource is
chosen by the OS theme (the taskbar background), while the about:settings
preview is chosen by the document's own color scheme (the surface it renders
on). These differ only when the browser theme is overridden away from the OS.
|
16511 |
- |
| HeadlessShell.sys.mjs |
|
7535 |
- |
| icons |
|
|
- |
| jar.mn |
|
1072 |
- |
| moz.build |
|
3173 |
- |
| nsGNOMEShellDBusHelper.cpp |
"icon-data": a tuple of type (iiibiiay) describing a pixbuf with width,
height, rowstride, has-alpha,
bits-per-sample, channels,
image data
|
14838 |
- |
| nsGNOMEShellDBusHelper.h |
|
1326 |
- |
| nsGNOMEShellSearchProvider.cpp |
|
19108 |
- |
| nsGNOMEShellSearchProvider.h |
|
5088 |
- |
| nsGNOMEShellService.cpp |
|
28386 |
- |
| nsGNOMEShellService.h |
|
1250 |
- |
| nsIGNOMEShellService.idl |
Used to determine whether or not to offer "Set as desktop background"
functionality. Even if shell service is available it is not
guaranteed that it is able to set the background for every desktop
which is especially true for Linux with its many different desktop
environments.
|
3536 |
- |
| nsILimitedAccessFeature.idl |
An interface for unlocking Windows Limited Access Features. This allows use
of Windows APIs which are otherwise gated.
|
1633 |
- |
| nsIMacShellService.idl |
Opens the desktop preferences, e.g. for after setting the background.
|
3744 |
- |
| nsIOpenTabsProvider.idl |
List of currently open public tabs
|
549 |
- |
| nsISecondaryTile.idl |
Provides functions that are called (on the main thread) when the secondary
tile creation or deletion finishes.
|
2833 |
- |
| nsIShellService.idl |
Determines whether or not Firefox is the "Default Browser."
This is simply whether or not Firefox is registered to handle
http links.
@param aForAllTypes true if the check should be made for HTTP and HTML.
false if the check should be made for HTTP only.
This parameter may be ignored on some platforms.
|
2414 |
- |
| nsIWindowsShellService.idl |
Bit flags for launchSetDefaultAppPicker's aFlags argument. They map 1:1
onto the flags accepted by the undocumented Windows IOpenWithLauncher COM
interface's Launch method.
The mapping below was determined empirically and determines the picker's
messaging and actions.
|
21263 |
- |
| nsMacShellService.h |
|
855 |
- |
| nsMacShellService.mm |
|
18363 |
- |
| nsShellService.h |
|
592 |
- |
| nsToolkitShellService.h |
|
699 |
- |
| nsWindowsShellService.cpp |
Enable logging by setting MOZ_LOG to "nsWindowsShellService:5" for debugging
purposes. |
111684 |
- |
| nsWindowsShellService.h |
|
836 |
- |
| nsWindowsShellServiceInternal.h |
|
823 |
- |
| OpenTabsProvider.sys.mjs |
|
892 |
- |
| rust |
|
|
- |
| ScreenshotChild.sys.mjs |
|
929 |
- |
| search-provider-files |
|
|
- |
| ShellService.sys.mjs |
Internal functionality to save and restore the docShell.allow* properties.
|
43820 |
- |
| StartupOSIntegration.sys.mjs |
|
11346 |
- |
| test |
|
|
- |
| Windows11TaskbarPinning.cpp |
The Win32 SetEvent and WaitForSingleObject functions take HANDLE parameters
which are typedefs of void*. When using nsAutoHandle, that means if you
forget to call .get() first, everything still compiles and then doesn't work
at runtime. For instance, calling SetEvent(mEvent) below would compile but
not work at runtime and the waits would block forever.
To ensure this isn't an issue, we wrap the event in a custom class here
with the simple methods that we want on an event.
|
9477 |
- |
| Windows11TaskbarPinning.h |
This file exists to keep the Windows 11 Taskbar Pinning API
related code as self-contained as possible.
|
803 |
- |
| WindowsDefaultBrowser.cpp |
This file exists so that LaunchModernSettingsDialogDefaultApps can be called
without linking to libxul.
|
10726 |
- |
| WindowsDefaultBrowser.h |
This file exists so that LaunchModernSettingsDialogDefaultApps can be called
without linking to libxul.
|
1098 |
- |
| WindowsSetDefaultAppCmdHandler.sys.mjs |
Command-line handler for the Windows IOpenWithLauncher round-trip.
When the ShellService.setAsDefault{PDF,Protocol}Handler launches the windows only
"Open with" picker, it hands it a bundled stub file path for file-type
defaults, or a URL for protocol defaults, and stashes a one-shot
{ openWithArg, overrideUri } redirect.
If the user picks Firefox, Windows invokes Firefox with
`-osint -url <openWithArg>`. This handler runs before BrowserContentHandler and
intercepts the launch: it asks ShellService whether the -url
value matches the pending openWithArg and, if so, suppresses the
open and optionally redirects to the stashed overrideUri so the user lands
somewhere meaningful in Firefox.
|
3059 |
- |
| WindowsSetDefaultRedirect.sys.mjs |
The IOpenWithLauncher api call protocol shared by the producer
(ShellService.setAsDefault{PDF,Protocol}Handler) and the consumer
(WindowsSetDefaultAppCmdHandler).
ShellService arms a one-shot redirect before launching the OS "Open with"
picker via IOpenWithLauncher; once the user picks Firefox, the OS relaunches
Firefox with the same value and the command-line handler consumes it. This
module owns that shared state (the pref shape and the matching rules).
|
4494 |
- |
| WindowsUIElement.cpp |
|
2782 |
- |
| WindowsUIElement.h |
Wraps a UI Automation element and its containing window, exposing
higher-level operations.
|
2371 |
- |
| WindowsUIOverlayImage.cpp |
|
11526 |
- |
| WindowsUIOverlayImage.h |
Displays an overlay image on top of a UI Automation element.
|
2232 |
- |
| WindowsUserChoice.cpp |
Generate and check the UserChoice Hash, which protects file and protocol
associations on Windows 10.
NOTE: This is also used in the WDBA, so it avoids XUL and XPCOM.
References:
- PS-SFTA by Danysys <https://github.com/DanysysTeam/PS-SFTA>
- based on a PureBasic version by LMongrain
<https://github.com/DanysysTeam/SFTA>
- AssocHashGen by "halfmeasuresdisabled", see bug 1225660 and
<https://www.reddit.com/r/ReverseEngineering/comments/3t7q9m/assochashgen_a_reverse_engineered_version_of/>
- SetUserFTA changelog
<https://kolbi.cz/blog/2017/10/25/setuserfta-userchoice-hash-defeated-set-file-type-associations-per-user/>
|
17281 |
- |
| WindowsUserChoice.h |
Check the UserChoice Hashes for https, http, .html, .htm
This should be checked before attempting to set a new default browser via
the UserChoice key, to confirm our understanding of the existing hash.
If an incorrect hash is written, Windows will prompt the user to choose a
new default (or, in recent versions, it will just reset the default to Edge).
Assuming that the existing hash value is correct (since Windows is fairly
diligent about replacing bad keys), if we can recompute it from scratch,
then we should be able to compute a correct hash for our new UserChoice key.
@return true if we matched all the hashes, false otherwise.
|
4470 |
- |