Verified Commit b5083862 authored by henry's avatar henry Committed by ma1
Browse files

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

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


namespace mozilla::widget {
namespace mozilla::widget {


@@ -164,7 +165,10 @@ void ScrollbarDrawingWin::RecomputeScrollbarParams() {
  }
  }
  ConfigureScrollbarSize(defaultSize);
  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::Unknown) &&
      StaticPrefs::widget_non_native_theme_win_scrollbar_use_system_size()) {
    ConfigureScrollbarSize(LookAndFeel::GetInt(
    ConfigureScrollbarSize(LookAndFeel::GetInt(
        LookAndFeel::IntID::SystemScrollbarSize, defaultSize));
        LookAndFeel::IntID::SystemScrollbarSize, defaultSize));
  }
  }
+6 −0
Original line number Original line Diff line number Diff line
@@ -11,6 +11,7 @@
#include "nsLayoutUtils.h"
#include "nsLayoutUtils.h"
#include "Theme.h"
#include "Theme.h"
#include "nsNativeTheme.h"
#include "nsNativeTheme.h"
#include "nsContentUtils.h"


using mozilla::gfx::sRGBColor;
using mozilla::gfx::sRGBColor;


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


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