Name Description Size Coverage
AboutPreferences.sys.mjs Render a single preference with all the details, e.g. description, links, more granular preferences. @param sectionData @param document @param Preferences 11877 -
ActivityStream.sys.mjs 51996 -
ActivityStreamMessageChannel.sys.mjs ActivityStreamMessageChannel - This module connects a Redux store to the new tab page actor. You should use the BroadcastToContent, AlsoToOneContent, and AlsoToMain action creators in common/Actions.sys.mjs to help you create actions that will be automatically routed to the correct location. @param {object} options @param {function} options.dispatch The dispatch method from a Redux store @param {string} options.pageURL The URL to which the channel is attached, such as about:newtab. @param {string} options.outgoingMessageName The name of the message sent to child processes @param {string} options.incomingMessageName The name of the message received from child processes @return {ActivityStreamMessageChannel} 10660 -
ActivityStreamPrefs.sys.mjs Prefs - A wrapper around Preferences that always sets the branch to ACTIVITY_STREAM_PREF_BRANCH 3411 -
actors -
AdsFeed.sys.mjs This thin wrapper around global.fetch makes it easier for us to write automated tests that simulate responses from this fetch. 16368 -
cache.worker.js global ReactDOMServer, NewtabRenderUtils 6829 -
DefaultSites.sys.mjs 1584 -
DiscoveryStreamFeed.sys.mjs 98611 -
DownloadsManager.sys.mjs null for non-private downloads 5795 -
ExternalComponentsFeed.sys.mjs ExternalComponentsFeed manages the integration between the AboutNewTabComponentRegistry and the New Tab Redux store. This feed: - Listens to the AboutNewTabComponentRegistry for component updates - Dispatches REFRESH_EXTERNAL_COMPONENTS actions to update the store - Ensures external components are loaded during New Tab initialization External components registered through this system can be rendered on the newtab page via the ExternalComponentWrapper React component. 2991 -
FaviconFeed.sys.mjs 627 -
FrecencyBoostProvider -
HighlightsFeed.sys.mjs isStartup 10503 -
ImportHelper.sys.mjs Helper so the new tab extension can easily trainhop while we convert modules from resource:// to moz-src:// URIs. @param {string} module The full moz-src URI to import. @param {string} [fallbackResourcePath ="resource://gre/modules/"] The resource url prefix to use for fallback import if moz-src fails. The helper will suffix _only_ the module filename to this path. 990 -
InferredModel -
InferredPersonalizationFeed.sys.mjs A feature that periodically generates a interest vector for inferred personalization. 14443 -
NewTabActorRegistry.sys.mjs Fission-compatible JSWindowActor implementations. Detailed documentation of these options is in dom/docs/ipc/jsactors.rst, available at https://firefox-source-docs.mozilla.org/dom/ipc/jsactors.html 1762 -
NewTabAttributionFeed.sys.mjs - Writes clicks and impressions to NewTabAttributionService. - Cleared when user history is cleared. 5233 -
NewTabAttributionService.sys.mjs / class NewTabAttributionService { /** @typedef { 'view' | 'click' | 'default' } matchType - Available matching methodologies for conversion events. @typedef { 'view' | 'click' } eventType - A subset of matchType values that Newtab will register events. @typedef {object} task - DAP task settings. @property {string} id - task id. @property {string} vdaf - vdaf type. @property {number} length - number of buckets. @property {number} time_precision - time precision. @typedef {object} allocatedTask @property {task} task - DAP task settings. @property {number} defaultMeasurement - Measurement value used if budget is exceeded. @property {number} index - Measurement value used if budget is not exceeded. @typedef {object} impression - stored event. @property {allocatedTask} conversion - DAP task settings for conversion attribution. @property {number} lastImpression - Timestamp in milliseconds for last touch matching. @property {number} lastView - Timestamp in milliseconds for last view matching. @property {number} lastClick - Timestamp in milliseconds for last click matching. @typedef {object} budget - stored budget. @property {number} conversions - Number of conversions that have occurred in the budget period. @property {number} nextReset - Timestamp in milliseconds for the end of the period this budget applies to. 15765 -
NewTabContentPing.sys.mjs Set the maximum number of events to send in a 24 hour period @param {int} maxEvents 12116 -
NewTabGleanUtils.sys.mjs Module for managing Glean telemetry metrics and pings in the New Tab page. This object provides functionality to: - Read and parse JSON configuration files containing metrics and ping definitions - Register metrics and pings at runtime - Convert between different naming conventions (dotted snake case, kebab case, camel case) - Handle metric and ping registration with proper error handling and logging 11132 -
NewTabInit.sys.mjs NewTabInit - A placeholder for now. This will send a copy of the state to all newly opened tabs. 1630 -
NewTabMessaging.sys.mjs @param {string} id ID of message to be blocked 4854 -
PersistentCache.sys.mjs A file (disk) based persistent cache of a JSON serializable object. 2547 -
PlacesFeed.sys.mjs PlacesObserver - observes events from PlacesUtils.observers 18043 -
PrefsFeed.sys.mjs Handles preference changes by broadcasting them to content processes and tracking user changes during the activation window. @param {string} name - The preference name @param {boolean | number | string} value - The new preference value @param {boolean} [isUserChange=true] - Whether this change originated from a user action (true) or programmatic state transition (false). Only user changes are tracked during the activation window. 24952 -
Screenshots.sys.mjs Get a screenshot / thumbnail for a url. Either returns the disk cached image or initiates a background request for the url. @param url {string} The url to get a thumbnail @return {Promise} Resolves a custom object or null if failed 5118 -
SectionsLayoutManager.sys.mjs 17338 -
SectionsManager.sys.mjs Generators for built in sections, keyed by the pref name for their feed. Built in sections may depend on options stored as serialised JSON in the pref `${feed_pref_name}.options`. 17557 -
SiteClassifier.sys.mjs classifySite Classifies a given URL into a category based on classification data from RemoteSettings. The data from remote settings can match a category by one of the following: - match the exact URL - match the hostname or second level domain (sld) - match query parameter(s), and optionally their values or prefixes - match both (hostname or sld) and query parameter(s) The data looks like: [{ "type": "hostname-and-params-match", "criteria": [ { "url": "https://matchurl.com", "hostname": "matchhostname.com", "sld": "secondleveldomain", "params": [ { "key": "matchparam", "value": "matchvalue", "prefix": "matchpPrefix", }, ], }, ], "weight": 300, },...] 3297 -
SmartShortcutsFeed.sys.mjs A feature that periodically generates an interest vector for personalized shortcuts. 3542 -
SmartShortcutsRanker -
StartupCacheInit.sys.mjs StartupCacheInit - Startup cache hydrates from a previous state. However, weather, sponsored content, and custom wallpapers are not cached. Weather sponsored content, or custom wallpapers can update before we fully hydrate. So this feed watches these feeds and updates later after we hydrate. We render this feed inert after hydrating from cache or not. 7099 -
Store.sys.mjs Store - This has a similar structure to a redux store, but includes some extra functionality to allow for routing of actions between the Main processes and child processes via a ActivityStreamMessageChannel. It also accepts an array of "Feeds" on inititalization, which can listen for any action that is dispatched through the store. 5447 -
SystemTickFeed.sys.mjs 1819 -
TelemetryFeed.sys.mjs eslint no-console: ["error", { allow: ["error"] }] 78907 -
TopSitesFeed.sys.mjs 81573 -
TopStoriesFeed.sys.mjs isStartup 23343 -
UTEventReporting.sys.mjs Note: the schema can be found in https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/Events.yaml 1374 -
Wallpapers -
WeatherFeed.sys.mjs A feature that periodically fetches weather suggestions from Merino for HNT. 15632 -
Widgets -