Name Description Size Coverage
assets -
content -
IPPL10nHelper.sys.mjs Hides the IP protection UI from a user who never saw the feature while `browser/ipProtection.ftl` is not localized enough in the current locale. Once the UI has been exposed `hasSeenFeature` is set, so a later version adding untranslated strings never takes the feature away again. The same pref forces the UI on for testing. The gate only lasts for the Firefox major version that first hit it: the version is recorded when the feature is hidden and, as soon as the browser is updated to a new major version, the gate gives up and exposes the feature. 2505 -
IPPOnboardingMessageHelper.sys.mjs This class handles in-panel continuous onboarding messages, including setting the browser.ipProtection.onboardingMessageMask, a pref that gates messages according to feature (general VPN, autostart, site exceptions) through bit mask 3562 -
IPPOptOutHelper.sys.mjs This class monitors the optedOut pref and if it sees an opted-out state, it sets the state on IPProtectionService and removes the toolbar widget. 1285 -
IPProtection.sys.mjs IPProtectionWidget is the class for the singleton IPProtection. It is a minimal manager for creating and removing a CustomizableUI widget for IP protection features. It maintains the state of the panels and updates them when the panel is shown or hidden. 10029 -
IPProtectionAlertManager.sys.mjs Manages showing alerts for different VPN states 8080 -
IPProtectionHelpers.sys.mjs Note: If you add or modify the list of helpers, make sure to update the corresponding documentation in the `docs` folder as well. 3629 -
IPProtectionInfobarManager.sys.mjs Manages displaying bandwidth warning infobars when usage reaches 75% or 90% thresholds based on remaining bandwidth percentage. 9663 -
IPProtectionPanel.sys.mjs Manages updates for a IP Protection panelView in a given browser window. 41326 -
IPProtectionToolbarButton.sys.mjs IPProtectionToolbarButton manages the IP Protection toolbar button for a single browser window. Each instance: - Tracks location changes via a progress listener - Updates the button icon according to the proxy state, proxy errors, offline status, and site exclusions - Handles the visual state of the toolbar button 15513 -
IPPUsageHelper.sys.mjs @typedef {"none" | "unlimited" | "warning-75-percent" | "warning-90-percent"} UsageState An Object containing instances of UsageState. @typedef {object} UsageStates @property {string} NONE Usage is below warning thresholds or the quota is exhausted. @property {string} WARNING_75_PERCENT 75% or more of bandwidth has been used. @property {string} WARNING_90_PERCENT 90% or more of bandwidth has been used. @property {string} UNLIMITED The user has unlimited bandwidth, so there is no usage to track. 5875 -
jar.mn 1789 -
metrics.yaml 5756 -
moz.build 798 -
tests -