зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1782295: Use Nimbus for Felt Privacy window separation r=dao
We'll be defaulting Felt Privacy features to enabled, and allowing them to be disabled by Nimbus (primarily for a holdback study). Differential Revision: https://phabricator.services.mozilla.com/D153275
This commit is contained in:
Родитель
e3dc5f6eaa
Коммит
db7599985e
|
@ -654,9 +654,8 @@ pref("browser.privatebrowsing.enable-new-logo", true);
|
|||
pref("browser.privacySegmentation.enabled", false);
|
||||
|
||||
// Temporary pref to control whether or not Private Browsing windows show up
|
||||
// as separate icons in the Windows taskbar. This will be removed and become
|
||||
// the default behaviour with 106.
|
||||
pref("browser.privacySegmentation.windowSeparation.enabled", false);
|
||||
// as separate icons in the Windows taskbar.
|
||||
pref("browser.privacySegmentation.windowSeparation.enabled", true);
|
||||
|
||||
// Use dark theme variant for PBM windows. This is only supported if the theme
|
||||
// sets darkTheme data.
|
||||
|
|
|
@ -22,6 +22,7 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {
|
|||
HomePage: "resource:///modules/HomePage.jsm",
|
||||
FirstStartup: "resource://gre/modules/FirstStartup.jsm",
|
||||
LaterRun: "resource:///modules/LaterRun.jsm",
|
||||
NimbusFeatures: "resource://nimbus/ExperimentAPI.jsm",
|
||||
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.jsm",
|
||||
SessionStartup: "resource:///modules/sessionstore/SessionStartup.jsm",
|
||||
ShellService: "resource:///modules/ShellService.jsm",
|
||||
|
@ -44,8 +45,6 @@ const ONCE_PREF = "browser.startup.homepage_override.once";
|
|||
// Index of Private Browsing icon in firefox.exe
|
||||
// Must line up with the one in nsNativeAppSupportWin.h.
|
||||
const PRIVATE_BROWSING_ICON_INDEX = 5;
|
||||
const PRIVATE_WINDOW_SEPARATION_PREF =
|
||||
"browser.privacySegmentation.windowSeparation.enabled";
|
||||
|
||||
function shouldLoadURI(aURI) {
|
||||
if (aURI && !aURI.schemeIs("chrome")) {
|
||||
|
@ -283,11 +282,11 @@ function openBrowserWindow(
|
|||
win.docShell.QueryInterface(
|
||||
Ci.nsILoadContext
|
||||
).usePrivateBrowsing = true;
|
||||
if (Services.prefs.getBoolPref(PRIVATE_WINDOW_SEPARATION_PREF)) {
|
||||
// TODO: Changing this after the Window has been painted causes it to
|
||||
// change Taskbar icons if the original one had a different AUMID.
|
||||
// This must stay pref'ed off until this is resolved.
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=1751010
|
||||
if (
|
||||
lazy.NimbusFeatures.majorRelease2022.getVariable(
|
||||
"feltPrivacyWindowSeparation"
|
||||
)
|
||||
) {
|
||||
lazy.WinTaskbar.setGroupIdForWindow(
|
||||
win,
|
||||
lazy.WinTaskbar.defaultPrivateGroupId
|
||||
|
|
|
@ -143,8 +143,6 @@ const PRIVATE_BROWSING_BINARY = "private_browsing.exe";
|
|||
// Index of Private Browsing icon in private_browsing.exe
|
||||
// Must line up with IDI_PBICON_PB_PB_EXE in nsNativeAppSupportWin.h.
|
||||
const PRIVATE_BROWSING_EXE_ICON_INDEX = 1;
|
||||
const PREF_PRIVATE_WINDOW_SEPARATION =
|
||||
"browser.privacySegmentation.windowSeparation.enabled";
|
||||
const PREF_PRIVATE_BROWSING_SHORTCUT_CREATED =
|
||||
"browser.privacySegmentation.createdShortcut";
|
||||
|
||||
|
@ -2536,7 +2534,9 @@ BrowserGlue.prototype = {
|
|||
// Pref'ed off until Private Browsing window separation is enabled by default
|
||||
// to avoid a situation where a user pins the Private Browsing shortcut to
|
||||
// the Taskbar, which will end up launching into a different Taskbar icon.
|
||||
Services.prefs.getBoolPref(PREF_PRIVATE_WINDOW_SEPARATION, false) &&
|
||||
lazy.NimbusFeatures.majorRelease2022.getVariable(
|
||||
"feltPrivacyWindowSeparation"
|
||||
) &&
|
||||
// Private Browsing shortcuts for packaged builds come with the package,
|
||||
// if they exist at all. We shouldn't try to create our own.
|
||||
!Services.sysinfo.getProperty("hasWinPackageId") &&
|
||||
|
|
|
@ -602,3 +602,7 @@ majorRelease2022:
|
|||
type: boolean
|
||||
fallbackPref: "browser.privacySegmentation.preferences.show"
|
||||
description: "Controls visibility of the privacy segmentation preferences section."
|
||||
feltPrivacyWindowSeparation:
|
||||
type: boolean
|
||||
fallbackPref: "browser.privacySegmentation.windowSeparation.enabled"
|
||||
description: "Whether or not private browsing windows use a separate icon in the Windows taskbar"
|
||||
|
|
|
@ -160,6 +160,7 @@
|
|||
#include "mozilla/StaticPrefs_layout.h"
|
||||
#include "mozilla/StaticPrefs_widget.h"
|
||||
#include "nsNativeAppSupportWin.h"
|
||||
#include "mozilla/browser/NimbusFeatures.h"
|
||||
|
||||
#include "nsIGfxInfo.h"
|
||||
#include "nsUXThemeConstants.h"
|
||||
|
@ -1112,8 +1113,8 @@ nsresult nsWindow::Create(nsIWidget* aParent, nsNativeWidget aNativeParent,
|
|||
}
|
||||
|
||||
if (aInitData->mIsPrivate) {
|
||||
if (Preferences::GetBool(
|
||||
"browser.privacySegmentation.windowSeparation.enabled", false) &&
|
||||
if (NimbusFeatures::GetBool("majorRelease2022"_ns,
|
||||
"feltPrivacyWindowSeparation"_ns, true) &&
|
||||
// Although permanent Private Browsing mode is indeed Private Browsing,
|
||||
// we choose to make it look like regular Firefox in terms of the icon
|
||||
// it uses (which also means we shouldn't use the Private Browsing
|
||||
|
|
Загрузка…
Ссылка в новой задаче