summaryrefslogtreecommitdiff
path: root/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
diff options
context:
space:
mode:
Diffstat (limited to 'www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch')
-rw-r--r--www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch132
1 files changed, 66 insertions, 66 deletions
diff --git a/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch b/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
index 2d6821f..59fbb6d 100644
--- a/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
+++ b/www/chromium-uc/patches/extra/bromite/fingerprinting-flags-client-rects-and-measuretext.patch
@@ -7,9 +7,9 @@
7# 7#
8# Unlike the latest Bromite patch, it was chosen to not regenerate the noise value each time the value is read to prevent potential efficiency issues with the load on the RNG. 8# Unlike the latest Bromite patch, it was chosen to not regenerate the noise value each time the value is read to prevent potential efficiency issues with the load on the RNG.
9 9
10--- chrome/browser/BUILD.gn.orig 10--- a/chrome/browser/BUILD.gn
11+++ chrome/browser/BUILD.gn 11+++ b/chrome/browser/BUILD.gn
12@@ -2370,6 +2370,7 @@ static_library("browser") { 12@@ -2350,6 +2350,7 @@ static_library("browser") {
13 "//third_party/libyuv", 13 "//third_party/libyuv",
14 "//third_party/metrics_proto", 14 "//third_party/metrics_proto",
15 "//third_party/re2", 15 "//third_party/re2",
@@ -17,9 +17,9 @@
17 "//third_party/webrtc_overrides:webrtc_component", 17 "//third_party/webrtc_overrides:webrtc_component",
18 "//third_party/widevine/cdm:buildflags", 18 "//third_party/widevine/cdm:buildflags",
19 "//third_party/widevine/cdm:headers", 19 "//third_party/widevine/cdm:headers",
20--- chrome/browser/about_flags.cc.orig 20--- a/chrome/browser/about_flags.cc
21+++ chrome/browser/about_flags.cc 21+++ b/chrome/browser/about_flags.cc
22@@ -151,6 +151,7 @@ 22@@ -150,6 +150,7 @@
23 #include "components/translate/core/browser/translate_ranker_impl.h" 23 #include "components/translate/core/browser/translate_ranker_impl.h"
24 #include "components/translate/core/common/translate_util.h" 24 #include "components/translate/core/common/translate_util.h"
25 #include "components/ui_devtools/switches.h" 25 #include "components/ui_devtools/switches.h"
@@ -27,8 +27,8 @@
27 #include "components/version_info/version_info.h" 27 #include "components/version_info/version_info.h"
28 #include "components/viz/common/features.h" 28 #include "components/viz/common/features.h"
29 #include "components/viz/common/switches.h" 29 #include "components/viz/common/switches.h"
30--- chrome/browser/bromite_flag_entries.h.orig 30--- a/chrome/browser/bromite_flag_entries.h
31+++ chrome/browser/bromite_flag_entries.h 31+++ b/chrome/browser/bromite_flag_entries.h
32@@ -4,4 +4,12 @@ 32@@ -4,4 +4,12 @@
33 33
34 #ifndef CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ 34 #ifndef CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
@@ -42,9 +42,9 @@
42+ "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization. ungoogled-chromium flag, Bromite feature.", 42+ "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization. ungoogled-chromium flag, Bromite feature.",
43+ kOsAll, SINGLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)}, 43+ kOsAll, SINGLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)},
44 #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ 44 #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_
45--- content/browser/BUILD.gn.orig 45--- a/content/browser/BUILD.gn
46+++ content/browser/BUILD.gn 46+++ b/content/browser/BUILD.gn
47@@ -222,6 +222,7 @@ source_set("browser") { 47@@ -226,6 +226,7 @@ source_set("browser") {
48 "//third_party/libyuv", 48 "//third_party/libyuv",
49 "//third_party/re2", 49 "//third_party/re2",
50 "//third_party/sqlite", 50 "//third_party/sqlite",
@@ -52,9 +52,9 @@
52 "//third_party/webrtc_overrides:webrtc_component", 52 "//third_party/webrtc_overrides:webrtc_component",
53 "//third_party/wtl", 53 "//third_party/wtl",
54 "//third_party/zlib", 54 "//third_party/zlib",
55--- content/browser/renderer_host/render_process_host_impl.cc.orig 55--- a/content/browser/renderer_host/render_process_host_impl.cc
56+++ content/browser/renderer_host/render_process_host_impl.cc 56+++ b/content/browser/renderer_host/render_process_host_impl.cc
57@@ -68,6 +68,7 @@ 57@@ -74,6 +74,7 @@
58 #include "components/services/storage/public/mojom/cache_storage_control.mojom.h" 58 #include "components/services/storage/public/mojom/cache_storage_control.mojom.h"
59 #include "components/services/storage/public/mojom/indexed_db_control.mojom.h" 59 #include "components/services/storage/public/mojom/indexed_db_control.mojom.h"
60 #include "components/tracing/common/tracing_switches.h" 60 #include "components/tracing/common/tracing_switches.h"
@@ -62,7 +62,7 @@
62 #include "components/viz/common/switches.h" 62 #include "components/viz/common/switches.h"
63 #include "components/viz/host/gpu_client.h" 63 #include "components/viz/host/gpu_client.h"
64 #include "content/browser/bad_message.h" 64 #include "content/browser/bad_message.h"
65@@ -3465,6 +3466,8 @@ void RenderProcessHostImpl::PropagateBro 65@@ -3363,6 +3364,8 @@ void RenderProcessHostImpl::PropagateBro
66 switches::kEnableWebGLDraftExtensions, 66 switches::kEnableWebGLDraftExtensions,
67 switches::kEnableWebGLImageChromium, 67 switches::kEnableWebGLImageChromium,
68 switches::kFileUrlPathAlias, 68 switches::kFileUrlPathAlias,
@@ -71,8 +71,8 @@
71 switches::kForceDeviceScaleFactor, 71 switches::kForceDeviceScaleFactor,
72 switches::kForceDisplayColorProfile, 72 switches::kForceDisplayColorProfile,
73 switches::kForceGpuMemAvailableMb, 73 switches::kForceGpuMemAvailableMb,
74--- content/child/BUILD.gn.orig 74--- a/content/child/BUILD.gn
75+++ content/child/BUILD.gn 75+++ b/content/child/BUILD.gn
76@@ -103,6 +103,7 @@ target(link_target_type, "child") { 76@@ -103,6 +103,7 @@ target(link_target_type, "child") {
77 "//third_party/blink/public/common", 77 "//third_party/blink/public/common",
78 "//third_party/blink/public/strings", 78 "//third_party/blink/public/strings",
@@ -81,9 +81,9 @@
81 "//third_party/zlib/google:compression_utils", 81 "//third_party/zlib/google:compression_utils",
82 "//ui/base", 82 "//ui/base",
83 "//ui/events/blink", 83 "//ui/events/blink",
84--- content/child/runtime_features.cc.orig 84--- a/content/child/runtime_features.cc
85+++ content/child/runtime_features.cc 85+++ b/content/child/runtime_features.cc
86@@ -31,6 +31,7 @@ 86@@ -32,6 +32,7 @@
87 #include "third_party/blink/public/common/loader/referrer_utils.h" 87 #include "third_party/blink/public/common/loader/referrer_utils.h"
88 #include "third_party/blink/public/common/switches.h" 88 #include "third_party/blink/public/common/switches.h"
89 #include "third_party/blink/public/platform/web_runtime_features.h" 89 #include "third_party/blink/public/platform/web_runtime_features.h"
@@ -91,10 +91,10 @@
91 #include "ui/accessibility/accessibility_features.h" 91 #include "ui/accessibility/accessibility_features.h"
92 #include "ui/base/ui_base_features.h" 92 #include "ui/base/ui_base_features.h"
93 #include "ui/events/blink/blink_features.h" 93 #include "ui/events/blink/blink_features.h"
94@@ -466,6 +467,10 @@ void SetRuntimeFeaturesFromCommandLine(c 94@@ -486,6 +487,10 @@ void SetRuntimeFeaturesFromCommandLine(c
95 {wrf::EnableWebGPU, switches::kEnableUnsafeWebGPU, true},
96 {wrf::ForceOverlayFullscreenVideo, switches::kForceOverlayFullscreenVideo, 95 {wrf::ForceOverlayFullscreenVideo, switches::kForceOverlayFullscreenVideo,
97 true}, 96 true},
97 {wrf::EnableDirectSockets, switches::kRestrictedApiOrigins, false},
98+ {wrf::EnableFingerprintingClientRectsNoise, 98+ {wrf::EnableFingerprintingClientRectsNoise,
99+ switches::kFingerprintingClientRectsNoise, true}, 99+ switches::kFingerprintingClientRectsNoise, true},
100+ {wrf::EnableFingerprintingCanvasMeasureTextNoise, 100+ {wrf::EnableFingerprintingCanvasMeasureTextNoise,
@@ -102,9 +102,9 @@
102 }; 102 };
103 for (const auto& mapping : switchToFeatureMapping) { 103 for (const auto& mapping : switchToFeatureMapping) {
104 if (command_line.HasSwitch(mapping.switch_name)) 104 if (command_line.HasSwitch(mapping.switch_name))
105--- third_party/blink/public/platform/web_runtime_features.h.orig 105--- a/third_party/blink/public/platform/web_runtime_features.h
106+++ third_party/blink/public/platform/web_runtime_features.h 106+++ b/third_party/blink/public/platform/web_runtime_features.h
107@@ -218,6 +218,8 @@ class WebRuntimeFeatures { 107@@ -212,6 +212,8 @@ class WebRuntimeFeatures {
108 BLINK_PLATFORM_EXPORT static void EnableMediaControlsExpandGesture(bool); 108 BLINK_PLATFORM_EXPORT static void EnableMediaControlsExpandGesture(bool);
109 BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool); 109 BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
110 BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool); 110 BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
@@ -113,8 +113,8 @@
113 BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch( 113 BLINK_PLATFORM_EXPORT static void EnableSignedExchangeSubresourcePrefetch(
114 bool); 114 bool);
115 BLINK_PLATFORM_EXPORT static void EnableSubresourceWebBundles(bool); 115 BLINK_PLATFORM_EXPORT static void EnableSubresourceWebBundles(bool);
116--- third_party/blink/renderer/core/dom/document.cc.orig 116--- a/third_party/blink/renderer/core/dom/document.cc
117+++ third_party/blink/renderer/core/dom/document.cc 117+++ b/third_party/blink/renderer/core/dom/document.cc
118@@ -42,6 +42,7 @@ 118@@ -42,6 +42,7 @@
119 #include "base/containers/contains.h" 119 #include "base/containers/contains.h"
120 #include "base/debug/dump_without_crashing.h" 120 #include "base/debug/dump_without_crashing.h"
@@ -123,7 +123,7 @@
123 #include "base/time/time.h" 123 #include "base/time/time.h"
124 #include "cc/input/overscroll_behavior.h" 124 #include "cc/input/overscroll_behavior.h"
125 #include "cc/input/scroll_snap_data.h" 125 #include "cc/input/scroll_snap_data.h"
126@@ -855,6 +856,14 @@ Range* Document::CreateRangeAdjustedToTr 126@@ -871,6 +872,14 @@ Range* Document::CreateRangeAdjustedToTr
127 Position::BeforeNode(*shadow_host)); 127 Position::BeforeNode(*shadow_host));
128 } 128 }
129 129
@@ -138,7 +138,7 @@
138 SelectorQueryCache& Document::GetSelectorQueryCache() { 138 SelectorQueryCache& Document::GetSelectorQueryCache() {
139 if (!selector_query_cache_) 139 if (!selector_query_cache_)
140 selector_query_cache_ = std::make_unique<SelectorQueryCache>(); 140 selector_query_cache_ = std::make_unique<SelectorQueryCache>();
141@@ -2145,6 +2154,15 @@ void Document::UpdateStyleAndLayoutTreeF 141@@ -2166,6 +2175,15 @@ void Document::UpdateStyleAndLayoutTreeF
142 #if DCHECK_IS_ON() 142 #if DCHECK_IS_ON()
143 AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */); 143 AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */);
144 #endif 144 #endif
@@ -154,9 +154,9 @@
154 } 154 }
155 155
156 void Document::InvalidateStyleAndLayoutForFontUpdates() { 156 void Document::InvalidateStyleAndLayoutForFontUpdates() {
157--- third_party/blink/renderer/core/dom/document.h.orig 157--- a/third_party/blink/renderer/core/dom/document.h
158+++ third_party/blink/renderer/core/dom/document.h 158+++ b/third_party/blink/renderer/core/dom/document.h
159@@ -456,6 +456,10 @@ class CORE_EXPORT Document : public Cont 159@@ -478,6 +478,10 @@ class CORE_EXPORT Document : public Cont
160 has_xml_declaration_ = has_xml_declaration ? 1 : 0; 160 has_xml_declaration_ = has_xml_declaration ? 1 : 0;
161 } 161 }
162 162
@@ -167,7 +167,7 @@
167 AtomicString visibilityState() const; 167 AtomicString visibilityState() const;
168 bool IsPageVisible() const; 168 bool IsPageVisible() const;
169 bool hidden() const; 169 bool hidden() const;
170@@ -2078,6 +2082,9 @@ class CORE_EXPORT Document : public Cont 170@@ -2137,6 +2141,9 @@ class CORE_EXPORT Document : public Cont
171 171
172 base::ElapsedTimer start_time_; 172 base::ElapsedTimer start_time_;
173 173
@@ -177,38 +177,38 @@
177 Member<ScriptRunner> script_runner_; 177 Member<ScriptRunner> script_runner_;
178 178
179 HeapVector<Member<ScriptElementBase>> current_script_stack_; 179 HeapVector<Member<ScriptElementBase>> current_script_stack_;
180--- third_party/blink/renderer/core/dom/element.cc.orig 180--- a/third_party/blink/renderer/core/dom/element.cc
181+++ third_party/blink/renderer/core/dom/element.cc 181+++ b/third_party/blink/renderer/core/dom/element.cc
182@@ -2114,6 +2114,11 @@ DOMRectList* Element::getClientRects() { 182@@ -2090,6 +2090,11 @@ DOMRectList* Element::getClientRects() {
183 DCHECK(element_layout_object); 183 DCHECK(element_layout_object);
184 GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom( 184 GetDocument().AdjustQuadsForScrollAndAbsoluteZoom(quads,
185 quads, *element_layout_object); 185 *element_layout_object);
186+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { 186+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
187+ for (FloatQuad& quad : quads) { 187+ for (gfx::QuadF& quad : quads) {
188+ quad.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY()); 188+ quad.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY());
189+ } 189+ }
190+ } 190+ }
191 return MakeGarbageCollected<DOMRectList>(quads); 191 return MakeGarbageCollected<DOMRectList>(quads);
192 } 192 }
193 193
194@@ -2131,6 +2136,9 @@ FloatRect Element::GetBoundingClientRect 194@@ -2107,6 +2112,9 @@ gfx::RectF Element::GetBoundingClientRec
195 DCHECK(element_layout_object); 195 DCHECK(element_layout_object);
196 GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result, 196 GetDocument().AdjustRectForScrollAndAbsoluteZoom(result,
197 *element_layout_object); 197 *element_layout_object);
198+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { 198+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
199+ result.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY()); 199+ result.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY());
200+ } 200+ }
201 return result; 201 return result;
202 } 202 }
203 203
204--- third_party/blink/renderer/core/dom/range.cc.orig 204--- a/third_party/blink/renderer/core/dom/range.cc
205+++ third_party/blink/renderer/core/dom/range.cc 205+++ b/third_party/blink/renderer/core/dom/range.cc
206@@ -1598,11 +1598,21 @@ DOMRectList* Range::getClientRects() con 206@@ -1598,11 +1598,21 @@ DOMRectList* Range::getClientRects() con
207 Vector<FloatQuad> quads; 207 Vector<gfx::QuadF> quads;
208 GetBorderAndTextQuads(quads); 208 GetBorderAndTextQuads(quads);
209 209
210+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { 210+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
211+ for (FloatQuad& quad : quads) { 211+ for (gfx::QuadF& quad : quads) {
212+ quad.Scale(owner_document_->GetNoiseFactorX(), owner_document_->GetNoiseFactorY()); 212+ quad.Scale(owner_document_->GetNoiseFactorX(), owner_document_->GetNoiseFactorY());
213+ } 213+ }
214+ } 214+ }
@@ -217,17 +217,17 @@
217 } 217 }
218 218
219 DOMRect* Range::getBoundingClientRect() const { 219 DOMRect* Range::getBoundingClientRect() const {
220- return DOMRect::FromFloatRect(BoundingRect()); 220- return DOMRect::FromRectF(BoundingRect());
221+ auto rect = BoundingRect(); 221+ auto rect = BoundingRect();
222+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { 222+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
223+ rect.Scale(owner_document_->GetNoiseFactorX(), owner_document_->GetNoiseFactorY()); 223+ rect.Scale(owner_document_->GetNoiseFactorX(), owner_document_->GetNoiseFactorY());
224+ } 224+ }
225+ return DOMRect::FromFloatRect(rect); 225+ return DOMRect::FromRectF(rect);
226 } 226 }
227 227
228 // TODO(editing-dev): We should make 228 // TODO(editing-dev): We should make
229--- third_party/blink/renderer/core/html/canvas/text_metrics.cc.orig 229--- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc
230+++ third_party/blink/renderer/core/html/canvas/text_metrics.cc 230+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
231@@ -55,6 +55,24 @@ TextMetrics::TextMetrics(const Font& fon 231@@ -55,6 +55,24 @@ TextMetrics::TextMetrics(const Font& fon
232 Update(font, direction, baseline, align, text); 232 Update(font, direction, baseline, align, text);
233 } 233 }
@@ -253,8 +253,8 @@
253 void TextMetrics::Update(const Font& font, 253 void TextMetrics::Update(const Font& font,
254 const TextDirection& direction, 254 const TextDirection& direction,
255 const TextBaseline& baseline, 255 const TextBaseline& baseline,
256--- third_party/blink/renderer/core/html/canvas/text_metrics.h.orig 256--- a/third_party/blink/renderer/core/html/canvas/text_metrics.h
257+++ third_party/blink/renderer/core/html/canvas/text_metrics.h 257+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h
258@@ -64,6 +64,8 @@ class CORE_EXPORT TextMetrics final : pu 258@@ -64,6 +64,8 @@ class CORE_EXPORT TextMetrics final : pu
259 259
260 void Trace(Visitor*) const override; 260 void Trace(Visitor*) const override;
@@ -264,9 +264,9 @@
264 private: 264 private:
265 void Update(const Font&, 265 void Update(const Font&,
266 const TextDirection&, 266 const TextDirection&,
267--- third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc.orig 267--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
268+++ third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc 268+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
269@@ -912,9 +912,15 @@ TextMetrics* CanvasRenderingContext2D::m 269@@ -923,9 +923,15 @@ TextMetrics* CanvasRenderingContext2D::m
270 TextDirection direction = 270 TextDirection direction =
271 ToTextDirection(GetState().GetDirection(), canvas()); 271 ToTextDirection(GetState().GetDirection(), canvas());
272 272
@@ -283,19 +283,19 @@
283 } 283 }
284 284
285 void CanvasRenderingContext2D::fillFormattedText( 285 void CanvasRenderingContext2D::fillFormattedText(
286--- third_party/blink/renderer/platform/BUILD.gn.orig 286--- a/third_party/blink/renderer/platform/BUILD.gn
287+++ third_party/blink/renderer/platform/BUILD.gn 287+++ b/third_party/blink/renderer/platform/BUILD.gn
288@@ -1686,6 +1686,7 @@ component("platform") { 288@@ -1665,6 +1665,7 @@ component("platform") {
289 "//components/paint_preview/common", 289 "//components/paint_preview/common",
290 "//components/power_scheduler", 290 "//components/power_scheduler",
291 "//components/search_engines:search_engine_utils", 291 "//components/search_engines:search_engine_utils",
292+ "//components/ungoogled:ungoogled_switches", 292+ "//components/ungoogled:ungoogled_switches",
293 "//components/viz/client", 293 "//components/viz/client",
294 "//components/viz/common", 294 "//components/viz/common",
295 "//crypto", 295 "//components/webrtc:net_address_utils",
296--- third_party/blink/renderer/platform/exported/web_runtime_features.cc.orig 296--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
297+++ third_party/blink/renderer/platform/exported/web_runtime_features.cc 297+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
298@@ -689,4 +689,12 @@ void WebRuntimeFeatures::EnableCLSScroll 298@@ -659,4 +659,12 @@ void WebRuntimeFeatures::EnableCLSScroll
299 RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable); 299 RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable);
300 } 300 }
301 301
@@ -308,10 +308,10 @@
308+} 308+}
309+ 309+
310 } // namespace blink 310 } // namespace blink
311--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 311--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
312+++ third_party/blink/renderer/platform/runtime_enabled_features.json5 312+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
313@@ -1076,6 +1076,12 @@ 313@@ -1118,6 +1118,12 @@
314 origin_trial_feature_name: "Fledge", 314 name: "Focusgroup",
315 }, 315 },
316 { 316 {
317+ name: "FingerprintingClientRectsNoise", 317+ name: "FingerprintingClientRectsNoise",