⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 267966 in webkit


Ignore:
Timestamp:
Oct 5, 2020, 7:57:53 AM (6 years ago)
Author:
achristensen@apple.com
Message:

Unify linkedOnOrAfter duplicate code and use SPI/WebCoreTestSupport instead of NSUserDefaults
https://bugs.webkit.org/show_bug.cgi?id=217239

Reviewed by Darin Adler.

Source/WebCore:

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/cocoa/VersionChecks.h: Renamed from Source/WebKit/UIProcess/Cocoa/VersionChecks.h.
  • platform/cocoa/VersionChecks.mm: Renamed from Source/WebKit/UIProcess/Cocoa/VersionChecks.mm.

(WebCore::linkedOnOrAfter):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::setLinkedOnOrAfterEverythingForTesting):

  • testing/js/WebCoreTestSupport.h:

Source/WebKit:

  • NetworkProcess/WebStorage/ios/LocalStorageDatabaseTrackerIOS.mm:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:
  • Shared/Cocoa/CompletionHandlerCallChecker.mm:

(WebKit::shouldThrowExceptionForDuplicateCompletionHandlerCall):

  • Shared/Cocoa/DefaultWebBrowserChecks.mm:

(WebKit::determineITPState):

  • Shared/Cocoa/WebKit2InitializeCocoa.mm:

(WebKit::InitializeWebKit2):

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):

  • SourcesCocoa.txt:
  • UIProcess/API/C/WKPage.cpp:

(WKPageReload):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(+[WKProcessPool _setLinkedOnOrAfterEverythingForTesting]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(shouldAllowSettingAnyXHRHeaderFromFileURLs):
(shouldRestrictBaseURLSchemes):
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _setupPageConfiguration:]):
(-[WKWebView reload]):
(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(defaultShouldDecidePolicyBeforeLoadingQuickLookPreview):
(-[WKWebViewConfiguration init]):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore init]):

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _computedObscuredInset]):

  • UIProcess/API/mac/WKWebViewMac.mm:

(-[WKWebView _web_dragDestinationActionForDraggingInfo:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/Inspector/mac/WKInspectorViewController.mm:

(-[WKInspectorViewController inspectorWKWebViewReload:]):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::hasScrollableOrZoomedMainFrame const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createWebPage):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::isMainThreadOrCheckDisabled):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _shouldUseContextMenus]):
(applicationIsKnownToIgnoreMouseEvents):

  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollView _systemContentInset]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::desktopClassBrowsingRecommended):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/WebProcessCocoa.mm:

Source/WebKitLegacy/mac:

  • DefaultDelegates/WebDefaultUIDelegate.mm:

(-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):

  • Misc/WebIconDatabase.mm:

(+[WebIconDatabase sharedIconDatabase]):

  • Misc/WebKitVersionChecks.h:
  • Misc/WebKitVersionChecks.mm:

(WebKitLinkTimeVersion):
(linkedOnOrAfter): Deleted.

  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
(WebKit::defaultShouldRestrictBaseURLSchemes):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):
(DumpRenderTreeMain):

  • MiniBrowser/mac/main.m:

(main):

  • MobileMiniBrowser/MobileMiniBrowser/main.m:

(main):

  • TestWebKitAPI/Configurations/TestWTF.xcconfig:
  • TestWebKitAPI/ios/mainIOS.mm:

(main):

  • TestWebKitAPI/mac/mainMac.mm:

(main):

  • WebKitTestRunner/ios/mainIOS.mm:

(main):

  • WebKitTestRunner/mac/main.mm:

(setDefaultsToConsistentValuesForTesting):
(main):

Location:
trunk
Files:
2 added
2 deleted
48 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r267962 r267966  
     12020-10-05  Alex Christensen  <achristensen@webkit.org>
     2
     3        Unify linkedOnOrAfter duplicate code and use SPI/WebCoreTestSupport instead of NSUserDefaults
     4        https://bugs.webkit.org/show_bug.cgi?id=217239
     5
     6        Reviewed by Darin Adler.
     7
     8        * SourcesCocoa.txt:
     9        * WebCore.xcodeproj/project.pbxproj:
     10        * platform/cocoa/VersionChecks.h: Renamed from Source/WebKit/UIProcess/Cocoa/VersionChecks.h.
     11        * platform/cocoa/VersionChecks.mm: Renamed from Source/WebKit/UIProcess/Cocoa/VersionChecks.mm.
     12        (WebCore::linkedOnOrAfter):
     13        * testing/js/WebCoreTestSupport.cpp:
     14        (WebCoreTestSupport::setLinkedOnOrAfterEverythingForTesting):
     15        * testing/js/WebCoreTestSupport.h:
     16
    1172020-10-05  Antti Koivisto  <antti@apple.com>
    218
  • trunk/Source/WebCore/SourcesCocoa.txt

    r267885 r267966  
    252252platform/cocoa/ThemeCocoa.mm
    253253platform/cocoa/UserAgentCocoa.mm
     254platform/cocoa/VersionChecks.mm
    254255platform/cocoa/VideoFullscreenModelVideoElement.mm
    255256platform/cocoa/VideoToolboxSoftLink.cpp
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r267962 r267966  
    48074807                DECA806D1F9FED6A00E3B661 /* UnifiedSource300.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DECA7FBB1F9FE98300E3B661 /* UnifiedSource300.cpp */; };
    48084808                DF19E2AC24772BC1007BDACB /* ShouldRelaxThirdPartyCookieBlocking.h in Headers */ = {isa = PBXBuildFile; fileRef = DF19E2AA247729A6007BDACB /* ShouldRelaxThirdPartyCookieBlocking.h */; settings = {ATTRIBUTES = (Private, ); }; };
     4809                DF4E38E025279595002A7481 /* VersionChecks.h in Headers */ = {isa = PBXBuildFile; fileRef = DF4E38DE25279594002A7481 /* VersionChecks.h */; settings = {ATTRIBUTES = (Private, ); }; };
    48094810                DF95B14A24FDAFD300B1F4D7 /* TextCodecCJK.h in Headers */ = {isa = PBXBuildFile; fileRef = DF95B14824FDAFD300B1F4D7 /* TextCodecCJK.h */; };
    48104811                DF9AFD7213FC31D80015FEB7 /* MediaPlayerPrivateAVFoundationObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = DF9AFD7013FC31D80015FEB7 /* MediaPlayerPrivateAVFoundationObjC.h */; };
     
    1548615487                DECA7FF51F9FE9BA00E3B661 /* UnifiedSource256.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UnifiedSource256.cpp; path = "DerivedSources/WebCore/unified-sources/UnifiedSource256.cpp"; sourceTree = BUILT_PRODUCTS_DIR; };
    1548715488                DF19E2AA247729A6007BDACB /* ShouldRelaxThirdPartyCookieBlocking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShouldRelaxThirdPartyCookieBlocking.h; sourceTree = "<group>"; };
     15489                DF4E38DC25279593002A7481 /* VersionChecks.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = VersionChecks.mm; sourceTree = "<group>"; };
     15490                DF4E38DE25279594002A7481 /* VersionChecks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VersionChecks.h; sourceTree = "<group>"; };
    1548815491                DF7E9A294C7AACE0AD89B3DD /* MathMLOperatorDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MathMLOperatorDictionary.h; sourceTree = "<group>"; };
    1548915492                DF95B14624FDAFD200B1F4D7 /* TextCodecCJK.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextCodecCJK.cpp; sourceTree = "<group>"; };
     
    2413824141                                310D71931B335C9D009C7B73 /* ThemeCocoa.mm */,
    2413924142                                A3AF9D81203252EE006CAD06 /* UserAgentCocoa.mm */,
     24143                                DF4E38DE25279594002A7481 /* VersionChecks.h */,
     24144                                DF4E38DC25279593002A7481 /* VersionChecks.mm */,
    2414024145                                52B0D4BF1C57FD660077CE53 /* VideoFullscreenChangeObserver.h */,
    2414124146                                52D5A1A41C57488900DE34A3 /* VideoFullscreenModel.h */,
     
    3444134446                                FD3160AF12B026F700C1A359 /* VectorMath.h in Headers */,
    3444234447                                0F1A0C38229A481800D37ADB /* VelocityData.h in Headers */,
     34448                                DF4E38E025279595002A7481 /* VersionChecks.h in Headers */,
    3444334449                                BCA257151293C010007A263D /* VerticalPositionCache.h in Headers */,
    3444434450                                52B0D4C01C57FD660077CE53 /* VideoFullscreenChangeObserver.h in Headers */,
  • trunk/Source/WebCore/testing/js/WebCoreTestSupport.cpp

    r263628 r267966  
    4949#if PLATFORM(COCOA)
    5050#include "UTIRegistry.h"
     51#include "VersionChecks.h"
     52#include <wtf/cocoa/RuntimeApplicationChecksCocoa.h>
    5153#endif
    5254
     
    144146}
    145147
     148void setLinkedOnOrAfterEverythingForTesting()
     149{
     150#if PLATFORM(COCOA)
     151    setApplicationSDKVersion(std::numeric_limits<uint32_t>::max());
     152#endif
     153}
     154
    146155void installMockGamepadProvider()
    147156{
  • trunk/Source/WebCore/testing/js/WebCoreTestSupport.h

    r261539 r267966  
    5555void initializeLogChannelsIfNecessary() TEST_SUPPORT_EXPORT;
    5656void setAllowsAnySSLCertificate(bool) TEST_SUPPORT_EXPORT;
     57void setLinkedOnOrAfterEverythingForTesting() TEST_SUPPORT_EXPORT;
    5758
    5859void installMockGamepadProvider() TEST_SUPPORT_EXPORT;
  • trunk/Source/WebKit/ChangeLog

    r267961 r267966  
     12020-10-05  Alex Christensen  <achristensen@webkit.org>
     2
     3        Unify linkedOnOrAfter duplicate code and use SPI/WebCoreTestSupport instead of NSUserDefaults
     4        https://bugs.webkit.org/show_bug.cgi?id=217239
     5
     6        Reviewed by Darin Adler.
     7
     8        * NetworkProcess/WebStorage/ios/LocalStorageDatabaseTrackerIOS.mm:
     9        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
     10        * Shared/Cocoa/CompletionHandlerCallChecker.mm:
     11        (WebKit::shouldThrowExceptionForDuplicateCompletionHandlerCall):
     12        * Shared/Cocoa/DefaultWebBrowserChecks.mm:
     13        (WebKit::determineITPState):
     14        * Shared/Cocoa/WebKit2InitializeCocoa.mm:
     15        (WebKit::InitializeWebKit2):
     16        * Shared/WebPreferencesDefaultValues.cpp:
     17        (WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
     18        * SourcesCocoa.txt:
     19        * UIProcess/API/C/WKPage.cpp:
     20        (WKPageReload):
     21        * UIProcess/API/Cocoa/WKProcessPool.mm:
     22        (+[WKProcessPool _setLinkedOnOrAfterEverythingForTesting]):
     23        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
     24        * UIProcess/API/Cocoa/WKWebView.mm:
     25        (shouldAllowSettingAnyXHRHeaderFromFileURLs):
     26        (shouldRestrictBaseURLSchemes):
     27        (-[WKWebView _initializeWithConfiguration:]):
     28        (-[WKWebView _setupPageConfiguration:]):
     29        (-[WKWebView reload]):
     30        (-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
     31        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
     32        (defaultShouldDecidePolicyBeforeLoadingQuickLookPreview):
     33        (-[WKWebViewConfiguration init]):
     34        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
     35        (-[WKWebsiteDataStore init]):
     36        * UIProcess/API/ios/WKWebViewIOS.mm:
     37        (-[WKWebView _computedObscuredInset]):
     38        * UIProcess/API/mac/WKWebViewMac.mm:
     39        (-[WKWebView _web_dragDestinationActionForDraggingInfo:]):
     40        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     41        (WebKit::WebProcessPool::platformInitializeWebProcess):
     42        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
     43        * UIProcess/Inspector/mac/WKInspectorViewController.mm:
     44        (-[WKInspectorViewController inspectorWKWebViewReload:]):
     45        * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
     46        (WebKit::RemoteScrollingCoordinatorProxy::hasScrollableOrZoomedMainFrame const):
     47        * UIProcess/WebPageProxy.cpp:
     48        (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
     49        * UIProcess/WebProcessPool.cpp:
     50        (WebKit::WebProcessPool::createWebPage):
     51        * UIProcess/WebProcessProxy.cpp:
     52        (WebKit::isMainThreadOrCheckDisabled):
     53        * UIProcess/ios/WKContentView.mm:
     54        (-[WKContentView _commonInitializationWithProcessPool:configuration:]):
     55        * UIProcess/ios/WKContentViewInteraction.mm:
     56        (-[WKContentView _shouldUseContextMenus]):
     57        (applicationIsKnownToIgnoreMouseEvents):
     58        * UIProcess/ios/WKScrollView.mm:
     59        (-[WKScrollView _systemContentInset]):
     60        * UIProcess/ios/WebPageProxyIOS.mm:
     61        (WebKit::desktopClassBrowsingRecommended):
     62        * WebKit.xcodeproj/project.pbxproj:
     63        * WebProcess/cocoa/WebProcessCocoa.mm:
     64
    1652020-10-05  Simon Fraser  <simon.fraser@apple.com>
    266
  • trunk/Source/WebKit/NetworkProcess/WebStorage/ios/LocalStorageDatabaseTrackerIOS.mm

    r260366 r267966  
    2929#if PLATFORM(IOS_FAMILY)
    3030
    31 #import "VersionChecks.h"
     31#import <WebCore/VersionChecks.h>
    3232
    3333namespace WebKit {
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm

    r267763 r267966  
    4242#import <WebCore/SecurityOriginData.h>
    4343#import <WebCore/SocketStreamHandleImpl.h>
     44#import <WebCore/VersionChecks.h>
    4445#import <pal/spi/cf/CFNetworkSPI.h>
    4546#import <wtf/BlockPtr.h>
  • trunk/Source/WebKit/Shared/Cocoa/CompletionHandlerCallChecker.mm

    r242339 r267966  
    2727#import "CompletionHandlerCallChecker.h"
    2828
     29#import <WebCore/VersionChecks.h>
    2930#import <mutex>
    3031#import <objc/runtime.h>
    3132#import <wtf/Ref.h>
    32 #import "VersionChecks.h"
    3333
    3434namespace WebKit {
     
    6666    static std::once_flag once;
    6767    std::call_once(once, [] {
    68         shouldThrowException = linkedOnOrAfter(SDKVersion::FirstWithExceptionsForDuplicateCompletionHandlerCalls);
     68        shouldThrowException = linkedOnOrAfter(WebCore::SDKVersion::FirstWithExceptionsForDuplicateCompletionHandlerCalls);
    6969    });
    7070    return shouldThrowException;
  • trunk/Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm

    r267208 r267966  
    2828
    2929#import "TCCSPI.h"
    30 #import "VersionChecks.h"
    3130#import <WebCore/RegistrableDomain.h>
    3231#import <WebCore/RuntimeApplicationChecks.h>
     32#import <WebCore/VersionChecks.h>
    3333#import <wtf/HashMap.h>
    3434#import <wtf/RunLoop.h>
     
    129129
    130130    g_currentITPState = ITPState::Initializing;
    131     bool appWasLinkedOnOrAfter = linkedOnOrAfter(SDKVersion::FirstWithSessionCleanupByDefault, AssumeSafariIsAlwaysLinkedOnAfter::Yes);
     131    bool appWasLinkedOnOrAfter = linkedOnOrAfter(WebCore::SDKVersion::FirstWithSessionCleanupByDefault);
    132132
    133133    g_itpQueue = dispatch_queue_create("com.apple.WebKit.itpCheckQueue", NULL);
  • trunk/Source/WebKit/Shared/Cocoa/WebKit2InitializeCocoa.mm

    r267938 r267966  
    2727#import "WebKit2Initialize.h"
    2828
    29 #import "VersionChecks.h"
    3029#import "WebKitJITOperations.h"
    3130#import <JavaScriptCore/InitializeThreading.h>
     31#import <WebCore/VersionChecks.h>
    3232#import <WebCore/WebCoreJITOperations.h>
    3333#import <mutex>
     
    6767    // are only safe to call on the main thread.
    6868    std::call_once(flag, [] {
    69         if ([NSThread isMainThread] || linkedOnOrAfter(SDKVersion::FirstWithInitializeWebKit2MainThreadAssertion))
     69        if ([NSThread isMainThread] || linkedOnOrAfter(WebCore::SDKVersion::FirstWithInitializeWebKit2MainThreadAssertion))
    7070            runInitializationCode();
    7171        else
  • trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp

    r267775 r267966  
    3030
    3131#if PLATFORM(COCOA)
    32 #include "VersionChecks.h"
     32#include <WebCore/VersionChecks.h>
    3333#include <pal/spi/cocoa/FeatureFlagsSPI.h>
    3434#include <wtf/cocoa/RuntimeApplicationChecksCocoa.h>
     
    4141bool defaultPassiveTouchListenersAsDefaultOnDocument()
    4242{
    43     static bool result = linkedOnOrAfter(WebKit::SDKVersion::FirstThatDefaultsToPassiveTouchListenersOnDocument);
     43    static bool result = linkedOnOrAfter(WebCore::SDKVersion::FirstThatDefaultsToPassiveTouchListenersOnDocument);
    4444    return result;
    4545}
  • trunk/Source/WebKit/SourcesCocoa.txt

    r267885 r267966  
    386386UIProcess/Cocoa/UserMediaPermissionRequestManagerProxy.mm
    387387UIProcess/Cocoa/UserMediaPermissionRequestProxy.mm
    388 UIProcess/Cocoa/VersionChecks.mm
    389388UIProcess/Cocoa/VideoFullscreenManagerProxy.mm
    390389UIProcess/Cocoa/WebPageProxyCocoa.mm
  • trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp

    r267885 r267966  
    9696
    9797#if PLATFORM(COCOA)
    98 #include "VersionChecks.h"
     98#include <WebCore/VersionChecks.h>
    9999#endif
    100100
     
    279279    OptionSet<WebCore::ReloadOption> reloadOptions;
    280280#if PLATFORM(COCOA)
    281     if (linkedOnOrAfter(WebKit::SDKVersion::FirstWithExpiredOnlyReloadBehavior))
     281    if (linkedOnOrAfter(WebCore::SDKVersion::FirstWithExpiredOnlyReloadBehavior))
    282282        reloadOptions.add(WebCore::ReloadOption::ExpiredOnly);
    283283#endif
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm

    r267763 r267966  
    5656#import <wtf/RetainPtr.h>
    5757#import <wtf/WeakObjCPtr.h>
     58#import <wtf/cocoa/RuntimeApplicationChecksCocoa.h>
    5859#import <wtf/cocoa/VectorCocoa.h>
    5960
     
    519520}
    520521
     522+ (void)_setLinkedOnOrAfterEverythingForTesting
     523{
     524    setApplicationSDKVersion(std::numeric_limits<uint32_t>::max());
     525}
     526
    521527- (BOOL)_isCookieStoragePartitioningEnabled
    522528{
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h

    r267763 r267966  
    113113// Test only. Should be called before any web content processes are launched.
    114114+ (void)_forceGameControllerFramework WK_API_AVAILABLE(macos(10.13), ios(11.0));
     115+ (void)_setLinkedOnOrAfterEverythingForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
    115116
    116117- (void)_preconnectToServer:(NSURL *)serverURL WK_API_DEPRECATED_WITH_REPLACEMENT("WKWebView._preconnectToServer", macos(10.13.4, WK_MAC_TBA), ios(11.3, WK_IOS_TBA));
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm

    r267619 r267966  
    5353#import "SafeBrowsingWarning.h"
    5454#import "UIDelegate.h"
    55 #import "VersionChecks.h"
    5655#import "VideoFullscreenManagerProxy.h"
    5756#import "ViewGestureController.h"
     
    128127#import <WebCore/StringUtilities.h>
    129128#import <WebCore/TextManipulationController.h>
     129#import <WebCore/VersionChecks.h>
    130130#import <WebCore/ViewportArguments.h>
    131131#import <WebCore/WebViewVisualIdentificationOverlay.h>
     
    219219static bool shouldAllowSettingAnyXHRHeaderFromFileURLs()
    220220{
    221     static bool shouldAllowSettingAnyXHRHeaderFromFileURLs = (WebCore::IOSApplication::isCardiogram() || WebCore::IOSApplication::isNike()) && !linkedOnOrAfter(WebKit::SDKVersion::FirstThatDisallowsSettingAnyXHRHeaderFromFileURLs);
     221    static bool shouldAllowSettingAnyXHRHeaderFromFileURLs = (WebCore::IOSApplication::isCardiogram() || WebCore::IOSApplication::isNike()) && !linkedOnOrAfter(WebCore::SDKVersion::FirstThatDisallowsSettingAnyXHRHeaderFromFileURLs);
    222222    return shouldAllowSettingAnyXHRHeaderFromFileURLs;
    223223}
     
    237237static bool shouldRestrictBaseURLSchemes()
    238238{
    239     static bool shouldRestrictBaseURLSchemes = linkedOnOrAfter(WebKit::SDKVersion::FirstThatRestrictsBaseURLSchemes);
     239    static bool shouldRestrictBaseURLSchemes = linkedOnOrAfter(WebCore::SDKVersion::FirstThatRestrictsBaseURLSchemes);
    240240    return shouldRestrictBaseURLSchemes;
    241241}
     
    311311        if (processPool && processPool != relatedWebViewProcessPool)
    312312            [NSException raise:NSInvalidArgumentException format:@"Related web view %@ has process pool %@ but configuration specifies a different process pool %@", relatedWebView, relatedWebViewProcessPool, configuration.processPool];
    313         if ([relatedWebView->_configuration websiteDataStore] != [_configuration websiteDataStore] && linkedOnOrAfter(WebKit::SDKVersion::FirstWithExceptionsForRelatedWebViewsUsingDifferentDataStores, WebKit::AssumeSafariIsAlwaysLinkedOnAfter::No))
     313        if ([relatedWebView->_configuration websiteDataStore] != [_configuration websiteDataStore] && linkedOnOrAfter(WebCore::SDKVersion::FirstWithExceptionsForRelatedWebViewsUsingDifferentDataStores, WebCore::AssumeSafariIsAlwaysLinkedOnAfter::No))
    314314            [NSException raise:NSInvalidArgumentException format:@"Related web view %@ has data store %@ but configuration specifies a different data store %@", relatedWebView, [relatedWebView->_configuration websiteDataStore], [_configuration websiteDataStore]];
    315315
     
    479479    pageConfiguration->preferences()->setShouldDecidePolicyBeforeLoadingQuickLookPreview(!![_configuration _shouldDecidePolicyBeforeLoadingQuickLookPreview]);
    480480#if ENABLE(DEVICE_ORIENTATION)
    481     pageConfiguration->preferences()->setDeviceOrientationPermissionAPIEnabled(linkedOnOrAfter(WebKit::SDKVersion::FirstWithDeviceOrientationAndMotionPermissionAPI));
     481    pageConfiguration->preferences()->setDeviceOrientationPermissionAPIEnabled(linkedOnOrAfter(WebCore::SDKVersion::FirstWithDeviceOrientationAndMotionPermissionAPI));
    482482#endif
    483483#if USE(SYSTEM_PREVIEW)
     
    527527#endif
    528528
    529     if (!linkedOnOrAfter(WebKit::SDKVersion::FirstWhereSiteSpecificQuirksAreEnabledByDefault))
     529    if (!linkedOnOrAfter(WebCore::SDKVersion::FirstWhereSiteSpecificQuirksAreEnabledByDefault))
    530530        pageConfiguration->preferences()->setNeedsSiteSpecificQuirks(false);
    531531}
     
    781781{
    782782    OptionSet<WebCore::ReloadOption> reloadOptions;
    783     if (linkedOnOrAfter(WebKit::SDKVersion::FirstWithExpiredOnlyReloadBehavior))
     783    if (linkedOnOrAfter(WebCore::SDKVersion::FirstWithExpiredOnlyReloadBehavior))
    784784        reloadOptions.add(WebCore::ReloadOption::ExpiredOnly);
    785785
     
    10251025    };
    10261026
    1027     if ((snapshotConfiguration && !snapshotConfiguration.afterScreenUpdates) || !linkedOnOrAfter(WebKit::SDKVersion::FirstWithSnapshotAfterScreenUpdates)) {
     1027    if ((snapshotConfiguration && !snapshotConfiguration.afterScreenUpdates) || !linkedOnOrAfter(WebCore::SDKVersion::FirstWithSnapshotAfterScreenUpdates)) {
    10281028        callSnapshotRect();
    10291029        return;
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm

    r267775 r267966  
    2929#import "APIPageConfiguration.h"
    3030#import "UserInterfaceIdiom.h"
    31 #import "VersionChecks.h"
    3231#import "WKPreferences.h"
    3332#import "WKProcessPool.h"
     
    4645#import <WebCore/RuntimeApplicationChecks.h>
    4746#import <WebCore/Settings.h>
     47#import <WebCore/VersionChecks.h>
    4848#import <wtf/RetainPtr.h>
    4949#import <wtf/URLParser.h>
     
    107107{
    108108#if USE(QUICK_LOOK)
    109     static bool shouldDecide = linkedOnOrAfter(WebKit::SDKVersion::FirstThatDecidesPolicyBeforeLoadingQuickLookPreview);
     109    static bool shouldDecide = linkedOnOrAfter(WebCore::SDKVersion::FirstThatDecidesPolicyBeforeLoadingQuickLookPreview);
    110110    return shouldDecide;
    111111#else
     
    201201    _mediaDataLoadsAutomatically = NO;
    202202#if !PLATFORM(WATCHOS)
    203     if (WebKit::linkedOnOrAfter(WebKit::SDKVersion::FirstWithMediaTypesRequiringUserActionForPlayback))
     203    if (WebCore::linkedOnOrAfter(WebCore::SDKVersion::FirstWithMediaTypesRequiringUserActionForPlayback))
    204204        _mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeAudio;
    205205    else
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm

    r267763 r267966  
    3131#import "CompletionHandlerCallChecker.h"
    3232#import "ShouldGrandfatherStatistics.h"
    33 #import "VersionChecks.h"
    3433#import "WKHTTPCookieStoreInternal.h"
    3534#import "WKNSArray.h"
     
    4645#import <WebCore/Credential.h>
    4746#import <WebCore/RegistrationDatabase.h>
     47#import <WebCore/VersionChecks.h>
    4848#import <wtf/BlockPtr.h>
    4949#import <wtf/URL.h>
     
    119119- (instancetype)init
    120120{
    121     if (WebKit::linkedOnOrAfter(WebKit::SDKVersion::FirstWithWKWebsiteDataStoreInitReturningNil))
     121    if (WebCore::linkedOnOrAfter(WebCore::SDKVersion::FirstWithWKWebsiteDataStoreInitReturningNil))
    122122        [NSException raise:NSGenericException format:@"Calling [WKWebsiteDataStore init] is not supported."];
    123123   
  • trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm

    r266829 r267966  
    3434#import "RemoteLayerTreeScrollingPerformanceData.h"
    3535#import "RemoteScrollingCoordinatorProxy.h"
    36 #import "VersionChecks.h"
    3736#import "VideoFullscreenManagerProxy.h"
    3837#import "ViewGestureController.h"
     
    5554#import <WebCore/LocalCurrentTraitCollection.h>
    5655#import <WebCore/MIMETypeRegistry.h>
     56#import <WebCore/VersionChecks.h>
    5757#import <pal/spi/cocoa/QuartzCoreSPI.h>
    5858#import <pal/spi/ios/GraphicsServicesSPI.h>
     
    582582- (UIEdgeInsets)_computedObscuredInset
    583583{
    584     if (!linkedOnOrAfter(WebKit::SDKVersion::FirstWhereScrollViewContentInsetsAreNotObscuringInsets)) {
     584    if (!linkedOnOrAfter(WebCore::SDKVersion::FirstWhereScrollViewContentInsetsAreNotObscuringInsets)) {
    585585        // For binary compability with third party apps, treat scroll view content insets as obscuring insets when the app is compiled
    586586        // against a WebKit version without the fix in r229641.
  • trunk/Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm

    r259187 r267966  
    3030
    3131#import "AppKitSPI.h"
    32 #import "VersionChecks.h"
    3332#import "WKContentViewMac.h"
    3433#import "WKSafeBrowsingWarning.h"
     
    4241#import "_WKFrameHandleInternal.h"
    4342#import "_WKHitTestResultInternal.h"
     43#import <WebCore/VersionChecks.h>
    4444#import <pal/spi/mac/NSTextFinderSPI.h>
    4545
     
    11571157        return [uiDelegate _webView:self dragDestinationActionMaskForDraggingInfo:draggingInfo];
    11581158
    1159     if (!linkedOnOrAfter(WebKit::SDKVersion::FirstWithDropToNavigateDisallowedByDefault))
     1159    if (!linkedOnOrAfter(WebCore::SDKVersion::FirstWithDropToNavigateDisallowedByDefault))
    11601160        return WKDragDestinationActionAny;
    11611161
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r267960 r267966  
    4040#import "TextChecker.h"
    4141#import "UserInterfaceIdiom.h"
    42 #import "VersionChecks.h"
    4342#import "WKBrowsingContextControllerInternal.h"
    4443#import "WebBackForwardCache.h"
     
    6160#import <WebCore/SharedBuffer.h>
    6261#import <WebCore/UTIUtilities.h>
     62#import <WebCore/VersionChecks.h>
    6363#import <objc/runtime.h>
    64 #import <pal/cf/CoreMediaSoftLink.h>
    65 #import <pal/cocoa/MediaToolboxSoftLink.h>
    6664#import <pal/spi/cf/CFNetworkSPI.h>
    6765#import <sys/param.h>
     
    7068#import <wtf/SoftLinking.h>
    7169#import <wtf/cocoa/Entitlements.h>
     70#import <wtf/cocoa/RuntimeApplicationChecksCocoa.h>
    7271#import <wtf/spi/darwin/SandboxSPI.h>
    7372#import <wtf/spi/darwin/dyldSPI.h>
     
    9291#import <WebCore/SystemBattery.h>
    9392#endif
     93
     94#import <pal/cf/CoreMediaSoftLink.h>
     95#import <pal/cocoa/MediaToolboxSoftLink.h>
    9496
    9597NSString *WebServiceWorkerRegistrationDirectoryDefaultsKey = @"WebServiceWorkerRegistrationDirectory";
     
    365367
    366368    parameters.uiProcessBundleIdentifier = applicationBundleIdentifier();
    367     parameters.uiProcessSDKVersion = dyld_get_program_sdk_version();
     369    parameters.uiProcessSDKVersion = applicationSDKVersion();
    368370
    369371#if PLATFORM(IOS_FAMILY)
     
    509511{
    510512    parameters.uiProcessBundleIdentifier = applicationBundleIdentifier();
    511     parameters.uiProcessSDKVersion = dyld_get_program_sdk_version();
     513    parameters.uiProcessSDKVersion = applicationSDKVersion();
    512514
    513515    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  • trunk/Source/WebKit/UIProcess/Inspector/mac/WKInspectorViewController.mm

    r267411 r267966  
    3030
    3131#import "APINavigation.h"
    32 #import "VersionChecks.h"
    3332#import "WKFrameInfo.h"
    3433#import "WKInspectorWKWebView.h"
     
    4443#import "WebInspectorUtilities.h"
    4544#import "WebPageProxy.h"
     45#import <WebCore/VersionChecks.h>
    4646#import <wtf/WeakObjCPtr.h>
    4747
     
    253253
    254254    OptionSet<WebCore::ReloadOption> reloadOptions;
    255     if (WebKit::linkedOnOrAfter(WebKit::SDKVersion::FirstWithExpiredOnlyReloadBehavior))
     255    if (WebCore::linkedOnOrAfter(WebCore::SDKVersion::FirstWithExpiredOnlyReloadBehavior))
    256256        reloadOptions.add(WebCore::ReloadOption::ExpiredOnly);
    257257
  • trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp

    r264704 r267966  
    3434#include "RemoteScrollingCoordinatorMessages.h"
    3535#include "RemoteScrollingCoordinatorTransaction.h"
    36 #include "VersionChecks.h"
    3736#include "WebPageProxy.h"
    3837#include "WebProcessProxy.h"
     
    4342#include <WebCore/ScrollingStateTree.h>
    4443#include <WebCore/ScrollingTreeFrameScrollingNode.h>
     44#include <WebCore/VersionChecks.h>
    4545
    4646namespace WebKit {
     
    267267
    268268#if PLATFORM(IOS_FAMILY)
    269     if (WebCore::IOSApplication::isEventbrite() && !linkedOnOrAfter(WebKit::SDKVersion::FirstThatSupportsOverflowHiddenOnMainFrame))
     269    if (WebCore::IOSApplication::isEventbrite() && !linkedOnOrAfter(WebCore::SDKVersion::FirstThatSupportsOverflowHiddenOnMainFrame))
    270270        return true;
    271271#endif
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r267916 r267966  
    207207#include "RemoteLayerTreeScrollingPerformanceData.h"
    208208#include "UserMediaCaptureManagerProxy.h"
    209 #include "VersionChecks.h"
    210209#include "VideoFullscreenManagerProxy.h"
    211210#include "VideoFullscreenManagerProxyMessages.h"
     
    214213#include <WebCore/SystemBattery.h>
    215214#include <WebCore/TextIndicatorWindow.h>
     215#include <WebCore/VersionChecks.h>
    216216#include <wtf/MachSendRight.h>
    217217#include <wtf/cocoa/Entitlements.h>
     
    12491249
    12501250#if PLATFORM(COCOA)
    1251     if (!linkedOnOrAfter(SDKVersion::FirstWithoutUnconditionalUniversalSandboxExtension))
     1251    if (!linkedOnOrAfter(WebCore::SDKVersion::FirstWithoutUnconditionalUniversalSandboxExtension))
    12521252        willAcquireUniversalFileReadSandboxExtension(process);
    12531253#endif
  • trunk/Source/WebKit/UIProcess/WebProcessPool.cpp

    r267885 r267966  
    127127#if PLATFORM(COCOA)
    128128#include "DefaultWebBrowserChecks.h"
    129 #include "VersionChecks.h"
    130129#include <WebCore/GameControllerGamepadProvider.h>
    131130#include <WebCore/HIDGamepadProvider.h>
    132131#include <WebCore/MultiGamepadProvider.h>
    133132#include <WebCore/PowerSourceNotifier.h>
     133#include <WebCore/VersionChecks.h>
    134134#endif
    135135
     
    10301030    bool enableProcessSwapOnCrossSiteNavigation = page->preferences().processSwapOnCrossSiteNavigationEnabled();
    10311031#if PLATFORM(IOS_FAMILY)
    1032     if (WebCore::IOSApplication::isFirefox() && !linkedOnOrAfter(WebKit::SDKVersion::FirstWithProcessSwapOnCrossSiteNavigation))
     1032    if (WebCore::IOSApplication::isFirefox() && !linkedOnOrAfter(WebCore::SDKVersion::FirstWithProcessSwapOnCrossSiteNavigation))
    10331033        enableProcessSwapOnCrossSiteNavigation = false;
    10341034#endif
  • trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp

    r267918 r267966  
    7777#include "PDFPlugin.h"
    7878#include "UserMediaCaptureManagerProxy.h"
    79 #include "VersionChecks.h"
     79#include <WebCore/VersionChecks.h>
    8080#endif
    8181
     
    101101{
    102102#if PLATFORM(IOS_FAMILY)
    103     return LIKELY(RunLoop::isMain()) || !linkedOnOrAfter(SDKVersion::FirstWithMainThreadReleaseAssertionInWebPageProxy);
     103    return LIKELY(RunLoop::isMain()) || !linkedOnOrAfter(WebCore::SDKVersion::FirstWithMainThreadReleaseAssertionInWebPageProxy);
    104104#elif PLATFORM(MAC)
    105     return LIKELY(RunLoop::isMain()) || !linkedOnOrAfter(SDKVersion::FirstWithMainThreadReleaseAssertionInWebPageProxy);
     105    return LIKELY(RunLoop::isMain()) || !linkedOnOrAfter(WebCore::SDKVersion::FirstWithMainThreadReleaseAssertionInWebPageProxy);
    106106#else
    107107    return RunLoop::isMain();
  • trunk/Source/WebKit/UIProcess/ios/WKContentView.mm

    r264368 r267966  
    4040#import "SmartMagnificationController.h"
    4141#import "UIKitSPI.h"
    42 #import "VersionChecks.h"
    4342#import "WKBrowsingContextControllerInternal.h"
    4443#import "WKBrowsingContextGroupPrivate.h"
     
    6463#import <WebCore/RuntimeApplicationChecks.h>
    6564#import <WebCore/VelocityData.h>
     65#import <WebCore/VersionChecks.h>
    6666#import <objc/message.h>
    6767#import <pal/spi/cocoa/NSAccessibilitySPI.h>
     
    191191    [_fixedClippingView addSubview:_rootContentView.get()];
    192192
    193     if (!linkedOnOrAfter(WebKit::SDKVersion::FirstWithLazyGestureRecognizerInstallation))
     193    if (!linkedOnOrAfter(WebCore::SDKVersion::FirstWithLazyGestureRecognizerInstallation))
    194194        [self setUpInteraction];
    195195    [self setUserInteractionEnabled:YES];
     
    213213
    214214#if USE(UIKIT_KEYBOARD_ADDITIONS)
    215     if (WebCore::IOSApplication::isEvernote() && !linkedOnOrAfter(WebKit::SDKVersion::FirstWhereWKContentViewDoesNotOverrideKeyCommands))
     215    if (WebCore::IOSApplication::isEvernote() && !linkedOnOrAfter(WebCore::SDKVersion::FirstWhereWKContentViewDoesNotOverrideKeyCommands))
    216216        class_addMethod(self.class, @selector(keyCommands), reinterpret_cast<IMP>(&keyCommandsPlaceholderHackForEvernote), method_getTypeEncoding(class_getInstanceMethod(self.class, @selector(keyCommands))));
    217217#endif
  • trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

    r267612 r267966  
    4545#import "UIKitSPI.h"
    4646#import "UserInterfaceIdiom.h"
    47 #import "VersionChecks.h"
    4847#import "WKActionSheetAssistant.h"
    4948#import "WKContextMenuElementInfoInternal.h"
     
    118117#import <WebCore/TouchAction.h>
    119118#import <WebCore/UTIUtilities.h>
     119#import <WebCore/VersionChecks.h>
    120120#import <WebCore/VisibleSelection.h>
    121121#import <WebCore/WebEvent.h>
     
    70997099{
    71007100#if HAVE(LINK_PREVIEW) && USE(UICONTEXTMENU)
    7101     return linkedOnOrAfter(WebKit::SDKVersion::FirstThatHasUIContextMenuInteraction);
     7101    return linkedOnOrAfter(WebCore::SDKVersion::FirstThatHasUIContextMenuInteraction);
    71027102#endif
    71037103    return NO;
     
    85688568    }
    85698569
    8570     if (!WebKit::linkedOnOrAfter(WebKit::SDKVersion::FirstVersionWithiOSAppsOnMacOS)) {
     8570    if (!WebCore::linkedOnOrAfter(WebCore::SDKVersion::FirstVersionWithiOSAppsOnMacOS)) {
    85718571        if (WebCore::IOSApplication::isFIFACompanion() // <rdar://problem/67093487>
    85728572            || WebCore::IOSApplication::isNoggin() // <rdar://problem/64830335>
     
    85808580    }
    85818581
    8582     if (!WebKit::linkedOnOrAfter(WebKit::SDKVersion::FirstThatSendsNativeMouseEvents)) {
     8582    if (!WebCore::linkedOnOrAfter(WebCore::SDKVersion::FirstThatSendsNativeMouseEvents)) {
    85838583        if (WebCore::IOSApplication::isPocketCity() // <rdar://problem/62273077>
    85848584            || WebCore::IOSApplication::isEssentialSkeleton() // <rdar://problem/62694519>
  • trunk/Source/WebKit/UIProcess/ios/WKScrollView.mm

    r264194 r267966  
    3030
    3131#import "UIKitSPI.h"
    32 #import "VersionChecks.h"
    3332#import "WKDeferringGestureRecognizer.h"
    3433#import "WKWebViewIOS.h"
     34#import <WebCore/VersionChecks.h>
    3535#import <pal/spi/cg/CoreGraphicsSPI.h>
    3636#import <wtf/WeakObjCPtr.h>
     
    380380    // keyboard insets applied, even when web content has chosen to disable automatic
    381381    // safe area inset adjustment.
    382     if (linkedOnOrAfter(WebKit::SDKVersion::FirstWhereUIScrollViewDoesNotApplyKeyboardInsetsUnconditionally) && self.contentInsetAdjustmentBehavior == UIScrollViewContentInsetAdjustmentNever)
     382    if (linkedOnOrAfter(WebCore::SDKVersion::FirstWhereUIScrollViewDoesNotApplyKeyboardInsetsUnconditionally) && self.contentInsetAdjustmentBehavior == UIScrollViewContentInsetAdjustmentNever)
    383383        systemContentInset.bottom += _keyboardBottomInsetAdjustment;
    384384
  • trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm

    r266804 r267966  
    5353#import "UserData.h"
    5454#import "UserInterfaceIdiom.h"
    55 #import "VersionChecks.h"
    5655#import "VideoFullscreenManagerProxy.h"
    5756#import "ViewUpdateDispatcherMessages.h"
     
    7170#import <WebCore/UserAgent.h>
    7271#import <WebCore/ValidationBubble.h>
     72#import <WebCore/VersionChecks.h>
    7373#import <pal/spi/ios/MobileGestaltSPI.h>
    7474#import <wtf/text/TextStream.h>
     
    14551455        auto screenClass = MGGetSInt32Answer(kMGQMainScreenClass, MGScreenClassPad2);
    14561456        shouldRecommendDesktopClassBrowsing = screenClass != MGScreenClassPad3 && screenClass != MGScreenClassPad4 && desktopClassBrowsingSupported();
    1457         if (ignoreSafeguards == IgnoreAppCompatibilitySafeguards::No && !linkedOnOrAfter(WebKit::SDKVersion::FirstWithModernCompabilityModeByDefault)) {
     1457        if (ignoreSafeguards == IgnoreAppCompatibilitySafeguards::No && !linkedOnOrAfter(WebCore::SDKVersion::FirstWithModernCompabilityModeByDefault)) {
    14581458            // Opt out apps that haven't yet built against the iOS 13 SDK to limit any incompatibilities as a result of enabling desktop-class browsing by default in
    14591459            // WKWebView on appropriately-sized iPad models.
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r267938 r267966  
    18241824                E4D54D0421F1D72D007E3C36 /* ScrollingTreeFrameScrollingNodeRemoteIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = E40C1F9321F0B96E00530718 /* ScrollingTreeFrameScrollingNodeRemoteIOS.h */; };
    18251825                E4E57F6B21A83B1200345F3C /* RemoteLayerTreeNode.h in Headers */ = {isa = PBXBuildFile; fileRef = E4E57F6A21A83B1100345F3C /* RemoteLayerTreeNode.h */; };
    1826                 E4E864931B16750700C82F40 /* VersionChecks.h in Headers */ = {isa = PBXBuildFile; fileRef = E4E8648E1B1673FB00C82F40 /* VersionChecks.h */; };
    18271826                E52CF55220A35C3A00DADA27 /* WebDataListSuggestionPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = E52CF55020A35C3A00DADA27 /* WebDataListSuggestionPicker.h */; };
    18281827                E548EBD121015F0E00BE3C32 /* WKFormColorPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = E548EBCF21015F0E00BE3C32 /* WKFormColorPicker.h */; };
     
    53325331                E4E57F6821A83B0300345F3C /* RemoteLayerTreeNode.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteLayerTreeNode.mm; sourceTree = "<group>"; };
    53335332                E4E57F6A21A83B1100345F3C /* RemoteLayerTreeNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteLayerTreeNode.h; sourceTree = "<group>"; };
    5334                 E4E8648E1B1673FB00C82F40 /* VersionChecks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VersionChecks.h; sourceTree = "<group>"; };
    5335                 E4E8648F1B1673FB00C82F40 /* VersionChecks.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = VersionChecks.mm; sourceTree = "<group>"; };
    53365333                E52CF55020A35C3A00DADA27 /* WebDataListSuggestionPicker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebDataListSuggestionPicker.h; sourceTree = "<group>"; };
    53375334                E52CF55120A35C3A00DADA27 /* WebDataListSuggestionPicker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebDataListSuggestionPicker.cpp; sourceTree = "<group>"; };
     
    63456342                                070259BE2522841C00153405 /* UserMediaPermissionRequestManagerProxy.mm */,
    63466343                                411A9A9A251DE93E00807D7E /* UserMediaPermissionRequestProxy.mm */,
    6347                                 E4E8648E1B1673FB00C82F40 /* VersionChecks.h */,
    6348                                 E4E8648F1B1673FB00C82F40 /* VersionChecks.mm */,
    63496344                                52D5A1AA1C57494E00DE34A3 /* VideoFullscreenManagerProxy.h */,
    63506345                                52D5A1AB1C57494E00DE34A3 /* VideoFullscreenManagerProxy.messages.in */,
     
    1117711172                                4A3CC18D19B0641900D14AEF /* UserMediaPermissionRequestProxy.h in Headers */,
    1117811173                                074E75FE1DF2211900D318EC /* UserMediaProcessManager.h in Headers */,
    11179                                 E4E864931B16750700C82F40 /* VersionChecks.h in Headers */,
    1118011174                                52D5A1B01C57495A00DE34A3 /* VideoFullscreenManagerProxy.h in Headers */,
    1118111175                                2D125C5E1857EA05003BA3CB /* ViewGestureController.h in Headers */,
  • trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

    r267960 r267966  
    6969#import <WebCore/SystemBattery.h>
    7070#import <WebCore/UTIUtilities.h>
     71#import <WebCore/VersionChecks.h>
    7172#import <algorithm>
    7273#import <dispatch/dispatch.h>
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r267938 r267966  
     12020-10-05  Alex Christensen  <achristensen@webkit.org>
     2
     3        Unify linkedOnOrAfter duplicate code and use SPI/WebCoreTestSupport instead of NSUserDefaults
     4        https://bugs.webkit.org/show_bug.cgi?id=217239
     5
     6        Reviewed by Darin Adler.
     7
     8        * DefaultDelegates/WebDefaultUIDelegate.mm:
     9        (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
     10        * Misc/WebIconDatabase.mm:
     11        (+[WebIconDatabase sharedIconDatabase]):
     12        * Misc/WebKitVersionChecks.h:
     13        * Misc/WebKitVersionChecks.mm:
     14        (WebKitLinkTimeVersion):
     15        (linkedOnOrAfter): Deleted.
     16        * WebView/WebPreferencesDefaultValues.mm:
     17        (WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
     18        (WebKit::defaultShouldRestrictBaseURLSchemes):
     19
    1202020-10-03  Yusuke Suzuki  <ysuzuki@apple.com>
    221
  • trunk/Source/WebKitLegacy/mac/DefaultDelegates/WebDefaultUIDelegate.mm

    r248139 r267966  
    3535#if !PLATFORM(IOS_FAMILY)
    3636#import "WebJavaScriptTextInputPanel.h"
    37 #import "WebKitVersionChecks.h"
     37#import <WebCore/VersionChecks.h>
    3838#endif
    3939
     
    217217}
    218218
    219 
    220219#if !PLATFORM(IOS_FAMILY)
    221220- (NSUInteger)webView:(WebView *)webView dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo
    222221{
    223     if (!linkedOnOrAfter(SDKVersion::FirstWithDropToNavigateDisallowedByDefault))
     222    if (!linkedOnOrAfter(WebCore::SDKVersion::FirstWithDropToNavigateDisallowedByDefault))
    224223        return WebDragDestinationActionAny;
    225224
  • trunk/Source/WebKitLegacy/mac/Misc/WebIconDatabase.mm

    r267938 r267966  
    3131#import "WebIconDatabase.h"
    3232
    33 #import "WebKitVersionChecks.h"
    3433#import <JavaScriptCore/InitializeThreading.h>
    3534#import <WebCore/Image.h>
    3635#import <WebCore/ThreadCheck.h>
     36#import <WebCore/VersionChecks.h>
    3737#import <WebCore/WebCoreJITOperations.h>
    3838#import <wtf/MainThread.h>
     
    109109    static dispatch_once_t once;
    110110    dispatch_once(&once, ^ {
    111         if (linkedOnOrAfter(SDKVersion::FirstWithWebIconDatabaseWarning))
     111        if (linkedOnOrAfter(WebCore::SDKVersion::FirstWithWebIconDatabaseWarning))
    112112            NSLog(@"+[WebIconDatabase sharedIconDatabase] is not API and should not be used. WebIconDatabase no longer handles icon loading and it will be removed in a future release.");
    113113
  • trunk/Source/WebKitLegacy/mac/Misc/WebKitVersionChecks.h

    r256191 r267966  
    7373#endif // PLATFORM(IOS_FAMILY)
    7474
    75 enum class SDKVersion : uint32_t {
    76 #if PLATFORM(IOS_FAMILY)
    77     FirstThatDefaultsToPassiveTouchListenersOnDocument = DYLD_IOS_VERSION_11_3,
    78     FirstThatRestrictsBaseURLSchemes = DYLD_IOS_VERSION_13_4,
    79 #else
    80     FirstWithDropToNavigateDisallowedByDefault = DYLD_MACOSX_VERSION_10_13,
    81     FirstWithWebIconDatabaseWarning = DYLD_MACOSX_VERSION_10_13,
    82     FirstThatRestrictsBaseURLSchemes = DYLD_MACOSX_VERSION_10_15_4,
    83 #endif
    84 };
    85 
    86 bool linkedOnOrAfter(SDKVersion);
    87 
    8875#ifdef __cplusplus
    8976extern "C" {
  • trunk/Source/WebKitLegacy/mac/Misc/WebKitVersionChecks.mm

    r256054 r267966  
    6969#endif
    7070}
    71 
    72 bool linkedOnOrAfter(SDKVersion sdkVersion)
    73 {
    74     static bool linkedOnOrAfterEverything;
    75     static std::once_flag once;
    76     std::call_once(once, [] {
    77         if ([[NSUserDefaults standardUserDefaults] boolForKey:@"WebKitLinkedOnOrAfterEverything"])
    78             linkedOnOrAfterEverything = true;
    79     });
    80     if (UNLIKELY(linkedOnOrAfterEverything))
    81         return true;
    82     return dyld_get_program_sdk_version() >= static_cast<uint32_t>(sdkVersion);
    83 }
  • trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.mm

    r267689 r267966  
    2626#import "WebPreferencesDefaultValues.h"
    2727
    28 #import "WebKitVersionChecks.h"
    2928#import <Foundation/NSBundle.h>
    3029#import <WebCore/RuntimeApplicationChecks.h>
     30#import <WebCore/VersionChecks.h>
    3131#import <mach-o/dyld.h>
    3232#import <pal/spi/cocoa/FeatureFlagsSPI.h>
     
    129129bool defaultPassiveTouchListenersAsDefaultOnDocument()
    130130{
    131     return linkedOnOrAfter(SDKVersion::FirstThatDefaultsToPassiveTouchListenersOnDocument);
     131    return linkedOnOrAfter(WebCore::SDKVersion::FirstThatDefaultsToPassiveTouchListenersOnDocument);
    132132}
    133133
     
    158158bool defaultShouldRestrictBaseURLSchemes()
    159159{
    160     static bool shouldRestrictBaseURLSchemes = linkedOnOrAfter(SDKVersion::FirstThatRestrictsBaseURLSchemes);
     160    static bool shouldRestrictBaseURLSchemes = linkedOnOrAfter(WebCore::SDKVersion::FirstThatRestrictsBaseURLSchemes);
    161161    return shouldRestrictBaseURLSchemes;
    162162}
  • trunk/Tools/ChangeLog

    r267963 r267966  
     12020-10-05  Alex Christensen  <achristensen@webkit.org>
     2
     3        Unify linkedOnOrAfter duplicate code and use SPI/WebCoreTestSupport instead of NSUserDefaults
     4        https://bugs.webkit.org/show_bug.cgi?id=217239
     5
     6        Reviewed by Darin Adler.
     7
     8        * DumpRenderTree/mac/DumpRenderTree.mm:
     9        (setDefaultsToConsistentValuesForTesting):
     10        (DumpRenderTreeMain):
     11        * MiniBrowser/mac/main.m:
     12        (main):
     13        * MobileMiniBrowser/MobileMiniBrowser/main.m:
     14        (main):
     15        * TestWebKitAPI/Configurations/TestWTF.xcconfig:
     16        * TestWebKitAPI/ios/mainIOS.mm:
     17        (main):
     18        * TestWebKitAPI/mac/mainMac.mm:
     19        (main):
     20        * WebKitTestRunner/ios/mainIOS.mm:
     21        (main):
     22        * WebKitTestRunner/mac/main.mm:
     23        (setDefaultsToConsistentValuesForTesting):
     24        (main):
     25
    1262020-10-05  Alex Christensen  <achristensen@webkit.org>
    227
  • trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm

    r267860 r267966  
    10191019        WebKitAllowsInlineMediaPlaybackPreferenceKey: @YES,
    10201020        WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey: @NO,
    1021         @"WebKitLinkedOnOrAfterEverything": @YES,
    10221021        @"UseWebKitWebInspector": @YES,
    10231022#if !PLATFORM(IOS_FAMILY)
     
    13911390    WTF::setProcessPrivileges(allPrivileges());
    13921391    WebCore::NetworkStorageSession::permitProcessToUseCookieAPI(true);
     1392    WebCoreTestSupport::setLinkedOnOrAfterEverythingForTesting();
    13931393
    13941394#if PLATFORM(IOS_FAMILY)
  • trunk/Tools/MiniBrowser/mac/main.m

    r212134 r267966  
    2525
    2626#import <Cocoa/Cocoa.h>
     27#import <WebKit/WKProcessPoolPrivate.h>
    2728
    2829int main(int argc, char *argv[])
    2930{
    30     [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"WebKitLinkedOnOrAfterEverything"];
     31    [WKProcessPool _setLinkedOnOrAfterEverythingForTesting];
    3132
    3233    return NSApplicationMain(argc,  (const char **) argv);
  • trunk/Tools/MobileMiniBrowser/MobileMiniBrowser/main.m

    r212134 r267966  
    2525
    2626#import <MobileMiniBrowser/MobileMiniBrowser.h>
     27#import <WebKit/WKProcessPoolPrivate.h>
    2728
    2829int main(int argc, char * argv[])
    2930{
    30     [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"WebKitLinkedOnOrAfterEverything"];
     31    [WKProcessPool _setLinkedOnOrAfterEverythingForTesting];
    3132
    3233    @autoreleasepool {
  • trunk/Tools/TestWebKitAPI/Configurations/TestWTF.xcconfig

    r263961 r267966  
    2828GCC_ENABLE_OBJC_EXCEPTIONS = YES;
    2929
     30GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BUILDING_TEST_WTF
     31
    3032UNEXPORTED_SYMBOL_LDFLAGS = -Wl,-unexported_symbol -Wl,__ZN7testing4Test16TearDownTestCaseEv -Wl,-unexported_symbol -Wl,__ZN7testing4Test13SetUpTestCaseEv
    3133
  • trunk/Tools/TestWebKitAPI/ios/mainIOS.mm

    r259843 r267966  
    2727#import "TestsController.h"
    2828
     29#import <WebKit/WKProcessPoolPrivate.h>
     30
    2931int main(int argc, char** argv)
    3032{
     
    3739    if (!argumentDomain)
    3840        argumentDomain = [[NSMutableDictionary alloc] init];
    39    
    40     NSDictionary *dict = @{ @"WebKitLinkedOnOrAfterEverything": @YES };
    4141
    42     [argumentDomain addEntriesFromDictionary:dict];
    4342    [[NSUserDefaults standardUserDefaults] setVolatileDomain:argumentDomain forName:NSArgumentDomain];
     43
     44#ifndef BUILDING_TEST_WTF
     45    [WKProcessPool _setLinkedOnOrAfterEverythingForTesting];
     46#endif
    4447
    4548    bool passed = TestWebKitAPI::TestsController::singleton().run(argc, argv);
  • trunk/Tools/TestWebKitAPI/mac/mainMac.mm

    r262800 r267966  
    2727#import "TestsController.h"
    2828
     29#import <WebKit/WKProcessPoolPrivate.h>
     30
    2931extern "C" void _BeginEventReceiptOnThread(void);
    3032
     
    4345    // Web Content process. Those listed below are propagated manually.
    4446    NSDictionary *dict = @{
    45         @"WebKitLinkedOnOrAfterEverything": @YES,
    46 
    4747        // FIXME: We should switch these defaults to use overlay
    4848        // scrollbars, since they are the default on the platform,
     
    5555    [[NSUserDefaults standardUserDefaults] setVolatileDomain:argumentDomain forName:NSArgumentDomain];
    5656
     57#ifndef BUILDING_TEST_WTF
     58    [WKProcessPool _setLinkedOnOrAfterEverythingForTesting];
     59#endif
     60
    5761    [NSApplication sharedApplication];
    5862    _BeginEventReceiptOnThread(); // Makes window visibility notifications work (and possibly more).
  • trunk/Tools/WebKitTestRunner/ios/mainIOS.mm

    r265441 r267966  
    2929#import "TestController.h"
    3030#import "UIKitSPI.h"
     31#import <WebKit/WKProcessPoolPrivate.h>
    3132
    3233static int _argc;
     
    6970    _argv = argv;
    7071
    71     @autoreleasepool {
    72         [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"WebKitLinkedOnOrAfterEverything"];
    73     }
     72    [WKProcessPool _setLinkedOnOrAfterEverythingForTesting];
    7473
    7574    UIApplicationMain(argc, (char**)argv, @"WebKitTestRunnerApp", @"WebKitTestRunnerApp");
  • trunk/Tools/WebKitTestRunner/mac/main.mm

    r258414 r267966  
    3030#import "PlatformWebView.h"
    3131#import "TestController.h"
     32#import <WebKit/WKProcessPoolPrivate.h>
    3233
    3334static void setDefaultsToConsistentValuesForTesting()
     
    4243        @"com.apple.swipescrolldirection": @1,
    4344        @"com.apple.trackpad.forceClick": @1,
    44         @"WebKitLinkedOnOrAfterEverything": @YES,
    4545        @"NSScrollAnimationEnabled": @NO,
    4646        @"NSOverlayScrollersEnabled": @NO,
     
    6666        setDefaultsToConsistentValuesForTesting();
    6767        disableAppNapInUIProcess(); // For secondary processes, app nap is disabled using WKPreferencesSetPageVisibilityBasedProcessSuppressionEnabled().
     68        [WKProcessPool _setLinkedOnOrAfterEverythingForTesting];
    6869    }
    6970    WTR::TestController controller(argc, argv);
Note: See TracChangeset for help on using the changeset viewer.