51 lines
2.7 KiB
JavaScript
51 lines
2.7 KiB
JavaScript
// Prefs for the thin client's Firefox profiles. Installed by
|
|
// build-thin-client-iso.sh into both /home/<KIOSK_USERNAME>/.mozilla/firefox/digest
|
|
// (the --kiosk digest canvas) and .../web (the browsable window with minimal chrome).
|
|
//
|
|
// user.js rather than prefs.js: user.js is re-applied to prefs.js on every startup, so
|
|
// nothing a stray click changes at runtime survives a restart. That matters on a kiosk
|
|
// nobody logs into to fix things.
|
|
//
|
|
// Anything expressible as enterprise policy lives in policies.json instead — policy is
|
|
// enforced and shows up in about:policies, whereas a pref is merely a default. The
|
|
// prefs here are the ones with no policy equivalent.
|
|
|
|
// The only reason userChrome.css is read at all. Without this the stylesheet in
|
|
// chrome/ is silently ignored and the window comes up with full default chrome.
|
|
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
|
|
|
// First-run / post-update interstitials. An unattended screen has nobody to close them.
|
|
user_pref("browser.startup.homepage_override.mstone", "ignore");
|
|
user_pref("browser.aboutwelcome.enabled", false);
|
|
user_pref("browser.messaging-system.whatsNewPanel.enabled", false);
|
|
user_pref("trailhead.firstrun.didSeeAboutWelcome", true);
|
|
user_pref("datareporting.policy.firstRunURL", "");
|
|
user_pref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
|
|
|
|
// Session restore prompts after a power cut would leave the room's display stuck on a
|
|
// "restore your session?" page instead of the digest.
|
|
user_pref("browser.sessionstore.resume_from_crash", false);
|
|
user_pref("browser.tabs.warnOnClose", false);
|
|
user_pref("browser.tabs.warnOnCloseOtherTabs", false);
|
|
user_pref("browser.warnOnQuit", false);
|
|
|
|
// No permission doorhangers on a display nobody is standing at. Autoplay is allowed
|
|
// because the digest canvas and embedded video are the point of the machine.
|
|
user_pref("permissions.default.desktop-notification", 2);
|
|
user_pref("permissions.default.geo", 2);
|
|
user_pref("media.autoplay.default", 0);
|
|
user_pref("media.autoplay.blocking_policy", 0);
|
|
|
|
// Wayland-native rather than Xwayland, matching MOZ_ENABLE_WAYLAND in kiosk-session.
|
|
// VA-API is left at its default: no thin-client hardware has been chosen yet
|
|
// (project-plan §4 #7), so forcing hardware decode here could just as easily produce a
|
|
// black video surface as a working one.
|
|
user_pref("gfx.webrender.all", true);
|
|
|
|
// The address bar in the minimal-chrome window is for typing a URL, not for a dropdown
|
|
// of suggestions covering the page.
|
|
user_pref("browser.urlbar.suggest.topsites", false);
|
|
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
|
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
|
|
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|