Name Description Size
AboutPreferences.sys.mjs 13506
ActivityStream.sys.mjs 43677
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. 16396
cache.worker.js global ReactDOMServer, NewtabRenderUtils 6829
DefaultSites.sys.mjs 1584
DiscoveryStreamFeed.sys.mjs 109191
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. 12051
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 9833
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 3723
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. 8235
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
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
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"] }] 61113
TopSitesFeed.sys.mjs 72387
TopStoriesFeed.sys.mjs isStartup 23635
TrendingSearchFeed.sys.mjs A feature that periodically fetches trending search suggestions for HNT. 5461
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. 8710
WeatherFeed.sys.mjs A feature that periodically fetches weather suggestions from Merino for HNT. 7767