8000 Move long-shipping features to the new 'shipping' status · WebKit/WebKit@dd88e1d · GitHub
[go: up one dir, main page]

Skip to content

Commit dd88e1d

Browse files
brentfulghamBrent Fulgham
authored andcommitted
Move long-shipping features to the new 'shipping' status
https://bugs.webkit.org/show_bug.cgi?id=250395 <rdar://problem/104081353> Reviewed by Patrick Angle and Elliott Williams. Following Bug 247926, we expose 'stable' features to the Safari 'Develop' menu to support A/B testing by developers so they can isolate the cause of page regression to specific features. This has created an overly-cumbersome UI, and surfaced features that cannot be disabled on the modern web (and which have been shipping for many years). This patch updates our Feature flag definitions to use 'shipping' for long-shipping features. These will no longer be displayed in the UI, and the feature toggles will likely be removed in a future update as they are no longer conditional, but are foundational to the modern web. This also corrects MediaSourceEnabled and SafeBrowsing to be 'embedder'. * Source/WTF/Scripts/GeneratePreferences.rb: Add 'shipping' as a recognized status. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebKit/UIProcess/API/APIFeatureS 8000 tatus.h * Source/WebKit/UIProcess/API/Cocoa/_WKFeature.mm * Source/WebKitLegacy/mac/WebView/WebFeature.h Canonical link: https://commits.webkit.org/258753@main
1 parent f5f6113 commit dd88e1d

File tree

5 files changed

+16
-10
lines changed

5 files changed

+16
-10
lines changed

Source/WTF/Scripts/GeneratePreferences.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ def initialize(preferenceFiles, frontend)
237237
end
238238

239239
# Corresponds to WebFeatureStatus enum cases. "developer" and up require human-readable names.
240-
STATUSES = %w{ embedder unstable internal developer testable preview stable }
240+
STATUSES = %w{ embedder unstable internal developer testable preview stable shipping }
241241

242242
def initializeParsedPreferences(parsedPreferences)
243243
result = []

Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ BackspaceKeyNavigationEnabled:
630630
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
631631
BeaconAPIEnabled:
632632
type: bool
633-
status: stable
633+
status: shipping
634634
humanReadableName: "Beacon API"
635635
humanReadableDescription: "Beacon API"
636636
defaultValue:
@@ -2384,7 +2384,7 @@ GraphicsContextFiltersEnabled:
23842384

23852385
HTTPEquivEnabled:
23862386
type: bool
2387-
status: stable
2387+
status: shipping
23882388
humanReadableName: "http-equiv"
23892389
humanReadableDescription: "Enable http-equiv attribute"
23902390
webcoreName: httpEquivEnabled
@@ -3072,7 +3072,7 @@ JavaScriptCanOpenWindowsAutomatically:
30723072

30733073
JavaScriptEnabled:
30743074
type: bool
3075-
status: stable
3075+
status: shipping
30763076
humanReadableName: "JavaScript"
30773077
humanReadableDescription: "Enable JavaScript"
30783078
inspectorOverride: true
@@ -3392,7 +3392,7 @@ LocalFileContentSniffingEnabled:
33923392

33933393
LocalStorageEnabled:
33943394
type: bool
3395-
status: stable
3395+
status: shipping
33963396
humanReadableName: "Local Storage"
33973397
humanReadableDescription: "Enable Local Storage"
33983398
webKitLegacyPreferenceKey: WebKitLocalStorageEnabledPreferenceKey
@@ -3752,7 +3752,7 @@ MediaSessionPlaylistEnabled:
37523752

37533753
MediaSourceEnabled:
37543754
type: bool
3755-
status: stable
3755+
status: embedder
37563756
humanReadableName: "Media Source API"
37573757
humanReadableDescription: "Media Source API"
37583758
defaultValue:
@@ -4839,7 +4839,7 @@ SKAttributionEnabled:
48394839

48404840
SafeBrowsingEnabled:
48414841
type: bool
4842-
status: stable
4842+
status: embedder
48434843
humanReadableName: "Safe Browsing"
48444844
humanReadableDescription: "Enable Safe Browsing"
48454845
webcoreBinding: none
@@ -6530,7 +6530,7 @@ WebGLDraftExtensionsEnabled:
65306530

65316531
WebGLEnabled:
65326532
type: bool
6533-
status: stable
6533+
status: shipping
65346534
humanReadableName: "WebGL"
65356535
humanReadableDescription: "Enable WebGL"
65366536
defaultValue:

Source/WebKit/UIProcess/API/APIFeatureStatus.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ enum class FeatureStatus : uint8_t {
4040
// Enabled by default in Safari Technology Preview, but not considered ready to ship yet.
4141
Preview,
4242
// Enabled by default and ready for general use.
43-
Stable
43+
Stable,
44+
// Enabled by default and in general use for more than a year.
45+
Shipping
4446
};
4547
}

Source/WebKit/UIProcess/API/Cocoa/_WKFeature.mm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ - (WebFeatureStatus)status
6767
return WebFeatureStatusPreview;
6868
case API::FeatureStatus::Stable:
6969
return WebFeatureStatusStable;
70+
case API::FeatureStatus::Shipping:
71+
return WebFeatureStatusShipping;
7072
default:
7173
ASSERT_NOT_REACHED();
7274
}

Source/WebKitLegacy/mac/WebView/WebFeature.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ typedef NS_ENUM(NSUInteger, WebFeatureStatus) {
4545
/// Enabled by default in Safari Technology Preview, but not considered ready to ship yet.
4646
WebFeatureStatusPreview,
4747
/// Enabled by default and ready for general use.
48-
WebFeatureStatusStable
48+
WebFeatureStatusStable,
49+
/// Enabled by default and in general use for more than a year.
50+
WebFeatureStatusShipping
4951
};
5052

5153
@interface WebFeature : NSObject

0 commit comments

Comments
 (0)
0