Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 58fecd8fdf058dca6af95d7fc464cc8a399b8e3a
https://github.com/WebKit/WebKit/commit/58fecd8fdf058dca6af95d7fc464cc8a399b8e3a
Author: Richard Robinson <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M Source/WebKit/_WebKit_SwiftUI/API/View+WebViewModifiers.swift
M Source/WebKit/_WebKit_SwiftUI/API/WebView.swift
M
Source/WebKit/_WebKit_SwiftUI/Implementation/EnvironmentValues+Extras.swift
M Source/WebKit/_WebKit_SwiftUI/Implementation/ViewModifierContexts.swift
M Source/WebKit/_WebKit_SwiftUI/Implementation/WebViewRepresentable.swift
A Tools/SwiftBrowser/Source/Extensions/SwiftUI+Extras.swift
A Tools/SwiftBrowser/Source/Extensions/_WKFeature+Extras.swift
M Tools/SwiftBrowser/Source/ViewModel/BrowserViewModel.swift
A Tools/SwiftBrowser/Source/ViewModel/FeatureFlags.swift
A Tools/SwiftBrowser/Source/ViewModel/FeatureFlagsModel.swift
M Tools/SwiftBrowser/Source/Views/BrowserView.swift
M Tools/SwiftBrowser/Source/Views/ContentView.swift
M Tools/SwiftBrowser/Source/Views/SettingsView.swift
M Tools/SwiftBrowser/SwiftBrowser.xcodeproj/project.pbxproj
Log Message:
-----------
[SwiftUI] Add a Feature Flags settings pane to SwiftBrowser
https://bugs.webkit.org/show_bug.cgi?id=299275
rdar://161076993
Reviewed by Abrar Rahman Protyasha.
Like MiniBrowser, make it possible to change feature flags in SwiftBrowser,
including a search field,
categorization, and a reset button!
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/_WebKit_SwiftUI/API/View+WebViewModifiers.swift:
(View.webViewScrollEdgeEffectStyle(_:for:)):
* Source/WebKit/_WebKit_SwiftUI/API/WebView.swift:
(WebPreferenceFeature.allowSmartLists): Deleted.
* Source/WebKit/_WebKit_SwiftUI/Implementation/EnvironmentValues+Extras.swift:
(EnvironmentValues.webViewScrollEdgeEffectStyleContext):
* Source/WebKit/_WebKit_SwiftUI/Implementation/ViewModifierContexts.swift:
(WebPreferenceContext.features): Deleted.
(WebPreferenceContext.isEmpty): Deleted.
* Source/WebKit/_WebKit_SwiftUI/Implementation/WebViewRepresentable.swift:
No need for ad-hoc view modifiers anymore.
(WebViewRepresentable.updatePlatformView(_:context:)):
* Tools/SwiftBrowser/Source/Extensions/SwiftUI+Extras.swift: Copied from
Tools/SwiftBrowser/Source/Views/BrowserView.swift.
Add a way to project a non-optional Binding to a value for a Dictionary Binding.
* Tools/SwiftBrowser/Source/Extensions/_WKFeature+Extras.swift: Added.
(_WKFeature.id):
(WebFeatureStatus.allCases):
(WebFeatureStatus.description):
(WebFeatureCategory.allCases):
(WebFeatureCategory.description):
* Tools/SwiftBrowser/Source/ViewModel/BrowserViewModel.swift:
(BrowserViewModel.updateWebPreferences):
* Tools/SwiftBrowser/Source/ViewModel/FeatureFlags.swift: Added.
(FeatureFlag.key):
(FeatureFlag.defaultValue):
(FeatureFlagsStorage.shared):
(FeatureFlagsStorage.resolve(_:)):
(FeatureFlagsStorage.update(mergingOldEntries:with:)):
* Tools/SwiftBrowser/Source/ViewModel/FeatureFlagsModel.swift: Copied from
Source/WebKit/_WebKit_SwiftUI/Implementation/ViewModifierContexts.swift.
(FeatureFlagsModel.groups(filteredBy:)):
(FeatureFlagsModel.update(_:newValue:)):
* Tools/SwiftBrowser/Source/Views/BrowserView.swift:
(BrowserView.body):
* Tools/SwiftBrowser/Source/Views/ContentView.swift:
(ContentView.body):
* Tools/SwiftBrowser/Source/Views/SettingsView.swift:
(FeatureFlagToggle.value):
(FeatureFlagToggle.body):
(FeatureFlagsView.groupedFeatures):
(FeatureFlagsView.featureList):
(FeatureFlagsView.body):
(SettingsView.body):
* Tools/SwiftBrowser/SwiftBrowser.xcodeproj/project.pbxproj:
Implement the feature flags settings pane, using UserDefaults as the source of
truth.
Canonical link: https://commits.webkit.org/300410@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes