Changeset 261599 in webkit


Ignore:
Timestamp:
May 12, 2020 10:35:41 PM (4 years ago)
Author:
Peng Liu
Message:

Add the feature flag plist file parser
https://bugs.webkit.org/show_bug.cgi?id=211457

Reviewed by Tim Horton.

WebKit needs to parse the feature flags plist by itself in some cases.

  • Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm: Added.

(WebKit::featureFlagEnabled):

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultAsyncFrameAndOverflowScrollingEnabled):
(WebKit::defaultUseGPUProcessForMedia):
(WebKit::defaultRenderCanvasInGPUProcessEnabled):
(WebKit::defaultCaptureAudioInGPUProcessEnabled):
(WebKit::defaultCaptureVideoInGPUProcessEnabled):
(WebKit::defaultWebRTCCodecsInGPUProcess):
(WebKit::defaultWebGL2Enabled):
(WebKit::defaultWebGPUEnabled):
(WebKit::defaultInAppBrowserPrivacy):
(WebKit::defaultIncrementalPDFEnabled):
(WebKit::defaultWebXREnabled):

  • Shared/WebPreferencesDefaultValues.h:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebKit
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r261597 r261599  
     12020-05-12  Peng Liu  <peng.liu6@apple.com>
     2
     3        Add the feature flag plist file parser
     4        https://bugs.webkit.org/show_bug.cgi?id=211457
     5
     6        Reviewed by Tim Horton.
     7
     8        WebKit needs to parse the feature flags plist by itself in some cases.
     9
     10        * Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm: Added.
     11        (WebKit::featureFlagEnabled):
     12        * Shared/WebPreferencesDefaultValues.cpp:
     13        (WebKit::defaultAsyncFrameAndOverflowScrollingEnabled):
     14        (WebKit::defaultUseGPUProcessForMedia):
     15        (WebKit::defaultRenderCanvasInGPUProcessEnabled):
     16        (WebKit::defaultCaptureAudioInGPUProcessEnabled):
     17        (WebKit::defaultCaptureVideoInGPUProcessEnabled):
     18        (WebKit::defaultWebRTCCodecsInGPUProcess):
     19        (WebKit::defaultWebGL2Enabled):
     20        (WebKit::defaultWebGPUEnabled):
     21        (WebKit::defaultInAppBrowserPrivacy):
     22        (WebKit::defaultIncrementalPDFEnabled):
     23        (WebKit::defaultWebXREnabled):
     24        * Shared/WebPreferencesDefaultValues.h:
     25        * SourcesCocoa.txt:
     26        * WebKit.xcodeproj/project.pbxproj:
     27
    1282020-05-12  Alex Christensen  <achristensen@webkit.org>
    229
  • trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp

    r261137 r261599  
    2626#include "config.h"
    2727#include "WebPreferencesDefaultValues.h"
     28
    2829#include <WebCore/RuntimeApplicationChecks.h>
    2930
     
    8687
    8788#if HAVE(SYSTEM_FEATURE_FLAGS)
    88     return _os_feature_enabled_impl("WebKit", "async_frame_and_overflow_scrolling");
     89    return isFeatureFlagEnabled("async_frame_and_overflow_scrolling");
    8990#endif
    9091
     
    115116{
    116117#if HAVE(SYSTEM_FEATURE_FLAGS)
    117     return _os_feature_enabled_impl("WebKit", "canvas_and_media_in_gpu_process");
     118    return isFeatureFlagEnabled("canvas_and_media_in_gpu_process");
    118119#endif
    119120
     
    126127{
    127128#if HAVE(SYSTEM_FEATURE_FLAGS)
    128     return _os_feature_enabled_impl("WebKit", "canvas_and_media_in_gpu_process");
     129    return isFeatureFlagEnabled("canvas_and_media_in_gpu_process");
    129130#endif
    130131
     
    137138{
    138139#if PLATFORM(MAC) && HAVE(SYSTEM_FEATURE_FLAGS)
    139     return _os_feature_enabled_impl("WebKit", "webrtc_in_gpu_process");
     140    return isFeatureFlagEnabled("webrtc_in_gpu_process");
    140141#endif
    141142
    142143#if PLATFORM(IOS_FAMILY) && HAVE(SYSTEM_FEATURE_FLAGS)
    143     return _os_feature_enabled_impl("WebKit", "canvas_and_media_in_gpu_process");
     144    return isFeatureFlagEnabled("canvas_and_media_in_gpu_process");
    144145#endif
    145146
     
    163164{
    164165#if HAVE(SYSTEM_FEATURE_FLAGS)
    165     return _os_feature_enabled_impl("WebKit", "webrtc_in_gpu_process");
     166    return isFeatureFlagEnabled("webrtc_in_gpu_process");
    166167#endif
    167168
     
    176177{
    177178#if HAVE(SYSTEM_FEATURE_FLAGS)
    178     return _os_feature_enabled_impl("WebKit", "webrtc_in_gpu_process");
     179    return isFeatureFlagEnabled("webrtc_in_gpu_process");
    179180#endif
    180181
     
    189190{
    190191#if HAVE(SYSTEM_FEATURE_FLAGS)
    191     return _os_feature_enabled_impl("WebKit", "WebGL2");
     192    return isFeatureFlagEnabled("WebGL2");
    192193#endif
    193194
     
    202203{
    203204#if HAVE(SYSTEM_FEATURE_FLAGS)
    204     return _os_feature_enabled_impl("WebKit", "WebGPU");
     205    return isFeatureFlagEnabled("WebGPU");
    205206#endif
    206207
     
    213214{
    214215#if HAVE(SYSTEM_FEATURE_FLAGS)
    215     return _os_feature_enabled_impl("WebKit", "InAppBrowserPrivacy");
     216    return isFeatureFlagEnabled("InAppBrowserPrivacy");
    216217#endif
    217218
     
    223224{
    224225#if HAVE(SYSTEM_FEATURE_FLAGS)
    225     return _os_feature_enabled_impl("WebKit", "incremental_pdf");
     226    return isFeatureFlagEnabled("incremental_pdf");
    226227#endif
    227228
     
    235236{
    236237#if HAVE(SYSTEM_FEATURE_FLAGS)
    237     return _os_feature_enabled_impl("WebKit", "WebXR");
     238    return isFeatureFlagEnabled("WebXR");
    238239#endif
    239240
  • trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h

    r261138 r261599  
    2626#pragma once
    2727
     28#include <wtf/Forward.h>
     29
    2830#if PLATFORM(GTK)
    2931#define DEFAULT_WEBKIT_TABSTOLINKS_ENABLED true
     
    291293namespace WebKit {
    292294
     295#if PLATFORM(COCOA) && HAVE(SYSTEM_FEATURE_FLAGS)
     296bool isFeatureFlagEnabled(const String&);
     297#endif
     298
    293299bool defaultPassiveTouchListenersAsDefaultOnDocument();
    294300bool defaultCSSOMViewScrollingAPIEnabled();
  • trunk/Source/WebKit/SourcesCocoa.txt

    r261375 r261599  
    171171Shared/Cocoa/WKNSURLRequest.mm
    172172Shared/Cocoa/WKObject.mm
     173Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm
    173174
    174175Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r261375 r261599  
    27562756                1DA4089E23A827780058C950 /* RemoteMediaResourceManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteMediaResourceManager.cpp; sourceTree = "<group>"; };
    27572757                1DBBB061211CC3CB00502ECC /* WKShareSheet.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKShareSheet.mm; sourceTree = "<group>"; };
     2758                1DE076D92460CCBD00B211E8 /* WebPreferencesDefaultValuesCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPreferencesDefaultValuesCocoa.mm; sourceTree = "<group>"; };
    27582759                1DE0D095211CC21300439B5F /* WKShareSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKShareSheet.h; sourceTree = "<group>"; };
    27592760                1DE2DFAC23A959F8003E013A /* RemoteMediaResourceIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteMediaResourceIdentifier.h; sourceTree = "<group>"; };
     
    74947495                                7AF236221E79A43100438A05 /* WebErrorsCocoa.mm */,
    74957496                                465250E51ECF52CD002025CB /* WebKit2InitializeCocoa.mm */,
     7497                                1DE076D92460CCBD00B211E8 /* WebPreferencesDefaultValuesCocoa.mm */,
    74967498                                37C4C0921814B3AF003688B9 /* WKNSArray.h */,
    74977499                                37C4C0911814B3AF003688B9 /* WKNSArray.mm */,
     
    83748376                        isa = PBXGroup;
    83758377                        children = (
    8376                                 41684C4F24643D3F001CE8ED /* RemoteCaptureSampleManager.cpp */,
    8377                                 41684C4E24643C81001CE8ED /* RemoteCaptureSampleManager.h */,
    8378                                 41684C4D24643BFA001CE8ED /* RemoteCaptureSampleManager.messages.in */,
    83798378                                CD4570CB2440FB2A00A3DCEB /* AudioSessionRoutingArbitrator.cpp */,
    83808379                                CD4570CA2440FB2A00A3DCEB /* AudioSessionRoutingArbitrator.h */,
     
    83828381                                CDA29A1C1CBDBF5B00901CCF /* PlaybackSessionManager.messages.in */,
    83838382                                CDA29A181CBDBF4100901CCF /* PlaybackSessionManager.mm */,
     8383                                41684C4F24643D3F001CE8ED /* RemoteCaptureSampleManager.cpp */,
     8384                                41684C4E24643C81001CE8ED /* RemoteCaptureSampleManager.h */,
     8385                                41684C4D24643BFA001CE8ED /* RemoteCaptureSampleManager.messages.in */,
    83848386                                41684C50246450FD001CE8ED /* RemoteRealtimeMediaSource.cpp */,
    83858387                                41684C51246450FD001CE8ED /* RemoteRealtimeMediaSource.h */,
     
    99739975                        children = (
    99749976                                2D7DEBE221269E4B00B9F73C /* unified-sources */,
    9975                                 0FF24A2B1879E4BC003ABF0D /* RemoteCaptureSampleManagerMessageReceiver.cpp */,
    99769977                                CD4570D02441014A00A3DCEB /* AudioSessionRoutingArbitratorProxyMessageReceiver.cpp */,
    99779978                                CD4570D12441014B00A3DCEB /* AudioSessionRoutingArbitratorProxyMessages.h */,
     
    1005510056                                CDD53572240DDE0600F7B8C4 /* RemoteAudioSessionProxyMessages.h */,
    1005610057                                CDD53577240DDE0700F7B8C4 /* RemoteAudioSessionProxyMessagesReplies.h */,
     10058                                0FF24A2B1879E4BC003ABF0D /* RemoteCaptureSampleManagerMessageReceiver.cpp */,
    1005710059                                CDAC20F223FC383A0021DEE3 /* RemoteCDMFactoryProxyMessageReceiver.cpp */,
    1005810060                                CDAC20F323FC383A0021DEE3 /* RemoteCDMFactoryProxyMessages.h */,
     
    1268612688                                2DEB1D2E2127473600933906 /* ArgumentCodersCF.cpp in Sources */,
    1268712689                                2D92A77C212B6A7100F493FD /* Attachment.cpp in Sources */,
    12688                                 0FF24A2D1879E4BC003ABF0D /* RemoteCaptureSampleManagerMessageReceiver.cpp in Sources */,
    1268912690                                CD4570D424411D0F00A3DCEB /* AudioSessionRoutingArbitrator.cpp in Sources */,
    1269012691                                CD7CF3612444CCA6003BC4D5 /* AudioSessionRoutingArbitratorProxyCocoa.mm in Sources */,
     
    1277512776                                1A0C225E243575CD00ED614D /* QuickLookThumbnailLoader.mm in Sources */,
    1277612777                                9B1229CE23FF25F2008CA751 /* RemoteAudioDestinationManager.cpp in Sources */,
     12778                                0FF24A2D1879E4BC003ABF0D /* RemoteCaptureSampleManagerMessageReceiver.cpp in Sources */,
    1277712779                                CDAC20F723FC726C0021DEE3 /* RemoteCDMFactoryProxyMessageReceiver.cpp in Sources */,
    1277812780                                CDAC20F823FC726C0021DEE3 /* RemoteCDMInstanceProxyMessageReceiver.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.