Bug 216182

Summary: Remove stale RuntimeEnabledFeatures.h include
Product: WebKit Reporter: Sam Weinig <sam>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ahmad.saleem792, ap, bfulgham, emw, graouts, ntim, thorton, webkit-bug-importer
Priority: P2 Keywords: GoodFirstBug, InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=215962
Bug Depends on: 215981    
Bug Blocks:    

Description Sam Weinig 2020-09-04 09:29:40 PDT
Use of WebCore::RuntimeEnabledFeatures is almost always wrong as it is a global singleton that can be set by multiple different API layer preferences objects.

Over the years, it has become convenient, as it "works" for settings that need to be accessed in non-page accessible places, but in reality, those are likely threading issues waiting to happen or layering violations due to use of RuntimeEnabledFeatures from the platform directory.

See related, 215962 (Obsolete DeprecatedGlobalSettings)
Comment 1 Sam Weinig 2020-09-04 09:31:20 PDT
The biggest thing to do here is likely adding a mechanism to extend WebCore::Settings (as generated from Settings.yaml) or a subset thereof, to work with Workers.
Comment 2 Radar WebKit Bug Importer 2020-09-11 09:30:13 PDT
<rdar://problem/68714643>
Comment 3 Ahmad Saleem 2023-09-08 16:02:38 PDT
Only able to find one incorrect include 'RuntimeEnabledFeatures' (using this search):

https://searchfox.org/wubkat/source/PerformanceTests/DecoderTest/DecoderTest/main.mm#35

and

https://searchfox.org/wubkat/source/PerformanceTests/DecoderTest/DecoderTest/main.mm#100

It also got consolidated here: https://github.com/WebKit/WebKit/commit/5ddb4127ac4e4a104338422e546a1cdc7b698769

@Tim - you reviewed above commit, do we need this bug to remain open?

@Alexey - any help if Tim is not right contact?
Comment 4 Alexey Proskuryakov 2023-09-08 18:48:37 PDT
CC'ing some folks who worked on feature flags recently.
Comment 5 Tim Nguyen (:ntim) 2023-11-06 01:57:17 PST
Yeah RuntimeEnabledFeatures was removed. I'm going to repurpose this to be about removing the stale include Ahmad found.