From 83629e463033cb7959f2a6dfdea0def8b2939b9d Mon Sep 17 00:00:00 2001 From: kfhfardin Date: Thu, 2 Jul 2026 23:52:51 -0700 Subject: [PATCH] Rename internal codename TILION -> FORTRESS in patches comments Comment-only change across 27 patch files: retag the // TILION markers to // FORTRESS to match the repo name, and fix two stale --tilion-* flag names in comments to the real --uxr-* flags the code reads. --- ...embedder_support-user_agent_utils-cc.patch | 12 +++++----- ...rer_host-render_process_host_impl-cc.patch | 2 +- ...y-blink-renderer-core-dom-element-cc.patch | 6 ++--- ...-execution_context-navigator_base-cc.patch | 2 +- ...derer-core-frame-local_dom_window-cc.patch | 6 ++--- ...ink-renderer-core-frame-navigator-cc.patch | 2 +- ...ame-navigator_concurrent_hardware-cc.patch | 8 +++---- ...ore-frame-navigator_device_memory-cc.patch | 12 +++++----- ...-renderer-core-frame-navigator_id-cc.patch | 4 ++-- ...rer-core-frame-navigator_language-cc.patch | 6 ++--- ...-blink-renderer-core-frame-screen-cc.patch | 20 ++++++++-------- ...core-timezone-timezone_controller-cc.patch | 4 ++-- ...anvas2d-base_rendering_context_2d-cc.patch | 12 +++++----- ...-modules-keyboard-keyboard_layout-cc.patch | 2 +- ...modules-mediastream-media_devices-cc.patch | 4 ++-- ...dules-netinfo-network_information-cc.patch | 8 +++---- ...eer_connection_dependency_factory-cc.patch | 4 ++-- ...r-modules-speech-speech_synthesis-cc.patch | 2 +- ...rer-modules-webaudio-audio_buffer-cc.patch | 4 ++-- ...erer-modules-webaudio-audio_buffer-h.patch | 2 +- ...odules-webaudio-realtime_analyser-cc.patch | 18 +++++++------- ...ebgl-webgl_rendering_context_base-cc.patch | 24 +++++++++---------- ...r-modules-webgpu-gpu_adapter_info-cc.patch | 4 ++-- ...atform-graphics-image_data_buffer-cc.patch | 10 ++++---- ...-core-input-pointer_event_manager-cc.patch | 4 ++-- ...rer-core-html-canvas-text_metrics-cc.patch | 8 +++---- ...rer-modules-quota-storage_manager-cc.patch | 6 ++--- 27 files changed, 98 insertions(+), 98 deletions(-) diff --git a/patches/0004-components-embedder_support-user_agent_utils-cc.patch b/patches/0004-components-embedder_support-user_agent_utils-cc.patch index 0aa5d14..b912173 100644 --- a/patches/0004-components-embedder_support-user_agent_utils-cc.patch +++ b/patches/0004-components-embedder_support-user_agent_utils-cc.patch @@ -9,7 +9,7 @@ index 608bea5cb3..3f0bf7c03f 100644 - if (base::CommandLine::ForCurrentProcess()->HasSwitch(kHeadless)) { - product.insert(0, "Headless"); - } -+ // TILION patch #2: never prepend "Headless" to the product. Under --headless the ++ // FORTRESS patch #2: never prepend "Headless" to the product. Under --headless the + // stock code makes the UA "HeadlessChrome/...", a blatant automation tell. We keep + // it as real "Chrome/...". @@ -19,7 +19,7 @@ index 608bea5cb3..3f0bf7c03f 100644 } std::string GetUnifiedPlatform() { -+ // TILION: persona OS token for the (reduced) UA string. Fixes the C1 instant-flag ++ // FORTRESS: persona OS token for the (reduced) UA string. Fixes the C1 instant-flag + // where navigator.userAgent said Linux while platform/Sec-CH-UA-Platform said + // Windows. Browser-process read; control plane passes the full unified form, + // e.g. "Windows NT 10.0; Win64; x64". Must agree with --uxr-platform/-ua-platform. @@ -38,12 +38,12 @@ index 608bea5cb3..3f0bf7c03f 100644 if (brand) { brand_version_list.emplace_back(brand.value(), version); } -+ // TILION Layer 2: add a "Google Chrome" brand for a Chrome persona (we build ++ // FORTRESS Layer 2: add a "Google Chrome" brand for a Chrome persona (we build + // Chromium, so the official brand is absent). Closes the brand-list incoherence + // (UA says Chrome, brands said Chromium). Browser-process read, no whitelist. + { + const base::CommandLine* p_cmd = base::CommandLine::ForCurrentProcess(); -+ // TILION: default to the "Google Chrome" brand (overridable). A stealth fork ++ // FORTRESS: default to the "Google Chrome" brand (overridable). A stealth fork + // must never advertise "Chromium"-only brands = a repackaged-Chromium signal. + std::string p_brand = p_cmd->HasSwitch("uxr-ua-brand") + ? p_cmd->GetSwitchValueASCII("uxr-ua-brand") @@ -60,7 +60,7 @@ index 608bea5cb3..3f0bf7c03f 100644 } std::string GetPlatformForUAMetadata() { -+ // TILION: persona-driven Sec-CH-UA-Platform (must match navigator.platform OS). ++ // FORTRESS: persona-driven Sec-CH-UA-Platform (must match navigator.platform OS). + { + const base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); + if (cmd->HasSwitch("uxr-ua-platform")) @@ -73,7 +73,7 @@ index 608bea5cb3..3f0bf7c03f 100644 metadata.bitness = GetCpuBitness(); metadata.wow64 = IsWoW64(); metadata.platform_version = GetPlatformVersion(); -+ // TILION Layer 2: high-entropy Client Hints persona via cmdline (browser-process, ++ // FORTRESS Layer 2: high-entropy Client Hints persona via cmdline (browser-process, + // no renderer whitelist needed). Keeps userAgentData high-entropy values coherent + // with the UA string + Sec-CH-UA (coherence rule C15). + { diff --git a/patches/0005-content-browser-renderer_host-render_process_host_impl-cc.patch b/patches/0005-content-browser-renderer_host-render_process_host_impl-cc.patch index 10be642..9feec34 100644 --- a/patches/0005-content-browser-renderer_host-render_process_host_impl-cc.patch +++ b/patches/0005-content-browser-renderer_host-render_process_host_impl-cc.patch @@ -27,7 +27,7 @@ index 4c144f58e7..24acc0ba0d 100644 // Propagate the following switches to the renderer command line (along // with any associated values) if present in the browser command line. static const char* const kSwitchNames[] = { -+ // TILION Layer 2: propagate persona switches to the renderer so renderer-side ++ // FORTRESS Layer 2: propagate persona switches to the renderer so renderer-side + // getters (navigator.*, WebGL) can read them. Web-undetectable: pages cannot + // read /proc/cmdline, and the host is ours. switches::kDisableInProcessStackTraces, diff --git a/patches/0010-third_party-blink-renderer-core-dom-element-cc.patch b/patches/0010-third_party-blink-renderer-core-dom-element-cc.patch index 85bd380..3b72b45 100644 --- a/patches/0010-third_party-blink-renderer-core-dom-element-cc.patch +++ b/patches/0010-third_party-blink-renderer-core-dom-element-cc.patch @@ -18,12 +18,12 @@ index aa3d9236fd..177c17bd88 100644 } +namespace { -+// TILION: seeded sub-pixel DOMRect jitter. Single chokepoint Element::ClientQuads ++// FORTRESS: seeded sub-pixel DOMRect jitter. Single chokepoint Element::ClientQuads +// covers getClientRects + getBoundingClientRect (both derive from these quads), so +// it is coherent by construction. <0.01px = invisible; stable per element+seed. +void UxrJitterQuads(Vector& quads) { + uint32_t p_seed = 0u; -+ // TILION P1-F/P2-C: fail-closed (no golden-constant), and key jitter on each ++ // FORTRESS P1-F/P2-C: fail-closed (no golden-constant), and key jitter on each + // corner offset RELATIVE to p1 (scroll-invariant) so width/height stay constant + // across scroll/transform while still being noised and stable per element shape. + if (!base::StringToUint( @@ -57,7 +57,7 @@ index aa3d9236fd..177c17bd88 100644 if (element_layout_object->IsBoxModelObject() || element_layout_object->IsBR()) { element_layout_object->AbsoluteQuads(quads); -+ UxrJitterQuads(quads); // TILION ++ UxrJitterQuads(quads); // FORTRESS } } diff --git a/patches/0011-third_party-blink-renderer-core-execution_context-navigator_base-cc.patch b/patches/0011-third_party-blink-renderer-core-execution_context-navigator_base-cc.patch index e5cd595..cae424e 100644 --- a/patches/0011-third_party-blink-renderer-core-execution_context-navigator_base-cc.patch +++ b/patches/0011-third_party-blink-renderer-core-execution_context-navigator_base-cc.patch @@ -6,7 +6,7 @@ index cccfafe8f9..9fe22fe44c 100644 #include "third_party/blink/renderer/core/execution_context/navigator_base.h" -+#include "base/command_line.h" // TILION ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" // UXR persona via IPC #include "base/feature_list.h" #include "build/build_config.h" diff --git a/patches/0012-third_party-blink-renderer-core-frame-local_dom_window-cc.patch b/patches/0012-third_party-blink-renderer-core-frame-local_dom_window-cc.patch index 64e882e..4a2aa00 100644 --- a/patches/0012-third_party-blink-renderer-core-frame-local_dom_window-cc.patch +++ b/patches/0012-third_party-blink-renderer-core-frame-local_dom_window-cc.patch @@ -15,7 +15,7 @@ index 3761d36b53..b39e4bd028 100644 if (!GetFrame()) return 0; -+ { // TILION: persona outer height (fixes outerHeight===innerHeight headless tell) ++ { // FORTRESS: persona outer height (fixes outerHeight===innerHeight headless tell) + int p_v = 0; + if (base::UxrConfig::GetInstance().GetInt("uxr-outer-height", &p_v) && p_v > 0) + return p_v; @@ -28,7 +28,7 @@ index 3761d36b53..b39e4bd028 100644 if (!GetFrame()) return 0; -+ { // TILION: persona outer width ++ { // FORTRESS: persona outer width + int p_v = 0; + if (base::UxrConfig::GetInstance().GetInt("uxr-outer-width", &p_v) && p_v > 0) + return p_v; @@ -41,7 +41,7 @@ index 3761d36b53..b39e4bd028 100644 if (!GetFrame()) return 0.0; -+ if (base::UxrConfig::GetInstance().Has("uxr-device-pixel-ratio")) { // TILION ++ if (base::UxrConfig::GetInstance().Has("uxr-device-pixel-ratio")) { // FORTRESS + double p_dpr = 0.0; + if (base::StringToDouble( + base::UxrConfig::GetInstance().Get("uxr-device-pixel-ratio"), &p_dpr) && diff --git a/patches/0013-third_party-blink-renderer-core-frame-navigator-cc.patch b/patches/0013-third_party-blink-renderer-core-frame-navigator-cc.patch index 43ab50c..e21187e 100644 --- a/patches/0013-third_party-blink-renderer-core-frame-navigator-cc.patch +++ b/patches/0013-third_party-blink-renderer-core-frame-navigator-cc.patch @@ -12,7 +12,7 @@ index 583f05f8dd..0c9e855d22 100644 - bool automation_enabled = false; - probe::ApplyAutomationOverride(GetExecutionContext(), automation_enabled); - return automation_enabled; -+ // TILION patch #1 — navigator.webdriver is always false, returned natively ++ // FORTRESS patch #1 — navigator.webdriver is always false, returned natively + // from C++. No JS getter/descriptor/toString tell exists for a page to detect, + // and it ignores the CDP ApplyAutomationOverride path (which can flip it true). + return false; diff --git a/patches/0014-third_party-blink-renderer-core-frame-navigator_concurrent_hardware-cc.patch b/patches/0014-third_party-blink-renderer-core-frame-navigator_concurrent_hardware-cc.patch index 6bca2ea..09967f9 100644 --- a/patches/0014-third_party-blink-renderer-core-frame-navigator_concurrent_hardware-cc.patch +++ b/patches/0014-third_party-blink-renderer-core-frame-navigator_concurrent_hardware-cc.patch @@ -6,17 +6,17 @@ index f5c0db2d1b..2ce917a9c4 100644 #include "base/system/sys_info.h" -+#include // TILION -+#include "base/command_line.h" // TILION ++#include // FORTRESS ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" +#include "base/strings/string_number_conversions.h" + namespace blink { unsigned NavigatorConcurrentHardware::hardwareConcurrency() const { -+ // TILION Layer 2: persona-driven via renderer cmdline switch. ++ // FORTRESS Layer 2: persona-driven via renderer cmdline switch. + if (base::UxrConfig::GetInstance().Has("uxr-hw-concurrency")) { -+ int v = 0; // TILION P1-A: StringToInt + clamp [1,128] ++ int v = 0; // FORTRESS P1-A: StringToInt + clamp [1,128] + if (base::StringToInt( + base::UxrConfig::GetInstance().Get("uxr-hw-concurrency"), &v) && + v > 0) diff --git a/patches/0015-third_party-blink-renderer-core-frame-navigator_device_memory-cc.patch b/patches/0015-third_party-blink-renderer-core-frame-navigator_device_memory-cc.patch index b5da7d5..84d995c 100644 --- a/patches/0015-third_party-blink-renderer-core-frame-navigator_device_memory-cc.patch +++ b/patches/0015-third_party-blink-renderer-core-frame-navigator_device_memory-cc.patch @@ -6,18 +6,18 @@ index 05fa33e456..1bb8ec68e9 100644 #include "third_party/blink/renderer/core/dom/document.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" -+#include // TILION -+#include // TILION -+#include "base/command_line.h" // TILION -+#include "base/strings/string_number_conversions.h" // TILION ++#include // FORTRESS ++#include // FORTRESS ++#include "base/command_line.h" // FORTRESS ++#include "base/strings/string_number_conversions.h" // FORTRESS +#include "base/uxr_config.h" + namespace blink { float NavigatorDeviceMemory::deviceMemory() const { -+ // TILION Layer 2: persona-driven via renderer cmdline switch. ++ // FORTRESS Layer 2: persona-driven via renderer cmdline switch. + double v = 0.0; -+ // TILION P1-A: StringToDouble + snap to the web-exposed buckets {0.25..8}. ++ // FORTRESS P1-A: StringToDouble + snap to the web-exposed buckets {0.25..8}. + if (base::StringToDouble( + base::UxrConfig::GetInstance().Get("uxr-device-memory"), &v) && + v > 0.0) { diff --git a/patches/0016-third_party-blink-renderer-core-frame-navigator_id-cc.patch b/patches/0016-third_party-blink-renderer-core-frame-navigator_id-cc.patch index 9b6f662..a2f4ed9 100644 --- a/patches/0016-third_party-blink-renderer-core-frame-navigator_id-cc.patch +++ b/patches/0016-third_party-blink-renderer-core-frame-navigator_id-cc.patch @@ -6,7 +6,7 @@ index 22243ebf5e..30e78e0130 100644 #include "third_party/blink/renderer/core/frame/navigator_id.h" -+#include "base/command_line.h" // TILION: persona via renderer cmdline switches ++#include "base/command_line.h" // FORTRESS: persona via renderer cmdline switches +#include "base/uxr_config.h" + #include "base/feature_list.h" @@ -16,7 +16,7 @@ index 22243ebf5e..30e78e0130 100644 } String NavigatorID::platform() const { -+ // TILION Layer 2: persona-driven via renderer cmdline switch (whitelisted in ++ // FORTRESS Layer 2: persona-driven via renderer cmdline switch (whitelisted in + // render_process_host_impl.cc). Web-undetectable. + { + if (base::UxrConfig::GetInstance().Has("uxr-platform")) diff --git a/patches/0017-third_party-blink-renderer-core-frame-navigator_language-cc.patch b/patches/0017-third_party-blink-renderer-core-frame-navigator_language-cc.patch index ebbe151..644ed6e 100644 --- a/patches/0017-third_party-blink-renderer-core-frame-navigator_language-cc.patch +++ b/patches/0017-third_party-blink-renderer-core-frame-navigator_language-cc.patch @@ -18,7 +18,7 @@ index 75cd346131..376dece63a 100644 } void NavigatorLanguage::EnsureUpdatedLanguage() { -+ // TILION Layer 2: persona languages (navigator.languages/language), coherent with ++ // FORTRESS Layer 2: persona languages (navigator.languages/language), coherent with + // timezone+locale (rule C5). Control plane should set the Accept-Language HEADER to + // match (browser-process). Comma-separated, e.g. "en-US,en". + { @@ -27,9 +27,9 @@ index 75cd346131..376dece63a 100644 + if (!p_langs.empty()) { + languages_ = ParseAndSanitize(p_langs); + languages_dirty_ = false; -+ // TILION: align ICU default locale + flush V8 so Intl/toLocaleString follow ++ // FORTRESS: align ICU default locale + flush V8 so Intl/toLocaleString follow + // the persona language (C5). The notification clears V8 cached Intl locale. -+ // TILION P0-E fix: icu::Locale::setDefault is process-global and NOT ++ // FORTRESS P0-E fix: icu::Locale::setDefault is process-global and NOT + // thread-safe; only touch it on the main thread (workers would race). + if (!languages_.empty() && IsMainThread()) { + base::i18n::SetICUDefaultLocale(languages_.front().Utf8()); diff --git a/patches/0018-third_party-blink-renderer-core-frame-screen-cc.patch b/patches/0018-third_party-blink-renderer-core-frame-screen-cc.patch index 23d2ea0..81e12b1 100644 --- a/patches/0018-third_party-blink-renderer-core-frame-screen-cc.patch +++ b/patches/0018-third_party-blink-renderer-core-frame-screen-cc.patch @@ -6,9 +6,9 @@ index 69ffc2b05f..03722c03d7 100644 #include "third_party/blink/renderer/core/frame/screen.h" #include "base/numerics/safe_conversions.h" -+#include "base/command_line.h" // TILION ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" -+#include "base/strings/string_number_conversions.h" // TILION ++#include "base/strings/string_number_conversions.h" // FORTRESS #include "services/network/public/mojom/permissions_policy/permissions_policy_feature.mojom-blink.h" #include "third_party/blink/renderer/core/event_target_names.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" @@ -17,7 +17,7 @@ index 69ffc2b05f..03722c03d7 100644 namespace blink { +namespace { -+// TILION Layer 2: persona screen metrics via cmdline (avoid headless 800x600 default; ++// FORTRESS Layer 2: persona screen metrics via cmdline (avoid headless 800x600 default; +// avail* fall back to screen dims so setting just width/height stays coherent). +bool UxrScreenInt(const char* sw, int* out) { + if (!base::UxrConfig::GetInstance().Has(sw)) { @@ -40,14 +40,14 @@ index 69ffc2b05f..03722c03d7 100644 int Screen::height() const { if (!DomWindow()) return 0; -+ int p; if (UxrScreenInt("uxr-screen-height", &p)) return p; // TILION ++ int p; if (UxrScreenInt("uxr-screen-height", &p)) return p; // FORTRESS return GetRect(/*available=*/false).height(); } int Screen::width() const { if (!DomWindow()) return 0; -+ int p; if (UxrScreenInt("uxr-screen-width", &p)) return p; // TILION ++ int p; if (UxrScreenInt("uxr-screen-width", &p)) return p; // FORTRESS return GetRect(/*available=*/false).width(); } @@ -55,7 +55,7 @@ index 69ffc2b05f..03722c03d7 100644 if (!DomWindow()) { return unknown_color_depth; } -+ int p; if (UxrScreenInt("uxr-screen-color-depth", &p)) // TILION ++ int p; if (UxrScreenInt("uxr-screen-color-depth", &p)) // FORTRESS + return base::saturated_cast(p); return GetScreenInfo().depth == 0 ? unknown_color_depth @@ -65,8 +65,8 @@ index 69ffc2b05f..03722c03d7 100644 if (!DomWindow()) return 0; + int p; -+ if (UxrScreenInt("uxr-screen-avail-height", &p)) return p; // TILION -+ if (UxrScreenInt("uxr-screen-height", &p)) // TILION: taskbar-aware avail ++ if (UxrScreenInt("uxr-screen-avail-height", &p)) return p; // FORTRESS ++ if (UxrScreenInt("uxr-screen-height", &p)) // FORTRESS: taskbar-aware avail + return p > 48 ? p - 48 : p; return GetRect(/*available=*/true).height(); } @@ -75,8 +75,8 @@ index 69ffc2b05f..03722c03d7 100644 if (!DomWindow()) return 0; + int p; -+ if (UxrScreenInt("uxr-screen-avail-width", &p)) return p; // TILION -+ if (UxrScreenInt("uxr-screen-width", &p)) return p; // TILION ++ if (UxrScreenInt("uxr-screen-avail-width", &p)) return p; // FORTRESS ++ if (UxrScreenInt("uxr-screen-width", &p)) return p; // FORTRESS return GetRect(/*available=*/true).width(); } diff --git a/patches/0019-third_party-blink-renderer-core-timezone-timezone_controller-cc.patch b/patches/0019-third_party-blink-renderer-core-timezone-timezone_controller-cc.patch index 60a97a1..7350ecb 100644 --- a/patches/0019-third_party-blink-renderer-core-timezone-timezone_controller-cc.patch +++ b/patches/0019-third_party-blink-renderer-core-timezone-timezone_controller-cc.patch @@ -6,7 +6,7 @@ index 48eb8d2fbd..b73b598f86 100644 #include "third_party/blink/renderer/core/timezone/timezone_controller.h" -+#include "base/command_line.h" // TILION ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" #include "base/feature_list.h" #include "mojo/public/cpp/bindings/pending_remote.h" @@ -15,7 +15,7 @@ index 48eb8d2fbd..b73b598f86 100644 base::AutoLock locker(instance().lock_); -+ // TILION Layer 2: pin the persona timezone. The browser TimeZoneMonitor pushes ++ // FORTRESS Layer 2: pin the persona timezone. The browser TimeZoneMonitor pushes + // the HOST tz here; substituting the persona lets the configured choice (tz + // matched to the proxy IP, rule C4) survive. This runs with the isolate present, + // so SetIcuTimeZoneAndNotifyV8 flushes V8 (the notification an early hook lacks). diff --git a/patches/0020-third_party-blink-renderer-modules-canvas-canvas2d-base_rendering_context_2d-cc.patch b/patches/0020-third_party-blink-renderer-modules-canvas-canvas2d-base_rendering_context_2d-cc.patch index 4415402..c271b35 100644 --- a/patches/0020-third_party-blink-renderer-modules-canvas-canvas2d-base_rendering_context_2d-cc.patch +++ b/patches/0020-third_party-blink-renderer-modules-canvas-canvas2d-base_rendering_context_2d-cc.patch @@ -7,14 +7,14 @@ index d14c4a8f27..deea61d3ce 100644 // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD -+#pragma allow_unsafe_buffers // TILION: raw-pixel canvas-noise loop ++#pragma allow_unsafe_buffers // FORTRESS: raw-pixel canvas-noise loop +#endif + #include "third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.h" -+#include // TILION -+#include "base/command_line.h" // TILION -+#include "base/strings/string_number_conversions.h" // TILION ++#include // FORTRESS ++#include "base/command_line.h" // FORTRESS ++#include "base/strings/string_number_conversions.h" // FORTRESS +#include "base/uxr_config.h" + #include @@ -24,11 +24,11 @@ index d14c4a8f27..deea61d3ce 100644 } } -+ // TILION: seeded per-session canvas noise (+-1 on RGB, keyed to pixel pos). ++ // FORTRESS: seeded per-session canvas noise (+-1 on RGB, keyed to pixel pos). + // Defeats canvas fingerprinting; same seed -> same noise (per-session stable). + if (image_data) { + uint32_t ph_seed = 0u; -+ // TILION canvas noise (audit P0-G/I/J + P2-C): unified StringToUint parse, ++ // FORTRESS canvas noise (audit P0-G/I/J + P2-C): unified StringToUint parse, + // FAIL-CLOSED on invalid/zero (no golden-constant fingerprint), value-dependent + // + per-channel (defeats the 2025 flat-field pixel-recovery), 8-bit-only. + if (base::StringToUint( diff --git a/patches/0021-third_party-blink-renderer-modules-keyboard-keyboard_layout-cc.patch b/patches/0021-third_party-blink-renderer-modules-keyboard-keyboard_layout-cc.patch index 907b47b..9d552c2 100644 --- a/patches/0021-third_party-blink-renderer-modules-keyboard-keyboard_layout-cc.patch +++ b/patches/0021-third_party-blink-renderer-modules-keyboard-keyboard_layout-cc.patch @@ -16,7 +16,7 @@ index e2b697b768..98161f2604 100644 switch (result->status) { - case mojom::blink::GetKeyboardLayoutMapStatus::kSuccess: + case mojom::blink::GetKeyboardLayoutMapStatus::kSuccess: { -+ // TILION: inject a coherent en-US layout when the OS map is empty (headless ++ // FORTRESS: inject a coherent en-US layout when the OS map is empty (headless + // getLayoutMap()=={} is a sleeper tell leaking OS-locale absence). + if (base::UxrConfig::GetInstance().Has("uxr-keyboard-layout")) { + HashMap p_map; diff --git a/patches/0022-third_party-blink-renderer-modules-mediastream-media_devices-cc.patch b/patches/0022-third_party-blink-renderer-modules-mediastream-media_devices-cc.patch index 369d500..738ec6b 100644 --- a/patches/0022-third_party-blink-renderer-modules-mediastream-media_devices-cc.patch +++ b/patches/0022-third_party-blink-renderer-modules-mediastream-media_devices-cc.patch @@ -14,13 +14,13 @@ index b74ee0e251..16a0c91e09 100644 } } -+ // TILION: inject a coherent desktop device set when the real enumeration is ++ // FORTRESS: inject a coherent desktop device set when the real enumeration is + // empty (headless reports 0 devices = a strong tell). Pre-permission shape: + // empty deviceId/label/groupId; input kinds use InputDeviceInfo. + if (media_devices.empty() && + base::UxrConfig::GetInstance().Has("uxr-media-devices")) { + std::string p_spec = base::UxrConfig::GetInstance().Get("uxr-media-devices"); -+ // TILION P0-L: push in mojom enum order audioinput(0)->videoinput(1)->audiooutput(2). ++ // FORTRESS P0-L: push in mojom enum order audioinput(0)->videoinput(1)->audiooutput(2). + media_devices.push_back(MakeGarbageCollected( + g_empty_string, g_empty_string, g_empty_string, + mojom::blink::MediaDeviceType::kMediaAudioInput)); diff --git a/patches/0023-third_party-blink-renderer-modules-netinfo-network_information-cc.patch b/patches/0023-third_party-blink-renderer-modules-netinfo-network_information-cc.patch index f3f62dc..20f5120 100644 --- a/patches/0023-third_party-blink-renderer-modules-netinfo-network_information-cc.patch +++ b/patches/0023-third_party-blink-renderer-modules-netinfo-network_information-cc.patch @@ -15,10 +15,10 @@ index 976a3c8c36..bdb554eb59 100644 uint32_t NetworkInformation::rtt() { MaybeShowWebHoldbackConsoleMsg(); -+ { // TILION: persona network rtt (avoid rtt==0 headless tell) ++ { // FORTRESS: persona network rtt (avoid rtt==0 headless tell) + int p_v = 0; + if (base::UxrConfig::GetInstance().GetInt("uxr-net-rtt", &p_v) && p_v >= 0) -+ return GetNetworkStateNotifier().RoundRtt( // TILION P0-M: 50ms buckets ++ return GetNetworkStateNotifier().RoundRtt( // FORTRESS P0-M: 50ms buckets + Host(), base::Milliseconds(p_v)); + } std::optional override_rtt = @@ -28,12 +28,12 @@ index 976a3c8c36..bdb554eb59 100644 double NetworkInformation::downlink() { MaybeShowWebHoldbackConsoleMsg(); -+ if (base::UxrConfig::GetInstance().Has("uxr-net-downlink")) { // TILION ++ if (base::UxrConfig::GetInstance().Has("uxr-net-downlink")) { // FORTRESS + double p_d = 0.0; + if (base::StringToDouble( + base::UxrConfig::GetInstance().Get("uxr-net-downlink"), &p_d) && + p_d >= 0.0) { -+ return GetNetworkStateNotifier().RoundMbps(Host(), p_d); // TILION P0-M ++ return GetNetworkStateNotifier().RoundMbps(Host(), p_d); // FORTRESS P0-M + } + } std::optional override_downlink_mbps = diff --git a/patches/0024-third_party-blink-renderer-modules-peerconnection-peer_connection_dependency_factory-cc.patch b/patches/0024-third_party-blink-renderer-modules-peerconnection-peer_connection_dependency_factory-cc.patch index 77438cf..f45f382 100644 --- a/patches/0024-third_party-blink-renderer-modules-peerconnection-peer_connection_dependency_factory-cc.patch +++ b/patches/0024-third_party-blink-renderer-modules-peerconnection-peer_connection_dependency_factory-cc.patch @@ -6,7 +6,7 @@ index 7d641391d1..5d98df3852 100644 // found in the LICENSE file. #include "third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.h" -+#include "base/command_line.h" // TILION ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" #include @@ -15,7 +15,7 @@ index 7d641391d1..5d98df3852 100644 } } -+ // TILION Layer 2: WebRTC IP-leak control via cmdline (coherence rule C11). ++ // FORTRESS Layer 2: WebRTC IP-leak control via cmdline (coherence rule C11). + // Host candidates are already mDNS-obfuscated; this lets the control plane pin + // candidate gathering to the proxied path and suppress non-proxied srflx + // (public-IP) candidates so a v4-only proxy can't leak the real v6, etc. diff --git a/patches/0025-third_party-blink-renderer-modules-speech-speech_synthesis-cc.patch b/patches/0025-third_party-blink-renderer-modules-speech-speech_synthesis-cc.patch index aae49a0..12768c2 100644 --- a/patches/0025-third_party-blink-renderer-modules-speech-speech_synthesis-cc.patch +++ b/patches/0025-third_party-blink-renderer-modules-speech-speech_synthesis-cc.patch @@ -14,7 +14,7 @@ index 891a81543b..662e75cfbd 100644 const HeapVector>& SpeechSynthesis::getVoices() { // Kick off initialization here to ensure voice list gets populated. std::ignore = TryEnsureMojomSynthesis(); -+ // TILION: inject coherent OS voices when empty (headless getVoices()==[] tell). ++ // FORTRESS: inject coherent OS voices when empty (headless getVoices()==[] tell). + if (voice_list_.empty() && + base::UxrConfig::GetInstance().Has("uxr-voices")) { + auto p_add = [&](const char* uri, const char* lang, bool def) { diff --git a/patches/0026-third_party-blink-renderer-modules-webaudio-audio_buffer-cc.patch b/patches/0026-third_party-blink-renderer-modules-webaudio-audio_buffer-cc.patch index 1e6edb3..af826b3 100644 --- a/patches/0026-third_party-blink-renderer-modules-webaudio-audio_buffer-cc.patch +++ b/patches/0026-third_party-blink-renderer-modules-webaudio-audio_buffer-cc.patch @@ -6,8 +6,8 @@ index bc4c0c6ca0..91890c216a 100644 #include "third_party/blink/renderer/platform/bindings/exception_state.h" #include "third_party/blink/renderer/platform/wtf/text/strcat.h" -+#include "base/strings/string_number_conversions.h" // TILION -+#include "base/command_line.h" // TILION ++#include "base/strings/string_number_conversions.h" // FORTRESS ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" + namespace blink { diff --git a/patches/0027-third_party-blink-renderer-modules-webaudio-audio_buffer-h.patch b/patches/0027-third_party-blink-renderer-modules-webaudio-audio_buffer-h.patch index ee269a3..61afb0e 100644 --- a/patches/0027-third_party-blink-renderer-modules-webaudio-audio_buffer-h.patch +++ b/patches/0027-third_party-blink-renderer-modules-webaudio-audio_buffer-h.patch @@ -7,7 +7,7 @@ index 4bbf70b439..d0880beb8b 100644 HeapVector> channels_; + -+ // TILION Layer 2: one-time seeded sub-perceptual farble of the channel data, ++ // FORTRESS Layer 2: one-time seeded sub-perceptual farble of the channel data, + // applied on the JS read path (after render) so the audio fingerprint is stable + // per session-seed and unique across seeds. Inaudible (~2e-7). + void MaybeFarbleForUxr(); diff --git a/patches/0028-third_party-blink-renderer-modules-webaudio-realtime_analyser-cc.patch b/patches/0028-third_party-blink-renderer-modules-webaudio-realtime_analyser-cc.patch index 4f73b2f..117ea7f 100644 --- a/patches/0028-third_party-blink-renderer-modules-webaudio-realtime_analyser-cc.patch +++ b/patches/0028-third_party-blink-renderer-modules-webaudio-realtime_analyser-cc.patch @@ -6,9 +6,9 @@ index d0b1bd6401..e3fc747a18 100644 #include #include "base/compiler_specific.h" -+#include "base/command_line.h" // TILION ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" -+#include "base/strings/string_number_conversions.h" // TILION ++#include "base/strings/string_number_conversions.h" // FORTRESS #include "media/base/audio_bus.h" #include "third_party/blink/renderer/platform/audio/audio_bus.h" #include "third_party/blink/renderer/platform/audio/audio_utilities.h" @@ -17,7 +17,7 @@ index d0b1bd6401..e3fc747a18 100644 } +namespace { -+// TILION Layer 2: seeded sub-perceptual analyser farble. Same seed+index function ++// FORTRESS Layer 2: seeded sub-perceptual analyser farble. Same seed+index function +// used by BOTH float and byte paths so the two representations stay mutually +// coherent (cross-path agreement; deterministic per session-seed). +bool UxrAudioSeed(uint32_t* out) { @@ -59,7 +59,7 @@ index d0b1bd6401..e3fc747a18 100644 - const double db_mag = audio_utilities::LinearToDecibels(linear_value); + double db_mag = audio_utilities::LinearToDecibels(linear_value); + if (p_on) { -+ db_mag += UxrAudioDelta(p_seed, i); // TILION ++ db_mag += UxrAudioDelta(p_seed, i); // FORTRESS + } destination[i] = static_cast(db_mag); } @@ -76,7 +76,7 @@ index d0b1bd6401..e3fc747a18 100644 - const double db_mag = audio_utilities::LinearToDecibels(linear_value); + double db_mag = audio_utilities::LinearToDecibels(linear_value); + if (p_on) { -+ db_mag += UxrAudioDelta(p_seed, i); // TILION ++ db_mag += UxrAudioDelta(p_seed, i); // FORTRESS + } // The range m_minDecibels to m_maxDecibels will be scaled to byte values @@ -86,7 +86,7 @@ index d0b1bd6401..e3fc747a18 100644 const unsigned write_index = GetWriteIndex(); + uint32_t p_seed = 0u; -+ const bool p_on = UxrAudioSeed(&p_seed); // TILION: correlate w/ freq path ++ const bool p_on = UxrAudioSeed(&p_seed); // FORTRESS: correlate w/ freq path base::span destination = destination_array->AsSpan(); for (unsigned i = 0; i < len; ++i) { // Buffer access is protected due to modulo operation. @@ -95,7 +95,7 @@ index d0b1bd6401..e3fc747a18 100644 kInputBufferSize]; - + if (p_on) { -+ value += static_cast(UxrAudioDelta(p_seed, i)); // TILION ++ value += static_cast(UxrAudioDelta(p_seed, i)); // FORTRESS + } destination[i] = value; } @@ -105,7 +105,7 @@ index d0b1bd6401..e3fc747a18 100644 const unsigned write_index = GetWriteIndex(); + uint32_t p_seed = 0u; -+ const bool p_on = UxrAudioSeed(&p_seed); // TILION ++ const bool p_on = UxrAudioSeed(&p_seed); // FORTRESS base::span destination = destination_array->AsSpan(); for (unsigned i = 0; i < len; ++i) { // Buffer access is protected due to modulo operation. @@ -116,7 +116,7 @@ index d0b1bd6401..e3fc747a18 100644 - const double scaled_value = 128 * (value + 1); + double scaled_value = 128 * (value + 1); + if (p_on) { -+ scaled_value += UxrAudioDelta(p_seed, i) * 128.0; // TILION ++ scaled_value += UxrAudioDelta(p_seed, i) * 128.0; // FORTRESS + } // Clip to valid range. diff --git a/patches/0029-third_party-blink-renderer-modules-webgl-webgl_rendering_context_base-cc.patch b/patches/0029-third_party-blink-renderer-modules-webgl-webgl_rendering_context_base-cc.patch index 0f6095b..6f9b39b 100644 --- a/patches/0029-third_party-blink-renderer-modules-webgl-webgl_rendering_context_base-cc.patch +++ b/patches/0029-third_party-blink-renderer-modules-webgl-webgl_rendering_context_base-cc.patch @@ -6,9 +6,9 @@ index 2df79076df..a238b67b7c 100644 #include "base/metrics/histogram_macros.h" #include "base/notimplemented.h" #include "base/numerics/checked_math.h" -+#include "base/command_line.h" // TILION ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" -+#include "base/strings/string_number_conversions.h" // TILION ++#include "base/strings/string_number_conversions.h" // FORTRESS #include "base/strings/stringprintf.h" #include "base/synchronization/lock.h" #include "base/task/single_thread_task_runner.h" @@ -16,10 +16,10 @@ index 2df79076df..a238b67b7c 100644 namespace { -+// TILION Layer 2: seeded sub-pixel farble of WebGL readback so the render-hash is ++// FORTRESS Layer 2: seeded sub-pixel farble of WebGL readback so the render-hash is +// non-constant per session and not a known-attributable (SwiftShader) hash. PARTIAL +// mitigation only: matching a CLAIMED GPU hash still needs a real GPU. Keyed to the -+// shared visual seed --tilion-canvas-seed (same as canvas 2D). ++// shared visual seed --uxr-canvas-seed (same as canvas 2D). +void UxrFarbleReadPixels(uint8_t* data, size_t n) { + if (n == 0u || data == nullptr) { + return; @@ -55,9 +55,9 @@ index 2df79076df..a238b67b7c 100644 if (isContextLost()) return ScriptValue::CreateNull(script_state->GetIsolate()); const int kIntZero = 0; -+ // TILION patch #3b: coherent WebGL persona (full-params, not string-only). ++ // FORTRESS patch #3b: coherent WebGL persona (full-params, not string-only). + // Detectors read the numeric getParameter limits and cross-check them vs the -+ // renderer string (rules C2/C3). When --tilion-webgl-fullparams is set we return ++ // renderer string (rules C2/C3). When --uxr-webgl-fullparams is set we return + // values coherent with a real NVIDIA desktop GPU (ANGLE-D3D11). + { + if ((base::UxrConfig::GetInstance().Has("uxr-webgl-fullparams") || base::UxrConfig::GetInstance().Has("uxr-webgl-renderer"))) { @@ -91,7 +91,7 @@ index 2df79076df..a238b67b7c 100644 return GetBooleanParameter(script_state, pname); case GL_SHADING_LANGUAGE_VERSION: + { -+ // TILION: kill real-backend GLSL leak; match real Chrome normalized form. ++ // FORTRESS: kill real-backend GLSL leak; match real Chrome normalized form. + if ((base::UxrConfig::GetInstance().Has("uxr-webgl-fullparams") || base::UxrConfig::GetInstance().Has("uxr-webgl-renderer"))) + return WebGLAny(script_state, + String("WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)")); @@ -104,7 +104,7 @@ index 2df79076df..a238b67b7c 100644 return WebGLAny(script_state, String("WebKit")); case GL_VERSION: + { -+ // TILION: kill real-backend driver leak (SwiftShader/host GL). Real Chrome ++ // FORTRESS: kill real-backend driver leak (SwiftShader/host GL). Real Chrome + // reports the normalized "OpenGL ES 2.0 Chromium" form regardless of GPU. + if ((base::UxrConfig::GetInstance().Has("uxr-webgl-fullparams") || base::UxrConfig::GetInstance().Has("uxr-webgl-renderer"))) + return WebGLAny(script_state, String("WebGL 1.0 (OpenGL ES 2.0 Chromium)")); @@ -118,7 +118,7 @@ index 2df79076df..a238b67b7c 100644 if (ExtensionEnabled(kWebGLDebugRendererInfoName)) { - return WebGLAny(script_state, - String(ContextGL()->GetString(GL_RENDERER))); -+ // TILION patch #3: switch-driven renderer (dynamic persona). ++ // FORTRESS patch #3: switch-driven renderer (dynamic persona). + { + if (base::UxrConfig::GetInstance().Has("uxr-webgl-renderer")) + return WebGLAny(script_state, String(base::UxrConfig::GetInstance().Get("uxr-webgl-renderer").c_str())); @@ -136,7 +136,7 @@ index 2df79076df..a238b67b7c 100644 if (ExtensionEnabled(kWebGLDebugRendererInfoName)) { - return WebGLAny(script_state, - String(ContextGL()->GetString(GL_VENDOR))); -+ // TILION patch #3: switch-driven vendor (dynamic persona). ++ // FORTRESS patch #3: switch-driven vendor (dynamic persona). + { + if (base::UxrConfig::GetInstance().Has("uxr-webgl-vendor")) + return WebGLAny(script_state, String(base::UxrConfig::GetInstance().Get("uxr-webgl-vendor").c_str())); @@ -149,7 +149,7 @@ index 2df79076df..a238b67b7c 100644 return nullptr; } -+ // TILION: real-NVIDIA-desktop precision when persona active (float 127/127/23, ++ // FORTRESS: real-NVIDIA-desktop precision when persona active (float 127/127/23, + // int 31/30/0). Detectors hash getShaderPrecisionFormat alongside the GPU string. + if (base::UxrConfig::GetInstance().Has("uxr-webgl-fullparams") || + base::UxrConfig::GetInstance().Has("uxr-webgl-renderer")) { @@ -166,7 +166,7 @@ index 2df79076df..a238b67b7c 100644 return; } ContextGL()->ReadPixels(x, y, width, height, format, type, data); -+ UxrFarbleReadPixels(data, static_cast(buffer_size.ValueOrDie())); // TILION ++ UxrFarbleReadPixels(data, static_cast(buffer_size.ValueOrDie())); // FORTRESS } } diff --git a/patches/0030-third_party-blink-renderer-modules-webgpu-gpu_adapter_info-cc.patch b/patches/0030-third_party-blink-renderer-modules-webgpu-gpu_adapter_info-cc.patch index b265edb..05f06ac 100644 --- a/patches/0030-third_party-blink-renderer-modules-webgpu-gpu_adapter_info-cc.patch +++ b/patches/0030-third_party-blink-renderer-modules-webgpu-gpu_adapter_info-cc.patch @@ -6,7 +6,7 @@ index 9d155705c1..24ba62fb06 100644 #include "third_party/blink/renderer/modules/webgpu/gpu_adapter_info.h" -+#include "base/command_line.h" // TILION ++#include "base/command_line.h" // FORTRESS +#include "base/uxr_config.h" + #include "third_party/blink/renderer/modules/webgpu/gpu_memory_heap_info.h" @@ -18,7 +18,7 @@ index 9d155705c1..24ba62fb06 100644 vk_driver_version_(vk_driver_version), - power_preference_(power_preference) {} + power_preference_(power_preference) { -+ // TILION Layer 2: WebGPU adapter persona via cmdline, so navigator.gpu agrees with ++ // FORTRESS Layer 2: WebGPU adapter persona via cmdline, so navigator.gpu agrees with + // the WebGL GPU spoof (no SwiftShader/fallback adapter beside a claimed NVIDIA). + // When WebGPU is disabled the page sees requestAdapter()==null (coherent); when + // enabled it now reports the persona instead of the real software adapter. diff --git a/patches/0031-third_party-blink-renderer-platform-graphics-image_data_buffer-cc.patch b/patches/0031-third_party-blink-renderer-platform-graphics-image_data_buffer-cc.patch index d3a798e..2badbe0 100644 --- a/patches/0031-third_party-blink-renderer-platform-graphics-image_data_buffer-cc.patch +++ b/patches/0031-third_party-blink-renderer-platform-graphics-image_data_buffer-cc.patch @@ -6,9 +6,9 @@ index c76f6553e1..df8be63237 100644 #include "third_party/blink/renderer/platform/graphics/image_data_buffer.h" #include "base/compiler_specific.h" -+#include "base/command_line.h" // TILION -+#include "base/strings/string_number_conversions.h" // TILION -+#include "base/uxr_config.h" // TILION ++#include "base/command_line.h" // FORTRESS ++#include "base/strings/string_number_conversions.h" // FORTRESS ++#include "base/uxr_config.h" // FORTRESS #include "base/memory/ptr_util.h" #include "third_party/blink/renderer/platform/image-encoders/image_encoder_utils.h" #include "third_party/blink/renderer/platform/wtf/text/base64.h" @@ -17,7 +17,7 @@ index c76f6553e1..df8be63237 100644 namespace blink { +namespace { -+// TILION: identical seeded canvas noise as getImageData (absolute coords, same ++// FORTRESS: identical seeded canvas noise as getImageData (absolute coords, same +// fmix32) so toDataURL/toBlob and getImageData return pixel-identical results +// (closes the cross-path canvas tell). Operates on the encode COPY (pixmap_), not +// the source canvas. Skips alpha; same +-1 across RGB (byte-order-independent). @@ -68,7 +68,7 @@ index c76f6553e1..df8be63237 100644 return; } MSAN_CHECK_MEM_IS_INITIALIZED(pixmap_.addr(), pixmap_.computeByteSize()); -+ UxrNoiseEncodeBuffer(pixmap_); // TILION: coherent with getImageData ++ UxrNoiseEncodeBuffer(pixmap_); // FORTRESS: coherent with getImageData retained_image_ = SkImages::RasterFromData(info, std::move(data), rowBytes); } else { retained_image_ = paint_image.GetSwSkImage(); diff --git a/patches/0032-third_party-blink-renderer-core-input-pointer_event_manager-cc.patch b/patches/0032-third_party-blink-renderer-core-input-pointer_event_manager-cc.patch index 89947d9..71acc62 100644 --- a/patches/0032-third_party-blink-renderer-core-input-pointer_event_manager-cc.patch +++ b/patches/0032-third_party-blink-renderer-core-input-pointer_event_manager-cc.patch @@ -6,7 +6,7 @@ index a7fa084424..e6f2e4410f 100644 Vector pointer_coalesced_events; for (const WebMouseEvent& e : coalesced_events) pointer_coalesced_events.push_back(WebPointerEvent(event_type, e)); -+ // TILION: real pointermove always carries >=1 coalesced sample; CDP-synthesized moves ++ // FORTRESS: real pointermove always carries >=1 coalesced sample; CDP-synthesized moves + // arrive with an empty coalesced batch, which getCoalescedEvents() exposes as an + // automation tell. Synthesize one sample (the event itself) so the batch is non-empty. + if (pointer_coalesced_events.empty() && @@ -20,7 +20,7 @@ index a7fa084424..e6f2e4410f 100644 Vector pointer_coalesced_events; for (const WebMouseEvent& e : coalesced_events) pointer_coalesced_events.push_back(WebPointerEvent(event_type, e)); -+ // TILION: real pointermove always carries >=1 coalesced sample; CDP-synthesized moves ++ // FORTRESS: real pointermove always carries >=1 coalesced sample; CDP-synthesized moves + // arrive with an empty coalesced batch, which getCoalescedEvents() exposes as an + // automation tell. Synthesize one sample (the event itself) so the batch is non-empty. + if (pointer_coalesced_events.empty() && diff --git a/patches/0033-third_party-blink-renderer-core-html-canvas-text_metrics-cc.patch b/patches/0033-third_party-blink-renderer-core-html-canvas-text_metrics-cc.patch index 36c7970..c1eb83e 100644 --- a/patches/0033-third_party-blink-renderer-core-html-canvas-text_metrics-cc.patch +++ b/patches/0033-third_party-blink-renderer-core-html-canvas-text_metrics-cc.patch @@ -10,8 +10,8 @@ index a78150b4a6..ecf6fde85a 100644 + +#include "base/bit_cast.h" #include "base/numerics/checked_math.h" -+#include "base/strings/string_number_conversions.h" // TILION -+#include "base/uxr_config.h" // TILION ++#include "base/strings/string_number_conversions.h" // FORTRESS ++#include "base/uxr_config.h" // FORTRESS #include "third_party/blink/renderer/bindings/core/v8/v8_canvas_text_align.h" #include "third_party/blink/renderer/bindings/core/v8/v8_canvas_text_baseline.h" #include "third_party/blink/renderer/bindings/core/v8/v8_text_cluster_options.h" @@ -19,7 +19,7 @@ index a78150b4a6..ecf6fde85a 100644 Update(font, direction, baseline, align, text, text_painter); } -+// TILION: seeded, value-dependent sub-pixel jitter for TextMetrics. Canvas/audio/DOMRect ++// FORTRESS: seeded, value-dependent sub-pixel jitter for TextMetrics. Canvas/audio/DOMRect +// are already noised; measureText() exposed a stable, substituted-font measurement fingerprint. +// Keyed on the canvas seed so it is per-persona and stable within a session. Fail-closed: +// no/zero/invalid seed or non-finite/zero value -> returned unchanged. @@ -42,7 +42,7 @@ index a78150b4a6..ecf6fde85a 100644 baselines_->setIdeographic(-descent - baseline_y); } + -+ // TILION: apply per-persona jitter so TextMetrics is not a stable measurement fingerprint. ++ // FORTRESS: apply per-persona jitter so TextMetrics is not a stable measurement fingerprint. + uint32_t ph_seed = 0; + base::UxrConfig& ph_cfg = base::UxrConfig::GetInstance(); + if (ph_cfg.Has("uxr-canvas-seed")) diff --git a/patches/0034-third_party-blink-renderer-modules-quota-storage_manager-cc.patch b/patches/0034-third_party-blink-renderer-modules-quota-storage_manager-cc.patch index 75c1fc2..69d21b0 100644 --- a/patches/0034-third_party-blink-renderer-modules-quota-storage_manager-cc.patch +++ b/patches/0034-third_party-blink-renderer-modules-quota-storage_manager-cc.patch @@ -6,8 +6,8 @@ index ef1c723ac2..ae8f79fcf7 100644 #include "third_party/blink/renderer/modules/quota/storage_manager.h" -+#include "base/strings/string_number_conversions.h" // TILION -+#include "base/uxr_config.h" // TILION ++#include "base/strings/string_number_conversions.h" // FORTRESS ++#include "base/uxr_config.h" // FORTRESS + #include "mojo/public/cpp/bindings/callback_helpers.h" #include "third_party/blink/public/mojom/permissions/permission_status.mojom-blink.h" @@ -17,7 +17,7 @@ index ef1c723ac2..ae8f79fcf7 100644 StorageEstimate* estimate = StorageEstimate::Create(); estimate->setUsage(usage_in_bytes); + -+ // TILION: headless/sandbox reports a flat ~10GB quota — a fingerprint tell. Report a ++ // FORTRESS: headless/sandbox reports a flat ~10GB quota — a fingerprint tell. Report a + // realistic, non-round, disk-proportional quota: an explicit persona value if given, + // else a stable value derived from the canvas seed (~128-223GB). Fail-closed: no seed + // and no override -> leave the real value untouched.