Playwright patch (BrowsingContext):
- Update CanonicalBrowsingContext.cpp line 274→274 with SetParentalControlsEnabled context
- Update BrowsingContext.h CurrentOrientationType line 205→209, add HasOrientationOverride field
- Update BrowsingContext.h DisplayMode section line 246→253
- Update BrowsingContext.h DidSet section line 1164→1278, change LanguageOverride nsString→nsCString, add TimezoneOverride
Network patch:
- Update SetAcceptEncodings line 1850→2113
- Add isDictionary parameter to function signature
- Update if condition to handle isDictionary case
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update line numbers: SetAcceptEncodings 1850→2113
- Add isDictionary parameter to function signature
- Update if condition to handle isDictionary case
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update constructor signature from nsPresContext to FontVisibilityProvider
- Remove mLastPrefFirstFont and mSkipDrawing from initializer (not in FF146)
- Update line numbers: 1861→1873, 1876→1875
- Replace mPresContext with mFontVisibilityProvider for user context extraction
- geolocation-spoofing: Update line 58→81, fix hunk header to include elif context
- audio-context-spoofing: Update line 417→419
- font-hijacker: Update line 351→379, replace CONFIGURE_SUBST_FILES with CbindgenHeader context
- Update COLOR_WRITEMASK hunk from line 2490 to 2683
- Update UNMASKED_RENDERER hunk from line 2393 to 2573 with Firefox 146 RFP context
- Update UNMASKED_VENDOR hunk from line 2400 to 2585 with Firefox 146 RFP context
- Rewrite GetShaderPrecisionFormat for Firefox 146 structure (line 3094, removed lambda)
- Update IsSupported hunk from line 5853 to 6233
- Update GetSupportedExtensions hunk from line 5864 to 6243
All 7 hunks now apply successfully
Add comprehensive task list documenting the Firefox upgrade from v135.0.1 to v147.0b3 (12 major versions). Includes status tracking for all 45 patches after syncing with upstream LibreWolf (Firefox 146) and Playwright repositories.
Key changes:
- 25 broken patches identified (56% failure rate)
- 20 patches applying cleanly (44% success rate)
- LibreWolf patches updated from upstream: 17 patches synced, 5 deleted, 2 auto-fixed
-
I'm deciding to keep Camoufox on FF135 for a bit until I can fully work out the new security changes in FF136 (that may require large-scale refactoring in Juggler).
- Moved environment variable parsing to a dedicated loadConfig() function, called only once during initialization of the global g_jsonConfig.
- Updated GetJson() to return the cached JSON object, preventing repetitive parsing of environment variables on each access.
- Improved performance and simplified configuration data access.
Replace <stdio.h> with <cstdlib> and <cstdio>
- Updated include directives to use modern C++ headers.
- The new headers place standard library functions in the std namespace, enhancing compatibility and type safety as recommended by modern C++ standards.
passing a proxy to camoufox with the "bypass"-argument while using geoip=True runs into an exception.
extending the class attributes fixes the problem on my local machine