Rollback "Launch and Cleanup FullscreenPermanentThinController" feature
Moderate
Commit Hash:
893e9d357ac9948e63888b1fb3387f332386edd4
Commit Time: 2025-03-04 14:55:58+00:00
Impact Level: Moderate
Generated By: webview2-upstream-sentry
Upstream Review:
View Upstream Review 🔗
📋 Summary
This submission rolls back the previously introduced code related to “FullscreenPermanentThinController” and restores the old implementation logic. The original change was intended to address compatibility issues on macOS <13 by introducing the kFullscreenPermanentThinController feature flag, which determines whether to permanently insert the “thin” titlebar accessory view controller to fix the race condition in PWA fullscreen and the AppKit bug. After the rollback, macOS <13 continues to use the original fallback code path, and only macOS 13+ will permanently insert the thin controller. The affected files include window and immersive mode management header and implementation files in remote_cocoa, as well as the declaration and usage of the relevant feature flag.
🎯 Impact Analysis
This rollback primarily affects how remote_cocoa manages the “thin” titlebar accessory view controller across different macOS versions. For WebView2Mac, downstream code that relies on upstream creation and lifecycle management of the thin controller (such as via the thinTitlebarViewController property or related helper functions) should note:
1. On macOS <13, the thin controller will no longer exist permanently, but will be created and removed as needed, which may affect behavioral consistency during window fullscreen transitions.
2. If downstream code has conditional compilation or runtime logic dependent on the kFullscreenPermanentThinController feature, corresponding adjustments are required to avoid inconsistent behavior.
3. This rollback helps maintain compatibility with older macOS versions, preventing regressions or race conditions caused by new features.
Overall, the core functionality of WebView2Mac will not be significantly impacted, but attention should be paid to window fullscreen and PWA mode behavioral details, especially whether race condition-related fixes depend on the logic being rolled back.
1. On macOS <13, the thin controller will no longer exist permanently, but will be created and removed as needed, which may affect behavioral consistency during window fullscreen transitions.
2. If downstream code has conditional compilation or runtime logic dependent on the kFullscreenPermanentThinController feature, corresponding adjustments are required to avoid inconsistent behavior.
3. This rollback helps maintain compatibility with older macOS versions, preventing regressions or race conditions caused by new features.
Overall, the core functionality of WebView2Mac will not be significantly impacted, but attention should be paid to window fullscreen and PWA mode behavioral details, especially whether race condition-related fixes depend on the logic being rolled back.
Impacted Classes:
BrowserNativeWidgetWindow
ImmersiveModeControllerCocoa
NSTitlebarAccessoryViewController(作为属性/成员变量)
remote_cocoa::features(特性标志相关)