Commits:
-
385447ad
by Pier Angelo Vendrame at 2024-10-31T19:10:50+01:00
dropme! Bug 32308: Use direct browser sizing for letterboxing.
Revert a couple of lines to make the backport easier.
-
4a33efb7
by hackademix at 2024-10-31T19:10:51+01:00
Bug 1556002 - Update initial window size and letterboxing stepping. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D226598
-
036aaa05
by Pier Angelo Vendrame at 2024-10-31T19:13:04+01:00
fixup! Bug 32308: Use direct browser sizing for letterboxing.
Restore our changes after backporting MozBug 1556002.
-
8a4eb9d3
by Pier Angelo Vendrame at 2024-10-31T19:13:50+01:00
fixup! Firefox preference overrides.
Remove our custom letterboxing size, since they are going to be also
Firefox's default one after MozBug 1556002.
6 changed files:
Changes:
browser/app/profile/001-base-profile.js
... |
... |
@@ -445,9 +445,6 @@ pref("privacy.resistFingerprinting.letterboxing.gradient", true); |
445
|
445
|
pref("privacy.resistFingerprinting.letterboxing.rememberSize", false);
|
446
|
446
|
// tor-browser#41695: how many warnings we show if user closes them without restoring the window size
|
447
|
447
|
pref("privacy.resistFingerprinting.resizeWarnings", 3);
|
448
|
|
-// tor-browser#33282: new windows start at 1400x900 when there's enough screen space, otherwise down by 200x100 blocks
|
449
|
|
-pref("privacy.window.maxInnerWidth", 1400);
|
450
|
|
-pref("privacy.window.maxInnerHeight", 900);
|
451
|
448
|
// Enforce Network Information API as disabled
|
452
|
449
|
pref("dom.netinfo.enabled", false);
|
453
|
450
|
pref("network.http.referer.defaultPolicy", 2); // Bug 32948: Make referer behavior consistent regardless of private browing mode status
|
browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js
... |
... |
@@ -53,8 +53,8 @@ function checkForDefaultSetting( |
53
|
53
|
aRealHeight
|
54
|
54
|
) {
|
55
|
55
|
// We can get the rounded size by subtracting twice the margin.
|
56
|
|
- let targetWidth = aRealWidth - 2 * RFPHelper.steppedRange(aRealWidth);
|
57
|
|
- let targetHeight = aRealHeight - 2 * RFPHelper.steppedRange(aRealHeight);
|
|
56
|
+ let targetWidth = aRealWidth - 2 * RFPHelper.steppedSize(aRealWidth, true);
|
|
57
|
+ let targetHeight = aRealHeight - 2 * RFPHelper.steppedSize(aRealHeight);
|
58
|
58
|
|
59
|
59
|
// This platform-specific code is explained in the large comment below.
|
60
|
60
|
if (getPlatform() != "linux") {
|
browser/components/resistfingerprinting/test/browser/browser_roundedWindow_open_max_inner.js
... |
... |
@@ -4,23 +4,26 @@ |
4
|
4
|
* maximum values.
|
5
|
5
|
*/
|
6
|
6
|
|
|
7
|
+let targetWidth = Services.prefs.getIntPref("privacy.window.maxInnerWidth");
|
|
8
|
+let targetHeight = Services.prefs.getIntPref("privacy.window.maxInnerHeight");
|
|
9
|
+
|
7
|
10
|
OpenTest.run([
|
8
|
11
|
{
|
9
|
|
- settingWidth: 1025,
|
10
|
|
- settingHeight: 1050,
|
11
|
|
- targetWidth: 1000,
|
12
|
|
- targetHeight: 1000,
|
|
12
|
+ settingWidth: targetWidth + 25,
|
|
13
|
+ settingHeight: targetHeight + 50,
|
|
14
|
+ targetWidth,
|
|
15
|
+ targetHeight,
|
13
|
16
|
},
|
14
|
17
|
{
|
15
|
18
|
settingWidth: 9999,
|
16
|
19
|
settingHeight: 9999,
|
17
|
|
- targetWidth: 1000,
|
18
|
|
- targetHeight: 1000,
|
|
20
|
+ targetWidth,
|
|
21
|
+ targetHeight,
|
19
|
22
|
},
|
20
|
23
|
{
|
21
|
|
- settingWidth: 999,
|
22
|
|
- settingHeight: 999,
|
23
|
|
- targetWidth: 1000,
|
24
|
|
- targetHeight: 1000,
|
|
24
|
+ settingWidth: targetWidth - 1,
|
|
25
|
+ settingHeight: targetHeight - 1,
|
|
26
|
+ targetWidth,
|
|
27
|
+ targetHeight,
|
25
|
28
|
},
|
26
|
29
|
]); |
browser/components/resistfingerprinting/test/browser/head.js
... |
... |
@@ -306,19 +306,28 @@ async function calcMaximumAvailSize(aChromeWidth, aChromeHeight) { |
306
|
306
|
let availWidth = window.screen.availWidth;
|
307
|
307
|
let availHeight = window.screen.availHeight;
|
308
|
308
|
|
309
|
|
- // Ideally, we would round the window size as 1000x1000. But the available
|
310
|
|
- // screen space might not suffice. So, we decide the size according to the
|
311
|
|
- // available screen size.
|
312
|
|
- let availContentWidth = Math.min(1000, availWidth - chromeUIWidth);
|
|
309
|
+ // Ideally, we would round the window size as
|
|
310
|
+ // privacy.window.maxInnerWidth x privacy.window.maxInnerHeight. But the
|
|
311
|
+ // available screen space might not suffice. So, we decide the size according
|
|
312
|
+ // to the available screen size.
|
|
313
|
+ let maxInnerWidth = Services.prefs.getIntPref("privacy.window.maxInnerWidth");
|
|
314
|
+ let maxInnerHeight = Services.prefs.getIntPref(
|
|
315
|
+ "privacy.window.maxInnerHeight"
|
|
316
|
+ );
|
|
317
|
+
|
|
318
|
+ let availContentWidth = Math.min(maxInnerWidth, availWidth - chromeUIWidth);
|
313
|
319
|
let availContentHeight;
|
314
|
320
|
|
315
|
321
|
// If it is GTK window, we would consider the system decorations when we
|
316
|
322
|
// calculating avail content height since the system decorations won't be
|
317
|
323
|
// reported when we get available screen dimensions.
|
318
|
324
|
if (AppConstants.MOZ_WIDGET_GTK) {
|
319
|
|
- availContentHeight = Math.min(1000, -40 + availHeight - chromeUIHeight);
|
|
325
|
+ availContentHeight = Math.min(
|
|
326
|
+ maxInnerHeight,
|
|
327
|
+ -40 + availHeight - chromeUIHeight
|
|
328
|
+ );
|
320
|
329
|
} else {
|
321
|
|
- availContentHeight = Math.min(1000, availHeight - chromeUIHeight);
|
|
330
|
+ availContentHeight = Math.min(maxInnerHeight, availHeight - chromeUIHeight);
|
322
|
331
|
}
|
323
|
332
|
|
324
|
333
|
// Rounded the desire size to the nearest 200x100.
|
modules/libpref/init/StaticPrefList.yaml
... |
... |
@@ -14352,12 +14352,12 @@ |
14352
|
14352
|
|
14353
|
14353
|
- name: privacy.window.maxInnerWidth
|
14354
|
14354
|
type: int32_t
|
14355
|
|
- value: 1000
|
|
14355
|
+ value: 1400
|
14356
|
14356
|
mirror: always
|
14357
|
14357
|
|
14358
|
14358
|
- name: privacy.window.maxInnerHeight
|
14359
|
14359
|
type: int32_t
|
14360
|
|
- value: 1000
|
|
14360
|
+ value: 900
|
14361
|
14361
|
mirror: always
|
14362
|
14362
|
|
14363
|
14363
|
- name: privacy.sanitize.useOldClearHistoryDialog
|
toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
... |
... |
@@ -522,14 +522,14 @@ class _RFPHelper { |
522
|
522
|
/**
|
523
|
523
|
* Given a width or height, rounds it with the proper stepping.
|
524
|
524
|
*/
|
525
|
|
- steppedSize(aDimension, isWidth = false) {
|
|
525
|
+ steppedSize(aDimension, aIsWidth = false) {
|
526
|
526
|
let stepping;
|
527
|
527
|
if (aDimension <= 50) {
|
528
|
528
|
return 0;
|
529
|
529
|
} else if (aDimension <= 500) {
|
530
|
530
|
stepping = 50;
|
531
|
531
|
} else if (aDimension <= 1600) {
|
532
|
|
- stepping = isWidth ? 200 : 100;
|
|
532
|
+ stepping = aIsWidth ? 200 : 100;
|
533
|
533
|
} else {
|
534
|
534
|
stepping = 200;
|
535
|
535
|
}
|
|