Name Description Size Coverage
ActorConstants.mjs 1329 100 %
ASRouter.sys.mjs 92480 80 %
ASRouterDefaultConfig.sys.mjs 3019 94 %
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 95 %
ASRouterParentProcessMessageHandler.sys.mjs 5811 65 %
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 83 %
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. 3073 97 %
ASRouterStorage.sys.mjs @param storeNames Array of strings used to create all the required stores 13173 42 %
ASRouterTargeting.sys.mjs 56136 94 %
ASRouterTelemetry.sys.mjs Check if it is in the CFR experiment cohort by querying against the experiment manager of Messaging System @return {bool} 8370 95 %
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 62093 92 %
BookmarksBarButton.sys.mjs 3500 98 %
CFRMessageProvider.sys.mjs 27984 100 %
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 87 %
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. 96934 82 %
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. 7849 86 %
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 47287 99 %
InfoBar.sys.mjs eslint-disable no-use-before-define 24321 91 %
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 10673 93 %
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. 1900 100 %
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 99 %
OnboardingMessageProvider.sys.mjs 125208 99 %
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 92 %
PanelTestProvider.sys.mjs 137224 100 %
RemoteL10n.sys.mjs The downloaded Fluent file is located in this sub-directory of the local profile directory. 5744 96 %
SmartWindowNewTabPromo.sys.mjs 3706 13 %
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 3859 93 %
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 95 %
ToolbarBadgeHub.sys.mjs 8924 78 %