Name Description Size
AboutPreferences.sys.mjs 13506
ActivityStream.sys.mjs 46154
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
AdsFeed.sys.mjs This thin wrapper around global.fetch makes it easier for us to write automated tests that simulate responses from this fetch. 16340
cache.worker.js global ReactDOMServer, NewtabRenderUtils 6829
DefaultSites.sys.mjs 1584
DiscoveryStreamFeed.sys.mjs 111861
DownloadsManager.sys.mjs null for non-private downloads 5747
FaviconFeed.sys.mjs 627
HighlightsFeed.sys.mjs isStartup 10493
InferredModel
InferredPersonalizationFeed.sys.mjs A feature that periodically generates a interest vector for inferred personalization. 12190
NewTabContentPing.sys.mjs Adds a event recording for Glean.newtabContent to the internal buffer. The event will be recorded when the ping is sent. @param {string} name The name of the event to record. @param {object} data The extra data being recorded with the event. 6039
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 10116
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 4615
PersistentCache.sys.mjs A file (disk) based persistent cache of a JSON serializable object. 2547
PersonalityProvider
PlacesFeed.sys.mjs PlacesObserver - observes events from PlacesUtils.observers 17312
PrefsFeed.sys.mjs Handler for when experiment data updates. 9732
RecommendationProvider.sys.mjs This creates a new recommendationProvider using fresh data, It's run on a last updated timer. This is the opposite of loadPersonalizationScoresCache. This is also much slower so we only trigger this in the background on idle-daily. It causes new profiles to pick up personalization slowly because the first time a new profile is run you don't have any old cache to use, so it needs to wait for the first idle-daily. Older profiles can rely on cache during the idle-daily gap. Idle-daily is usually run once every 24 hours. 9835
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
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`. 17901
ShortcutsRanker.sys.mjs Get clicks and impressions for sites in topsites array @param {object[]} topsites Array of topsites objects @param {string} table Table for shortcuts interactions @param {string} placeTable moz_places table @returns {clicks: [number[], impressions: number[]]} Clicks and impressions for each site in topsites 5245
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. 3250
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. 5994
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. 5491
SystemTickFeed.sys.mjs 1819
TelemetryFeed.sys.mjs eslint no-console: ["error", { allow: ["error"] }] 61320
TopSitesFeed.sys.mjs 73907
TopStoriesFeed.sys.mjs isStartup 23635
TrendingSearchFeed.sys.mjs A feature that periodically fetches trending search suggestions for HNT. 5764
UTEventReporting.sys.mjs Note: the schema can be found in https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/Events.yaml 1374
WallpaperFeed.sys.mjs This thin wrapper around global.fetch makes it easier for us to write automated tests that simulate responses from this fetch. 9253
WeatherFeed.sys.mjs A feature that periodically fetches weather suggestions from Merino for HNT. 7767
Widgets