Commit c7f3df94 authored by henry's avatar henry Committed by Pier Angelo Vendrame
Browse files

BB 42528: Don't leak system scrollbar size on windows.

parent 6247c0e1
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include "nsLayoutUtils.h"
#include "Theme.h"
#include "nsNativeTheme.h"
#include "nsContentUtils.h"

namespace mozilla::widget {

@@ -164,7 +165,10 @@ void ScrollbarDrawingWin::RecomputeScrollbarParams() {
  }
  ConfigureScrollbarSize(defaultSize);

  if (StaticPrefs::widget_non_native_theme_win_scrollbar_use_system_size()) {
  // Do not leak system size when using ResistFingerprinting.
  if (!nsContentUtils::ShouldResistFingerprinting("No context available",
                                                  RFPTarget::CSSResolution) &&
      StaticPrefs::widget_non_native_theme_win_scrollbar_use_system_size()) {
    ConfigureScrollbarSize(LookAndFeel::GetInt(
        LookAndFeel::IntID::SystemScrollbarSize, defaultSize));
  }
+6 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include "nsLayoutUtils.h"
#include "Theme.h"
#include "nsNativeTheme.h"
#include "nsContentUtils.h"

using mozilla::gfx::sRGBColor;

@@ -352,6 +353,11 @@ bool ScrollbarDrawingWin11::PaintScrollbarThumb(

void ScrollbarDrawingWin11::RecomputeScrollbarParams() {
  ScrollbarDrawingWin::RecomputeScrollbarParams();
  if (nsContentUtils::ShouldResistFingerprinting("No context available",
                                                 RFPTarget::CSSResolution)) {
    // Do not distinguish sizes between windows 10 and 11.
    return;
  }
  // TODO(emilio): Maybe make this configurable? Though this doesn't respect
  // classic Windows registry settings, and cocoa overlay scrollbars also don't
  // respect the override it seems, so this should be fine.