[webkit-changes] [WebKit/WebKit] 429cc4: Add a 'status' field to feature flags denoting the...
Elliott Williams
noreply at github.com
Tue Nov 29 22:30:46 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 429cc4c7898637e262eae873994cbec3c7ffcdf6
https://github.com/WebKit/WebKit/commit/429cc4c7898637e262eae873994cbec3c7ffcdf6
Author: Elliott Williams <emw at apple.com>
Date: 2022-11-29 (Tue, 29 Nov 2022)
Changed paths:
M Source/WTF/Scripts/GeneratePreferences.rb
M Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb
M Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb
M Source/WebKit/UIProcess/API/APIExperimentalFeature.cpp
M Source/WebKit/UIProcess/API/APIExperimentalFeature.h
A Source/WebKit/UIProcess/API/APIFeatureStatus.h
M Source/WebKit/UIProcess/API/APIInternalDebugFeature.cpp
M Source/WebKit/UIProcess/API/APIInternalDebugFeature.h
M Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.h
M Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.mm
M Source/WebKit/UIProcess/API/Cocoa/_WKInternalDebugFeature.h
M Source/WebKit/UIProcess/API/Cocoa/_WKInternalDebugFeature.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb
M Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb
M Source/WebKitLegacy/mac/WebView/WebFeature.h
M Source/WebKitLegacy/mac/WebView/WebFeature.m
M Source/WebKitLegacy/mac/WebView/WebFeatureInternal.h
Log Message:
-----------
Add a 'status' field to feature flags denoting their use case
https://bugs.webkit.org/show_bug.cgi?id=247926
rdar://92112770
Reviewed by Brent Fulgham.
Add enum types representing different semantic labels for feature flags.
Add status fields to our various feature flag types:
- Cross-platform WebKit: API::ExperimentalFeature.status() and API::InternalDebugFeature.status()
- Cocoa WebKit SPI: -[_WKExperimentalFeature status] and -[_WKInternalDebugFeature status]
- WebKitLegacy: -[WebFeature status]
Update GeneratePreferences.rb to read a "status" field from
WebPreferences yamls, and update its templates to pass this through to
the feature instantiation site.
Currently, individual preferences do not declare their own status;
instead, the generator picks an appropriate status based on which file
the preference is declared in. Eventually, we will merge these files into a
single preferences manifest, and use the status field to determine where
a feature gets exposed.
* Source/WTF/Scripts/GeneratePreferences.rb:
* Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:
* Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:
* Source/WebKit/UIProcess/API/APIExperimentalFeature.cpp:
(API::ExperimentalFeature::create):
(API::ExperimentalFeature::ExperimentalFeature):
* Source/WebKit/UIProcess/API/APIExperimentalFeature.h:
* Source/WebKit/UIProcess/API/APIFeatureStatus.h: Copied from Source/WebKitLegacy/mac/WebView/WebFeatureInternal.h.
* Source/WebKit/UIProcess/API/APIInternalDebugFeature.cpp:
(API::InternalDebugFeature::create):
(API::InternalDebugFeature::InternalDebugFeature):
* Source/WebKit/UIProcess/API/APIInternalDebugFeature.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.mm:
(-[_WKExperimentalFeature status]):
* Source/WebKit/UIProcess/API/Cocoa/_WKInternalDebugFeature.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKInternalDebugFeature.mm:
(-[_WKInternalDebugFeature status]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
* Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb:
* Source/WebKitLegacy/mac/WebView/WebFeature.h:
* Source/WebKitLegacy/mac/WebView/WebFeature.m:
(-[WebFeature initWithKey:preferenceKey:name:status:details:defaultValue:hidden:]):
(-[WebFeature initWithKey:preferenceKey:name:details:defaultValue:hidden:]): Deleted.
* Source/WebKitLegacy/mac/WebView/WebFeatureInternal.h:
Canonical link: https://commits.webkit.org/257166@main
More information about the webkit-changes
mailing list