AboutNewTab.sys.mjs |
init - Initializes an instance of Activity Stream if one doesn't exist already.
|
6916 |
BackgroundTask_install.sys.mjs |
This task ought to have an ephemeral profile and should not apply updates.
These settings are controlled externally, by
`BackgroundTasks::IsUpdatingTaskName` and
`BackgroundTasks::IsEphemeralProfileTaskName`.
|
1011 |
BackgroundTask_uninstall.sys.mjs |
This task ought to have an ephemeral profile and should not apply updates.
These settings are controlled externally, by
`BackgroundTasks::IsUpdatingTaskName` and
`BackgroundTasks::IsEphemeralProfileTaskName`.
|
1723 |
BrowserUIUtils.sys.mjs |
-*- mode: js; indent-tabs-mode: nil; js-indent-level: 2 -*- |
6976 |
BrowserUsageTelemetry.sys.mjs |
-*- js-indent-level: 2; indent-tabs-mode: nil -*- |
49902 |
BrowserWindowTracker.sys.mjs |
This module tracks each browser window and informs network module
the current selected tab's content outer window ID.
|
13019 |
ContentCrashHandlers.sys.mjs |
BrowserWeakMap is exactly like a WeakMap, but expects <xul:browser>
objects only.
Under the hood, BrowserWeakMap keys the map off of the <xul:browser>
permanentKey. If, however, the browser has never gotten a permanentKey,
it falls back to keying on the <xul:browser> element itself.
|
36363 |
Discovery.sys.mjs |
|
4101 |
EveryWindow.sys.mjs |
This module enables consumers to register callbacks on every
current and future browser window.
Usage: EveryWindow.registerCallback(id, init, uninit);
EveryWindow.unregisterCallback(id);
id is expected to be a unique value that identifies the
consumer, to be used for unregistration. If the id is already
in use, registerCallback returns false without doing anything.
Each callback will receive the window for which it is presently
being called as the first argument.
init is called on every existing window at the time of registration,
and on all future windows at browser-delayed-startup-finished.
uninit is called on every existing window if requested at the time
of unregistration, and at the time of domwindowclosed.
If the window is closing, a second argument is passed with value `true`.
|
3561 |
ExtensionsUI.sys.mjs |
|
25426 |
FaviconLoader.sys.mjs |
|
19654 |
FilePickerCrashed.sys.mjs |
TODO(rkraesig): add "More Info" button? |
4052 |
FirefoxBridgeExtensionUtils.sys.mjs |
Default implementation of the helper class to assist in deleting the firefox protocols.
See maybeDeleteBridgeProtocolRegistryEntries for more info.
|
8553 |
HomePage.sys.mjs |
HomePage provides tools to keep track of the current homepage, and the
applications's default homepage. It includes tools to insure that certain
urls are ignored. As a result, all set/get requests for the homepage
preferences should be routed through here.
|
11045 |
LaterRun.sys.mjs |
|
6217 |
metrics.yaml |
|
46764 |
moz.build |
|
4782 |
PageActions.sys.mjs |
Initializes PageActions.
@param {boolean} addShutdownBlocker
This param exists only for tests. Normally the default value of true
must be used.
|
42388 |
PartnerLinkAttribution.sys.mjs |
Sends an attribution request to an anonymizing proxy.
@param {string} targetURL
The URL we are routing through the anonmyzing proxy.
@param {string} source
The source of the anonmized request ("newtab" or "urlbar").
@param {string} [campaignID]
The campaign ID for attribution. This should be a valid path on the
anonymizing proxy. For example, if `campaignID` was `foo`, we'd send an
attribution request to https://topsites.mozilla.com/cid/foo.
Optional. If it's not provided, we default to the topsites campaign.
|
2538 |
PermissionUI.sys.mjs |
PermissionUI is responsible for exposing both a prototype
PermissionPrompt that can be used by arbitrary browser
components and add-ons, but also hosts the implementations of
built-in permission prompts.
If you're developing a feature that requires web content to ask
for special permissions from the user, this module is for you.
Suppose a system add-on wants to add a new prompt for a new request
for getting more low-level access to the user's sound card, and the
permission request is coming up from content by way of the
nsContentPermissionHelper. The system add-on could then do the following:
const { Integration } = ChromeUtils.importESModule(
"resource://gre/modules/Integration.sys.mjs"
);
const { PermissionUI } = ChromeUtils.importESModule(
"resource:///modules/PermissionUI.sys.mjs"
);
const SoundCardIntegration = base => {
let soundCardObj = {
createPermissionPrompt(type, request) {
if (type != "sound-api") {
return super.createPermissionPrompt(...arguments);
}
let permissionPrompt = {
get permissionKey() {
return "sound-permission";
}
// etc - see the documentation for PermissionPrompt for
// a better idea of what things one can and should override.
};
Object.setPrototypeOf(
permissionPrompt,
PermissionUI.PermissionPromptForRequest
);
return permissionPrompt;
},
};
Object.setPrototypeOf(soundCardObj, base);
return soundCardObj;
};
// Add-on startup:
Integration.contentPermission.register(SoundCardIntegration);
// ...
// Add-on shutdown:
Integration.contentPermission.unregister(SoundCardIntegration);
Note that PermissionPromptForRequest must be used as the
prototype, since the prompt is wrapping an nsIContentPermissionRequest,
and going through nsIContentPermissionPrompt.
It is, however, possible to take advantage of PermissionPrompt without
having to go through nsIContentPermissionPrompt or with a
nsIContentPermissionRequest. The PermissionPrompt can be
imported, subclassed, and have prompt() called directly, without
the caller having called into createPermissionPrompt.
|
41927 |
pings.yaml |
|
878 |
PopupBlockerObserver.sys.mjs |
|
10609 |
ProcessHangMonitor.sys.mjs |
-*- mode: js; indent-tabs-mode: nil; js-indent-level: 2 -*- |
20610 |
Sanitizer.sys.mjs |
Whether we should sanitize on shutdown.
|
51005 |
SelectionChangedMenulist.sys.mjs |
|
904 |
SiteDataManager.sys.mjs |
Retrieve the latest site data and store it in SiteDataManager.
Updating site data is a *very* expensive operation. This method exists so that
consumers can manually decide when to update, most methods on SiteDataManager
will not trigger updates automatically.
It is *highly discouraged* to await on this function to finish before showing UI.
Either trigger the update some time before the data is needed or use the
entryUpdatedCallback parameter to update the UI async.
@param {entryUpdatedCallback} a function to be called whenever a site is added or
updated. This can be used to e.g. fill a UI that lists sites without
blocking on the entire update to finish.
@returns a Promise that resolves when updating is done.
|
21043 |
SitePermissions.sys.mjs |
A helper module to manage temporary permissions.
Permissions are keyed by browser, so methods take a Browser
element to identify the corresponding permission set.
This uses a WeakMap to key browsers, so that entries are
automatically cleared once the browser stops existing
(once there are no other references to the browser object);
|
41911 |
test |
|
|
TransientPrefs.sys.mjs |
Use for preferences that should only be visible when they've been modified.
When reset to their default state, they remain visible until restarting the
application. |
634 |
URILoadingHelper.sys.mjs |
|
27188 |
webrtcUI.sys.mjs |
|
35697 |
WindowsJumpLists.sys.mjs |
-*- indent-tabs-mode: nil; js-indent-level: 2 -*- |
15964 |
WindowsPreviewPerTab.sys.mjs |
This module implements the front end behavior for AeroPeek. Starting in
Windows Vista, the taskbar began showing live thumbnail previews of windows
when the user hovered over the window icon in the taskbar. Starting with
Windows 7, the taskbar allows an application to expose its tabbed interface
in the taskbar by showing thumbnail previews rather than the default window
preview. Additionally, when a user hovers over a thumbnail (tab or window),
they are shown a live preview of the window (or tab + its containing window).
In Windows 7, a title, icon, close button and optional toolbar are shown for
each preview. This feature does not make use of the toolbar. For window
previews, the title is the window title and the icon the window icon. For
tab previews, the title is the page title and the page's favicon. In both
cases, the close button "does the right thing."
The primary objects behind this feature are nsITaskbarTabPreview and
nsITaskbarPreviewController. Each preview has a controller. The controller
responds to the user's interactions on the taskbar and provides the required
data to the preview for determining the size of the tab and thumbnail. The
PreviewController class implements this interface. The preview will request
the controller to provide a thumbnail or preview when the user interacts with
the taskbar. To reduce the overhead of drawing the tab area, the controller
implementation caches the tab's contents in a <canvas> element. If no
previews or thumbnails have been requested for some time, the controller will
discard its cached tab contents.
Screen real estate is limited so when there are too many thumbnails to fit
on the screen, the taskbar stops displaying thumbnails and instead displays
just the title, icon and close button in a similar fashion to previous
versions of the taskbar. If there are still too many previews to fit on the
screen, the taskbar resorts to a scroll up and scroll down button pair to let
the user scroll through the list of tabs. Since this is undoubtedly
inconvenient for users with many tabs, the AeroPeek objects turns off all of
the tab previews. This tells the taskbar to revert to one preview per window.
If the number of tabs falls below this magic threshold, the preview-per-tab
behavior returns. There is no reliable way to determine when the scroll
buttons appear on the taskbar, so a magic pref-controlled number determines
when this threshold has been crossed.
|
25930 |
ZoomUI.sys.mjs |
Gets the global browser.content.full-zoom content preference.
@returns Promise<prefValue>
Resolves to the preference value (float) when done.
|
7177 |