Name Description Size Coverage
ActorConstants.mjs 1393 -
ASRouter.sys.mjs 99377 -
ASRouterDefaultConfig.sys.mjs 3019 -
ASRouterNewTabHook.sys.mjs Params: object - { messageHandler: message handler for parent process messages { handleCFRAction: Responds to CFR action and returns a Promise handleTelemetry: Logs telemetry events and returns nothing }, router: ASRouter instance createStorage: function to create DB storage for ASRouter } 3536 -
ASRouterParentProcessMessageHandler.sys.mjs 5897 -
ASRouterPreferences.sys.mjs Use `ASRouterPreferences.console.debug()` and friends from ASRouter files to log messages during development. See LOG_LEVELS in Console.sys.mjs for the available methods as well as the available values for this pref. 9804 -
ASRouterScreenUtils.sys.mjs Filter the given screens in place with a predicate. @param {object[]} screens - The screens to filter. @param {Function} callback - The predicate for filtering the screens. 7130 -
ASRouterStorage.sys.mjs @param storeNames Array of strings used to create all the required stores 13173 -
ASRouterTargeting.sys.mjs 61183 -
ASRouterTelemetry.sys.mjs Check if it is in the CFR experiment cohort by querying against the experiment manager of Messaging System @return {bool} 9214 -
ASRouterTriggerListeners.sys.mjs Check current location against the list of allowed hosts Additionally verify for redirects and check original request URL against the list. @returns {object} - {host, url} pair that matched the list of allowed hosts 69055 -
BookmarksBarButton.sys.mjs 4083 -
CFRMessageProvider.sys.mjs 27984 -
CFRPageActions.sys.mjs A WeakMap from browsers to {host, recommendation} pairs. Recommendations are defined in the ExtensionDoorhanger.schema.json. A recommendation is specific to a browser and host and is active until the given browser is closed or the user navigates (within that browser) away from the host. 35537 -
FeatureCallout.sys.mjs Feature Callout fetches messages relevant to a given source and displays them in the parent page pointing to the element they describe. 97317 -
FeatureCalloutBroker.sys.mjs @typedef {object} FeatureCalloutOptions @property {Window} win window in which messages will be rendered. @property {{name: string, defaultValue?: string}} [pref] optional pref used to track progress through a given feature tour. for example: { name: "browser.pdfjs.feature-tour", defaultValue: '{ screen: "FEATURE_CALLOUT_1", complete: false }', } or { name: "browser.pdfjs.feature-tour" } (defaultValue is optional) @property {string} [location] string to pass as the page when requesting messages from ASRouter and sending telemetry. @property {MozBrowser} [browser] <browser> element responsible for the feature callout. for content pages, this is the browser element that the callout is being shown in. for chrome, this is the active browser. @property {Function} [cleanup] callback to be invoked when the callout is removed or the window is unloaded. @property {FeatureCalloutTheme} [theme] optional dynamic color theme. 7882 -
FeatureCalloutMessages.sys.mjs add24HourImpressionJEXLTargeting - Creates a "hasn't been viewed in > 24 hours" JEXL string and adds it to each message specified @param {Array} messageIds - IDs of messages that the targeting string will be added to @param {string} prefix - The prefix of messageIDs that will used to create the JEXL string @param {Array} messages - The array of messages that will be edited @returns {Array} - The array of messages with the appropriate targeting strings edited 45247 -
InfoBar.sys.mjs eslint-disable no-use-before-define 25671 -
MenuMessage.sys.mjs Whether the message should be suppressed for a signed-in user. - fxa_cta: suppress when signed in by default, unless content.allowWhenSignedIn is set to true. - default_cta: never suppress 11444 -
MessagingExperimentConstants.sys.mjs This file is used to define constants related to messaging experiments. It is imported by both ASRouter as well as import-rollouts.js, a node script that imports Nimbus rollouts into tree. It doesn't have access to any Firefox APIs, XPCOM, etc. and should be kept that way. 1876 -
MessagingTargetingConstants.sys.mjs Commonly reused targeting expressions for Firefox Messaging System messages. These constants standardize targeting strings that are frequently used across in-tree messages and experiments, making them easier to maintain, review, and communicate changes. When a targeting heuristic changes, update the constant here and add a versioned suffix (e.g. _V2) to preserve backward compatibility for any experiments or rollouts still referencing the old version. Modeled after Experimenter's targeting constants: https://github.com/mozilla/experimenter/blob/main/experimenter/experimenter/targeting/constants.py 4104 -
MomentsPageHub.sys.mjs If we don't have `expire` defined with the message it could be because it depends on user dependent parameters. Since the message matched targeting we calculate `expire` based on the current timestamp and the `expireDelta` which defines for how long it should be available. @param expireDelta {number} - Offset in milliseconds from the current date 4661 -
OnboardingMessageProvider.sys.mjs 117576 -
PageEventManager.sys.mjs Methods for setting up and tearing down page event listeners. These are used to dismiss Feature Callouts when the callout's anchor element is clicked. 5181 -
PanelTestProvider.sys.mjs 108731 -
PreonboardingSplash.sys.mjs This splash screen is the full-viewport loading screen shown to new users at startup while first-run experiments enroll behind it. It shows at most once per profile (`browser.preonboarding.splashShown`). When the TOU modal will show, it already includes a splash screen as its first screen, so this standalone splash suppresses itself in that case. It also suppresses itself when about:welcome is not going to be shown this startup, since there is then nothing for the splash to gate. It is triggered from BrowserGlue._onWindowsRestored at `sessionstore-windows-restored` time so that it appears before about:welcome content renders. 7531 -
RemoteL10n.sys.mjs The downloaded Fluent file is located in this sub-directory of the local profile directory. 5744 -
SidebarChatBotPromo.sys.mjs Locate the promo element in the genai chat sidebar. The trigger passes the selected tab's browser, but the promo lives in the sidebar panel browser's document, so hop through SidebarController. `sidebarToolOpened` fires without awaiting `SidebarController.toggle()`, so the panel is often still showing its previous document when we get here. Wait one load cycle rather than silently dropping the message. @param {object} browser The browser the trigger fired for @param {boolean} force When true (devtools "Show" / about:messagepreview), open the chat sidebar to the correct tool so the promo has somewhere to render, instead of relying on it already being open. @returns {Promise<Element|null>} The chatbot-promo element, or null if not present before the panel finished loading 6026 -
SmartWindowNewTabPromo.sys.mjs 4040 -
Spotlight.sys.mjs Shows spotlight tab or window modal specific to the given browser @param browser The browser for spotlight display @param message Message containing content to show @param dispatchCFRAction A function to dispatch resulting actions @return boolean value capturing if spotlight was displayed 4787 -
test2 5180 -
ToastNotification.sys.mjs Select the appropriate image URL from message content based on the system color scheme and motion preferences. @param {object} content The message content object. @returns {string|undefined} The selected image URL. 8226 -
ToolbarBadgeHub.sys.mjs 8924 -