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

Reply via email to