WebKit Bugzilla
Attachment 359472 Details for
Bug 193568
: Switch remaining UIKit soft-linking in WebCore, WebKitLegacy over to UIKitSoftLink.{cpp,h}
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch v1
bug-193568-20190118042418.patch (text/plain), 75.39 KB, created by
David Kilzer (:ddkilzer)
on 2019-01-18 04:24:19 PST
(
hide
)
Description:
Patch v1
Filename:
MIME Type:
Creator:
David Kilzer (:ddkilzer)
Created:
2019-01-18 04:24:19 PST
Size:
75.39 KB
patch
obsolete
>Subversion Revision: 240054 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 9ef8e485c8bb3f0cd142bbf945b23f471177bd19..f15979650a1fa4b3f2876eae10e4bcef660e80b9 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,83 @@ >+2019-01-18 David Kilzer <ddkilzer@apple.com> >+ >+ Switch remaining UIKit soft-linking in WebCore, WebKitLegacy over to UIKitSoftLink.{cpp,h} >+ <https://webkit.org/b/193568> >+ <rdar://problem/47381130> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This does the following: >+ - Removes local soft-linking of UIKit. >+ - Switches to using PAL functions for soft-linking. >+ >+ * SourcesCocoa.txt: Add 4 source files to UnifiedSources. >+ * WebCore.xcodeproj/project.pbxproj: Remove 4 sources files >+ from WebCore target now that they are in UnifiedSources. >+ * editing/cocoa/DictionaryLookup.mm: >+ * editing/cocoa/HTMLConverter.mm: Move SPI to UIKitSPI.h. Remove >+ declarations in public headers. >+ (_fontForNameAndSize): Change use of getUIFontClass() to >+ PlatformFontClass. >+ (HTMLConverter::_processElement): Add cast here since compiler >+ thought `color` was a `CIColor *` object. >+ * page/cocoa/SettingsBaseCocoa.mm: >+ (WebCore::SettingsBase::defaultTextAutosizingEnabled): >+ * platform/audio/ios/MediaSessionManagerIOS.mm: >+ (-[WebMediaSessionHelper initWithCallback:]): >+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: >+ (WebCore::exernalDeviceDisplayNameForPlayer): >+ * platform/graphics/cocoa/FontCascadeCocoa.mm: >+ (WebCore::showLetterpressedGlyphsWithAdvances): >+ * platform/ios/DragImageIOS.mm: >+ (WebCore::scaleDragImage): >+ (WebCore::createDragImageFromImage): >+ (WebCore::cascadeForSystemFont): >+ (WebCore::createDragImageForLink): >+ (WebCore::createDragImageForSelection): >+ (WebCore::createDragImageForRange): >+ (WebCore::createDragImageForColor): >+ * platform/ios/PlatformPasteboardIOS.mm: >+ (WebCore::PlatformPasteboard::PlatformPasteboard): >+ (WebCore::PlatformPasteboard::color): >+ (WebCore::registerItemToPasteboard): >+ (WebCore::PlatformPasteboard::setColor): >+ * platform/ios/ThemeIOS.mm: >+ (WebCore::ThemeIOS::userPrefersReducedMotion const): >+ * platform/ios/UserAgentIOS.mm: >+ (WebCore::isClassic): >+ (WebCore::isClassicPad): >+ (WebCore::isClassicPhone): >+ * platform/ios/ValidationBubbleIOS.mm: >+ (-[WebValidationBubbleTapRecognizer initWithPopoverController:]): >+ (WebCore::ValidationBubble::ValidationBubble): >+ (WebCore::ValidationBubble::show): >+ (WebCore::fallbackViewController): >+ * platform/ios/VideoFullscreenInterfaceAVKit.mm: >+ (clearUIColor): >+ (allocWebAVPictureInPicturePlayerLayerViewInstance): >+ (WebAVPlayerLayerView_videoView): >+ (fallbackViewController): >+ (VideoFullscreenInterfaceAVKit::doSetup): >+ * platform/ios/WebEvent.mm: >+ (+[WebEvent modifierFlags]): >+ * platform/ios/WebItemProviderPasteboard.mm: >+ (allLoadableClasses): >+ * platform/ios/WebVideoFullscreenControllerAVKit.mm: >+ (VideoFullscreenControllerContext::setUpFullscreen): >+ * platform/network/mac/WebCoreURLResponse.mm: Add missing header >+ after unified sources were updated. >+ * rendering/RenderThemeIOS.mm: >+ (WebCore::contentSizeCategoryDidChange): >+ (WebCore::RenderThemeIOS::RenderThemeIOS): >+ (WebCore::RenderThemeIOS::contentSizeCategory): >+ (WebCore::RenderThemeIOS::systemColor const): >+ (WebCore::attachmentActionColor): >+ (WebCore::attachmentTitleColor): >+ (WebCore::attachmentSubtitleColor): >+ (WebCore::iconForAttachment): >+ * testing/Internals.mm: >+ (WebCore::Internals::userPrefersReducedMotion const): >+ > 2019-01-16 Alex Christensen <achristensen@webkit.org> > > Internal build fix. >diff --git a/Source/WebCore/PAL/ChangeLog b/Source/WebCore/PAL/ChangeLog >index c1a3f6ba974dd89949427b783c1cab02e7813648..2cceb52644a7e4e60942b1f3bf898fc61df317d4 100644 >--- a/Source/WebCore/PAL/ChangeLog >+++ b/Source/WebCore/PAL/ChangeLog >@@ -1,3 +1,21 @@ >+2019-01-18 David Kilzer <ddkilzer@apple.com> >+ >+ Switch remaining UIKit soft-linking in WebCore, WebKitLegacy over to UIKitSoftLink.{cpp,h} >+ <https://webkit.org/b/193568> >+ <rdar://problem/47381130> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * pal/ios/UIKitSoftLink.h: >+ * pal/ios/UIKitSoftLink.mm: >+ - Add constants, classes and functions that were previously >+ soft-linked in separate source files. >+ - UIAccessibilityAnnouncementNotification is declared as a >+ variable because this constant is not marked as `const` in >+ UIKit. >+ * pal/spi/ios/UIKitSPI.h: >+ - Move SPI declarations from HTMLConverter.mm to here. >+ > 2019-01-16 Tim Horton <timothy_horton@apple.com> > > Unreviewed build fix. >diff --git a/Source/WebKitLegacy/mac/ChangeLog b/Source/WebKitLegacy/mac/ChangeLog >index d146bebea7ea6d0668a3601703350c2f65789187..a72cd77b44d5162f95da068074603e6e876b65f5 100644 >--- a/Source/WebKitLegacy/mac/ChangeLog >+++ b/Source/WebKitLegacy/mac/ChangeLog >@@ -1,3 +1,17 @@ >+2019-01-18 David Kilzer <ddkilzer@apple.com> >+ >+ Switch remaining UIKit soft-linking in WebCore, WebKitLegacy over to UIKitSoftLink.{cpp,h} >+ <https://webkit.org/b/193568> >+ <rdar://problem/47381130> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * WebView/WebView.mm: >+ - Remove unused soft-linking macros. >+ (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]): >+ (-[WebUITextIndicatorData initWithImage:scale:]): >+ - Update to use exported PAL functions. >+ > 2019-01-15 Alex Christensen <achristensen@webkit.org> > > Reduce use of NetworkStorageSession::defaultStorageSession in WebCore >diff --git a/Source/WebCore/PAL/pal/ios/UIKitSoftLink.h b/Source/WebCore/PAL/pal/ios/UIKitSoftLink.h >index 5521944ced031d91b097afc9f922f5147f83c875..21f414b77bc6d37a908d61819e95e33f36dec94c 100644 >--- a/Source/WebCore/PAL/pal/ios/UIKitSoftLink.h >+++ b/Source/WebCore/PAL/pal/ios/UIKitSoftLink.h >@@ -30,15 +30,39 @@ > #import <pal/spi/ios/UIKitSPI.h> > #import <wtf/SoftLinking.h> > >+@class CUICatalog; >+ > SOFT_LINK_FRAMEWORK_FOR_HEADER(PAL, UIKit) > >+SOFT_LINK_CONSTANT_FOR_HEADER(PAL, UIKit, UIApplicationWillResignActiveNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_HEADER(PAL, UIKit, UIApplicationWillEnterForegroundNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_HEADER(PAL, UIKit, UIApplicationDidBecomeActiveNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_HEADER(PAL, UIKit, UIApplicationDidEnterBackgroundNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_HEADER(PAL, UIKit, UIContentSizeCategoryDidChangeNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_HEADER(PAL, UIKit, UIFontTextStyleCallout, UIFontTextStyle) >+SOFT_LINK_CONSTANT_FOR_HEADER(PAL, UIKit, UITextEffectsBeneathStatusBarWindowLevel, UIWindowLevel) > SOFT_LINK_CLASS_FOR_HEADER(PAL, NSParagraphStyle) > SOFT_LINK_CLASS_FOR_HEADER(PAL, NSShadow) > SOFT_LINK_CLASS_FOR_HEADER(PAL, NSTextList) > SOFT_LINK_CLASS_FOR_HEADER(PAL, UIApplication) >-SOFT_LINK_CLASS_FOR_HEADER(PAL, UIScreen) > SOFT_LINK_CLASS_FOR_HEADER(PAL, UIColor) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIDevice) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIDocumentInteractionController) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIFont) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIGraphicsImageRenderer) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIImage) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UILabel) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIPasteboard) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIScreen) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UITapGestureRecognizer) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIView) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIViewController) >+SOFT_LINK_CLASS_FOR_HEADER(PAL, UIWindow) >+SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, _UIKitGetTextEffectsCatalog, CUICatalog *, (void), ()) > SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIAccessibilityIsGrayscaleEnabled, BOOL, (void), ()) > SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIAccessibilityIsInvertColorsEnabled, BOOL, (void), ()) >+SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIAccessibilityIsReduceMotionEnabled, BOOL, (void), ()) >+SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIAccessibilityPostNotification, void, (UIAccessibilityNotifications n, id argument), (n, argument)) >+SOFT_LINK_VARIABLE_FOR_HEADER(PAL, UIKit, UIAccessibilityAnnouncementNotification, UIAccessibilityNotifications) > > #endif >diff --git a/Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm b/Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm >index 10e00bb417411d17de451c7591c7f968c3ddbc5d..143b8eb900f5cdec44e7fe249edcab6794f0c7c9 100644 >--- a/Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm >+++ b/Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm >@@ -30,15 +30,39 @@ > #import <pal/spi/ios/UIKitSPI.h> > #import <wtf/SoftLinking.h> > >+@class CUICatalog; >+ > SOFT_LINK_FRAMEWORK_FOR_SOURCE(PAL, UIKit) > >+SOFT_LINK_CONSTANT_FOR_SOURCE(PAL, UIKit, UIApplicationWillResignActiveNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_SOURCE(PAL, UIKit, UIApplicationWillEnterForegroundNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_SOURCE(PAL, UIKit, UIApplicationDidBecomeActiveNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_SOURCE(PAL, UIKit, UIApplicationDidEnterBackgroundNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_SOURCE(PAL, UIKit, UIContentSizeCategoryDidChangeNotification, NSNotificationName) >+SOFT_LINK_CONSTANT_FOR_SOURCE(PAL, UIKit, UIFontTextStyleCallout, UIFontTextStyle) >+SOFT_LINK_CONSTANT_FOR_SOURCE(PAL, UIKit, UITextEffectsBeneathStatusBarWindowLevel, UIWindowLevel) > SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, NSParagraphStyle) > SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, NSShadow) > SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, NSTextList) > SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIApplication) >+SOFT_LINK_CLASS_FOR_SOURCE_WITH_EXPORT(PAL, UIKit, UIColor, PAL_EXPORT) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIDevice) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIDocumentInteractionController) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIFont) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIGraphicsImageRenderer) >+SOFT_LINK_CLASS_FOR_SOURCE_WITH_EXPORT(PAL, UIKit, UIImage, PAL_EXPORT) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UILabel) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIPasteboard) > SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIScreen) >-SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIColor) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UITapGestureRecognizer) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIView) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIViewController) >+SOFT_LINK_CLASS_FOR_SOURCE(PAL, UIKit, UIWindow) >+SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, UIKit, _UIKitGetTextEffectsCatalog, CUICatalog *, (void), ()) > SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, UIKit, UIAccessibilityIsGrayscaleEnabled, BOOL, (void), ()) > SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, UIKit, UIAccessibilityIsInvertColorsEnabled, BOOL, (void), ()) >+SOFT_LINK_FUNCTION_FOR_SOURCE_WITH_EXPORT(PAL, UIKit, UIAccessibilityIsReduceMotionEnabled, BOOL, (void), (), PAL_EXPORT) >+SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, UIKit, UIAccessibilityPostNotification, void, (UIAccessibilityNotifications n, id argument), (n, argument)) >+SOFT_LINK_VARIABLE_FOR_SOURCE(PAL, UIKit, UIAccessibilityAnnouncementNotification, UIAccessibilityNotifications) > > #endif >diff --git a/Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h b/Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h >index a427913f47743853e4647b52ec66d8261bfe5bf9..359ef43215fed8bac1d59c330fc81fef13ecf3be 100644 >--- a/Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h >+++ b/Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h >@@ -32,10 +32,12 @@ WTF_EXTERN_C_END > #if USE(APPLE_INTERNAL_SDK) > > #import <UIKit/NSParagraphStyle_Private.h> >+#import <UIKit/NSTextAttachment_Private.h> > #import <UIKit/NSTextList.h> > #import <UIKit/UIApplicationSceneConstants.h> > #import <UIKit/UIApplication_Private.h> > #import <UIKit/UIColor_Private.h> >+#import <UIKit/UIFont_Private.h> > #import <UIKit/UIInterface_Private.h> > #import <UIKit/UIScreen_Private.h> > #import <UIKit/UIViewController_Private.h> >@@ -66,6 +68,15 @@ typedef NS_ENUM(NSInteger, UIApplicationSceneClassicMode) { > UIApplicationSceneClassicModeOriginalPad = 4, > }; > >+typedef enum { >+ UIFontTraitPlain = 0x00000000, >+ UIFontTraitItalic = 0x00000001, // 1 << 0 >+ UIFontTraitBold = 0x00000002, // 1 << 1 >+ UIFontTraitThin = (1 << 2), >+ UIFontTraitLight = (1 << 3), >+ UIFontTraitUltraLight = (1 << 4) >+} UIFontTrait; >+ > @interface NSParagraphStyle () > - (NSArray *)textLists; > @end >@@ -74,6 +85,10 @@ typedef NS_ENUM(NSInteger, UIApplicationSceneClassicMode) { > - (void)setTextLists:(NSArray *)textLists; > @end > >+@interface NSTextAttachment () >+- (id)initWithFileWrapper:(NSFileWrapper *)fileWrapper; >+@end >+ > @interface NSTextList : NSObject > - (instancetype)initWithMarkerFormat:(NSString *)format options:(NSUInteger)mask; > @property (readonly, copy) NSString *markerFormat; >@@ -98,6 +113,14 @@ typedef NS_ENUM(NSInteger, UIApplicationSceneClassicMode) { > > + (UIColor *)_disambiguated_due_to_CIImage_colorWithCGColor:(CGColorRef)cgColor; > >+- (CGFloat)alphaComponent; >+ >+@end >+ >+@interface UIFont () >+ >++ (UIFont *)fontWithFamilyName:(NSString *)familyName traits:(UIFontTrait)traits size:(CGFloat)fontSize; >+ > @end > > @interface UIScreen () >diff --git a/Source/WebCore/SourcesCocoa.txt b/Source/WebCore/SourcesCocoa.txt >index 2005c9a92e16fe7171f7a7bbdf4b7bbdfda5b9e7..e120ecf1e4168b9c58222aa9a3704ced7116d4c4 100644 >--- a/Source/WebCore/SourcesCocoa.txt >+++ b/Source/WebCore/SourcesCocoa.txt >@@ -415,15 +415,15 @@ platform/ios/ScrollbarThemeIOS.mm > platform/ios/ScrollViewIOS.mm > platform/ios/SelectionRect.cpp > platform/ios/SystemMemoryIOS.cpp >-platform/ios/ThemeIOS.mm @no-unify >+platform/ios/ThemeIOS.mm > platform/ios/TileControllerMemoryHandlerIOS.cpp >-platform/ios/UserAgentIOS.mm @no-unify >-platform/ios/ValidationBubbleIOS.mm @no-unify >+platform/ios/UserAgentIOS.mm >+platform/ios/ValidationBubbleIOS.mm > platform/ios/VideoFullscreenInterfaceAVKit.mm @no-unify > platform/ios/WebAVPlayerController.mm > platform/ios/WebBackgroundTaskController.mm > platform/ios/WebCoreMotionManager.mm >-platform/ios/WebEvent.mm @no-unify >+platform/ios/WebEvent.mm > platform/ios/WebItemProviderPasteboard.mm @no-unify > platform/ios/WebSQLiteDatabaseTrackerClient.mm > platform/ios/WebVideoFullscreenControllerAVKit.mm >diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >index ce49fdf3e41997091612168be35d51b8cbcf3b6e..446d6821b9bb0a40fe5cf9bfdb1caec89bcc2a28 100644 >--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj >+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >@@ -809,7 +809,6 @@ > 2D8FEBDD143E3EF70072502B /* CSSCrossfadeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D8FEBDB143E3EF70072502B /* CSSCrossfadeValue.h */; }; > 2D9066070BE141D400956998 /* RenderLayoutState.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D9066050BE141D400956998 /* RenderLayoutState.h */; settings = {ATTRIBUTES = (Private, ); }; }; > 2D92A79A2134AD7900F493FD /* QuickLookSoftLink.mm in Sources */ = {isa = PBXBuildFile; fileRef = 443917FD1A91B2F8006E04F2 /* QuickLookSoftLink.mm */; }; >- 2D92A79D2134AF9500F493FD /* UserAgentIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = A3AF9D8320325691006CAD06 /* UserAgentIOS.mm */; }; > 2D93AEE319DF5641002A86C3 /* ServicesOverlayController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D93AEE119DF5641002A86C3 /* ServicesOverlayController.h */; }; > 2D97F04719DD413C001EE9C3 /* MockPageOverlayClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2DAAE32C19DCAF6000E002D2 /* MockPageOverlayClient.cpp */; }; > 2D97F04819DD4140001EE9C3 /* MockPageOverlayClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DAAE32D19DCAF6000E002D2 /* MockPageOverlayClient.h */; }; >@@ -1229,7 +1228,6 @@ > 44A28AAF12DFB8BF00AE923B /* MathMLNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 44A28AAE12DFB8BF00AE923B /* MathMLNames.h */; }; > 44C991860F3D1EBE00586670 /* ScrollbarThemeIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 44C991850F3D1EBE00586670 /* ScrollbarThemeIOS.h */; }; > 44C9919F0F3D210E00586670 /* ThemeIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 44C9919D0F3D210E00586670 /* ThemeIOS.h */; }; >- 44C991A00F3D210E00586670 /* ThemeIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 44C9919E0F3D210E00586670 /* ThemeIOS.mm */; }; > 44DAB5B215A623580097C1E4 /* Extensions3DOpenGLCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 44DAB5B015A623580097C1E4 /* Extensions3DOpenGLCommon.h */; }; > 450CEBF115073BBE002BB149 /* LabelableElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 450CEBEF15073BBE002BB149 /* LabelableElement.h */; settings = {ATTRIBUTES = (Private, ); }; }; > 4512502315DCE37D002F84E2 /* SpinButtonElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 4512502115DCE37D002F84E2 /* SpinButtonElement.h */; }; >@@ -2436,7 +2434,6 @@ > 8379363F1FBBB0B400C8023C /* ServiceWorkerClientData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8379363E1FBBB0A500C8023C /* ServiceWorkerClientData.h */; settings = {ATTRIBUTES = (Private, ); }; }; > 837964CF1F8DB69D00218EA0 /* GeolocationPositionIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 837964CE1F8DB69A00218EA0 /* GeolocationPositionIOS.mm */; }; > 837A80131E1E127300026B9F /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 837A80111E1E127300026B9F /* Localizable.stringsdict */; }; >- 837B7D201DC3F55000D051FC /* ValidationBubbleIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 837B7D1F1DC3F54C00D051FC /* ValidationBubbleIOS.mm */; }; > 837D46271FA2A8CE0054E1FA /* ServiceWorkerClientIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 837D46251FA2A8C50054E1FA /* ServiceWorkerClientIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; }; > 837FB3451F9EA06D00D0FC31 /* ExtendableMessageEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 837FB3401F9EA06600D0FC31 /* ExtendableMessageEvent.h */; }; > 8386A96D19F61B2E00E1EC4A /* StyleBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8386A96C19F61B2E00E1EC4A /* StyleBuilder.h */; }; >@@ -4202,7 +4199,6 @@ > CE08C3D2152B599A0021B8C2 /* AlternativeTextController.h in Headers */ = {isa = PBXBuildFile; fileRef = CE08C3D0152B599A0021B8C2 /* AlternativeTextController.h */; settings = {ATTRIBUTES = (); }; }; > CE1866451F72E5B400A0CAB6 /* MarkedText.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1866431F72E5B400A0CAB6 /* MarkedText.h */; settings = {ATTRIBUTES = (Private, ); }; }; > CE2849871CA360DF00B4A57F /* ContentSecurityPolicyDirectiveNames.h in Headers */ = {isa = PBXBuildFile; fileRef = CE2849861CA360DF00B4A57F /* ContentSecurityPolicyDirectiveNames.h */; }; >- CE4ECCD6215AA81200558C41 /* WebEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = FE0D84EA1048436E001A179E /* WebEvent.mm */; }; > CE5FA255209E48C50051D700 /* ContentSecurityPolicyClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CE5FA253209E48C50051D700 /* ContentSecurityPolicyClient.h */; settings = {ATTRIBUTES = (Private, ); }; }; > CE6DADFA1C591E6A003F6A88 /* ContentSecurityPolicyResponseHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = CE6DADF81C591E6A003F6A88 /* ContentSecurityPolicyResponseHeaders.h */; settings = {ATTRIBUTES = (Private, ); }; }; > CE799F981C6A46BC0097B518 /* ContentSecurityPolicySourceList.h in Headers */ = {isa = PBXBuildFile; fileRef = CE799F961C6A46BC0097B518 /* ContentSecurityPolicySourceList.h */; }; >@@ -32814,7 +32810,6 @@ > 9759E94514EF1CF80026A2DD /* TextTrackCueList.cpp in Sources */, > 076970861463AD8700F502CF /* TextTrackList.cpp in Sources */, > CD1E7347167BC78E009A885D /* TextTrackRepresentation.cpp in Sources */, >- 44C991A00F3D210E00586670 /* ThemeIOS.mm in Sources */, > 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, > 070334D9145A006F008D8D45 /* TrackBase.cpp in Sources */, > 070334D31459FFAD008D8D45 /* TrackEvent.cpp in Sources */, >@@ -33412,12 +33407,10 @@ > 2D8B92FD203D13E1009C868F /* UnifiedSource528.cpp in Sources */, > 2D8B92FE203D13E1009C868F /* UnifiedSource529.cpp in Sources */, > 2D8B92FF203D13E1009C868F /* UnifiedSource530.cpp in Sources */, >- 2D92A79D2134AF9500F493FD /* UserAgentIOS.mm in Sources */, > 532042021F9A9F1000B81B2A /* UserAgentScriptsData.cpp in Sources */, > 7C3B79711908757B00B47A2D /* UserMessageHandler.cpp in Sources */, > 7CE68344192143A800F4D928 /* UserMessageHandlerDescriptor.cpp in Sources */, > 7C73FB07191EF417007DE061 /* UserMessageHandlersNamespace.cpp in Sources */, >- 837B7D201DC3F55000D051FC /* ValidationBubbleIOS.mm in Sources */, > 3FBC4AF3189881560046EE38 /* VideoFullscreenInterfaceAVKit.mm in Sources */, > 52D5A18F1C54592300DE34A3 /* VideoFullscreenLayerManagerObjC.mm in Sources */, > BE88E0DE1715D2A200658D98 /* VideoTrack.cpp in Sources */, >@@ -33439,7 +33432,6 @@ > CD7E05221651C28200C1201F /* WebCoreAVFResourceLoader.mm in Sources */, > CD225C0B1C46FBF400140761 /* WebCoreNSURLSession.mm in Sources */, > 93F19B0708245E59001E9ABC /* WebCoreView.m in Sources */, >- CE4ECCD6215AA81200558C41 /* WebEvent.mm in Sources */, > D3F3D36D1A69B7DC0059FC2B /* WebGL2RenderingContext.cpp in Sources */, > 49C7B9C81042D32F0009D447 /* WebGLBuffer.cpp in Sources */, > D08B00E220A282490004BC0A /* WebGLCompressedTextureASTC.cpp in Sources */, >diff --git a/Source/WebCore/editing/cocoa/DictionaryLookup.mm b/Source/WebCore/editing/cocoa/DictionaryLookup.mm >index 0617174d0e307fc2172ea2e098d5ee68899d7384..73464a5fa61bfefd373b16fa2628ac6d78a17ca8 100644 >--- a/Source/WebCore/editing/cocoa/DictionaryLookup.mm >+++ b/Source/WebCore/editing/cocoa/DictionaryLookup.mm >@@ -46,6 +46,7 @@ > #import "VisiblePosition.h" > #import "VisibleSelection.h" > #import "VisibleUnits.h" >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/cg/CoreGraphicsSPI.h> > #import <pal/spi/cocoa/RevealSPI.h> > #import <pal/spi/ios/UIKitSPI.h> >@@ -64,10 +65,6 @@ extern "C" { > SOFT_LINK_PRIVATE_FRAMEWORK(UIKitMacHelper) > SOFT_LINK(UIKitMacHelper, UINSSharedRevealController, id<UINSRevealController>, (void), ()) > >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIApplication) >- >- > #endif // PLATFORM(IOSMAC) > > #if PLATFORM(MAC) >diff --git a/Source/WebCore/editing/cocoa/HTMLConverter.mm b/Source/WebCore/editing/cocoa/HTMLConverter.mm >index fb47eefc995b59cfd81891aab1c2ee57da115766..c86fd738c2810e97c882f2f44a7b6d74d2161f44 100644 >--- a/Source/WebCore/editing/cocoa/HTMLConverter.mm >+++ b/Source/WebCore/editing/cocoa/HTMLConverter.mm >@@ -65,19 +65,16 @@ > #import "TextIterator.h" > #import "VisibleSelection.h" > #import <objc/runtime.h> >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/cocoa/NSAttributedStringSPI.h> >+#import <pal/spi/ios/UIKitSPI.h> > #import <wtf/ASCIICType.h> >-#import <wtf/SoftLinking.h> > #import <wtf/text/StringBuilder.h> > > #if PLATFORM(IOS_FAMILY) > > #import "WAKAppKitStubs.h" > >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIColor) >- >-SOFT_LINK_CLASS(UIFoundation, UIFont) > SOFT_LINK_CLASS(UIFoundation, NSColor) > SOFT_LINK_CLASS(UIFoundation, NSShadow) > SOFT_LINK_CLASS(UIFoundation, NSTextAttachment) >@@ -97,10 +94,10 @@ SOFT_LINK_CLASS(UIFoundation, NSTextTab) > #define PlatformNSTextTable getNSTextTableClass() > #define PlatformNSTextTab getNSTextTabClass() > #define PlatformColor UIColor >-#define PlatformColorClass getUIColorClass() >+#define PlatformColorClass PAL::getUIColorClass() > #define PlatformNSColorClass getNSColorClass() > #define PlatformFont UIFont >-#define PlatformFontClass getUIFontClass() >+#define PlatformFontClass PAL::getUIFontClass() > > #else > >@@ -124,15 +121,6 @@ using namespace HTMLNames; > > #if PLATFORM(IOS_FAMILY) > >-typedef enum { >- UIFontTraitPlain = 0x00000000, >- UIFontTraitItalic = 0x00000001, // 1 << 0 >- UIFontTraitBold = 0x00000002, // 1 << 1 >- UIFontTraitThin = (1 << 2), >- UIFontTraitLight = (1 << 3), >- UIFontTraitUltraLight = (1 << 4) >-} UIFontTrait; >- > enum { > NSTextBlockAbsoluteValueType = 0, // Absolute value in points > NSTextBlockPercentageValueType = 1 // Percentage value (out of 100) >@@ -170,20 +158,6 @@ enum { > }; > typedef NSUInteger NSTextBlockVerticalAlignment; > >-typedef NS_ENUM(NSInteger, NSTextAlignment) { >- NSTextAlignmentLeft = 0, // Visually left aligned >- NSTextAlignmentCenter = 1, // Visually centered >- NSTextAlignmentRight = 2, // Visually right aligned >- NSTextAlignmentJustified = 3, // Fully-justified. The last line in a paragraph is natural-aligned. >- NSTextAlignmentNatural = 4, // Indicates the default alignment for script >-} NS_ENUM_AVAILABLE_IOS(6_0); >- >-typedef NS_ENUM(NSInteger, NSWritingDirection) { >- NSWritingDirectionNatural = -1, // Determines direction using the Unicode Bidi Algorithm rules P2 and P3 >- NSWritingDirectionLeftToRight = 0, // Left to right writing direction >- NSWritingDirectionRightToLeft = 1 // Right to left writing direction >-} NS_ENUM_AVAILABLE_IOS(6_0); >- > enum { > NSEnterCharacter = 0x0003, > NSBackspaceCharacter = 0x0008, >@@ -195,7 +169,6 @@ enum { > NSDeleteCharacter = 0x007f, > NSLineSeparatorCharacter = 0x2028, > NSParagraphSeparatorCharacter = 0x2029, >- NSAttachmentCharacter = 0xFFFC // Replacement character is used for attachments > }; > > enum { >@@ -206,57 +179,17 @@ enum { > }; > typedef NSUInteger NSTextTabType; > >-@interface UIColor : NSObject >-+ (UIColor *)clearColor; >-- (CGFloat)alphaComponent; >-@end >- > @interface NSColor : UIColor > + (id)colorWithCalibratedRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; > @end > >-@interface UIFont >-+ (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize; >-+ (UIFont *)fontWithFamilyName:(NSString *)familyName traits:(UIFontTrait)traits size:(CGFloat)fontSize; >-- (NSString *)familyName; >-- (CGFloat)pointSize; >-- (UIFont *)fontWithSize:(CGFloat)fontSize; >-+ (NSArray *)familyNames; >-+ (NSArray *)fontNamesForFamilyName:(NSString *)familyName; >-+ (UIFont *)systemFontOfSize:(CGFloat)fontSize; >-@end >- >-@interface NSTextTab >+@interface NSTextTab () > - (id)initWithType:(NSTextTabType)type location:(CGFloat)loc; >-- (id)initWithTextAlignment:(NSTextAlignment)alignment location:(CGFloat)loc options:(NSDictionary *)options; >-- (CGFloat)location; >-- (void)release; > @end > >-@interface NSParagraphStyle : NSObject >-+ (NSParagraphStyle *)defaultParagraphStyle; >-- (void)setAlignment:(NSTextAlignment)alignment; >-- (void)setBaseWritingDirection:(NSWritingDirection)writingDirection; >-- (void)setHeadIndent:(CGFloat)aFloat; >-- (CGFloat)headIndent; >+@interface NSParagraphStyle () > - (void)setHeaderLevel:(NSInteger)level; >-- (void)setFirstLineHeadIndent:(CGFloat)aFloat; >-- (void)setTailIndent:(CGFloat)aFloat; >-- (void)setParagraphSpacing:(CGFloat)paragraphSpacing; >-- (void)setTextLists:(NSArray *)array; > - (void)setTextBlocks:(NSArray *)array; >-- (void)setMinimumLineHeight:(CGFloat)aFloat; >-- (NSArray *)textLists; >-- (void)removeTabStop:(NSTextTab *)anObject; >-- (void)addTabStop:(NSTextTab *)anObject; >-- (NSArray *)tabStops; >-- (void)setHyphenationFactor:(float)aFactor; >-@end >- >-@interface NSShadow : NSObject >-- (void)setShadowOffset:(CGSize)size; >-- (void)setShadowBlurRadius:(CGFloat)radius; >-- (void)setShadowColor:(UIColor *)color; > @end > > @interface NSTextBlock : NSObject >@@ -269,28 +202,6 @@ - (void)setBorderColor:(UIColor *)color; // Convenience method sets all e > - (void)setVerticalAlignment:(NSTextBlockVerticalAlignment)alignment; > @end > >-@interface NSTextList >-- (id)initWithMarkerFormat:(NSString *)format options:(NSUInteger)mask; >-- (void)setStartingItemNumber:(NSInteger)itemNum; >-- (NSInteger)startingItemNumber; >-- (NSString *)markerForItemNumber:(NSInteger)itemNum; >-- (void)release; >-@end >- >-@interface NSMutableParagraphStyle : NSParagraphStyle >-- (void)setDefaultTabInterval:(CGFloat)aFloat; >-- (void)setTabStops:(NSArray *)array; >-@end >- >-@interface NSTextAttachment : NSObject >-- (id)initWithFileWrapper:(NSFileWrapper *)fileWrapper; >-#if PLATFORM(IOS_FAMILY) >-- (void)setBounds:(CGRect)bounds; >-@property(retain, nonatomic) NSFileWrapper *fileWrapper; >-#endif >-- (void)release; >-@end >- > @interface NSTextTable : NSTextBlock > - (void)setNumberOfColumns:(NSUInteger)numCols; > - (void)setCollapsesBorders:(BOOL)flag; >@@ -561,7 +472,7 @@ static PlatformFont *_fontForNameAndSize(NSString *fontName, CGFloat size, NSMut > } > } > if (!font && [familyMemberFaceNames count]) >- font = [getUIFontClass() fontWithName:familyName size:size]; >+ font = [PlatformFontClass fontWithName:familyName size:size]; > #else > NSArray *familyMemberArray; > NSString *faceName = [fontName substringFromIndex:(dividingRange.location + dividingRange.length)]; >@@ -1866,7 +1777,7 @@ BOOL HTMLConverter::_processElement(Element& element, NSInteger depth) > } else if (displayValue == "table-row" && [_textTables count] > 0) { > PlatformColor *color = _colorForElement(element, CSSPropertyBackgroundColor); > if (!color) >- color = [PlatformColorClass clearColor]; >+ color = (PlatformColor *)[PlatformColorClass clearColor]; > [_textTableRowBackgroundColors addObject:color]; > } else if (displayValue == "table-cell") { > while ([_textTables count] < [_textBlocks count] + 1) >diff --git a/Source/WebCore/page/cocoa/SettingsBaseCocoa.mm b/Source/WebCore/page/cocoa/SettingsBaseCocoa.mm >index ab923e4e1523f74be1e2faf10d75167fbfa22e0a..179742289bd22b1634c2589d2e7a560abf8f012c 100644 >--- a/Source/WebCore/page/cocoa/SettingsBaseCocoa.mm >+++ b/Source/WebCore/page/cocoa/SettingsBaseCocoa.mm >@@ -30,13 +30,8 @@ > > #if PLATFORM(IOS_FAMILY) > #include "Device.h" >+#include <pal/ios/UIKitSoftLink.h> > #include <pal/spi/ios/UIKitSPI.h> >-#include <wtf/SoftLinking.h> >-#endif >- >-#if PLATFORM(IOS_FAMILY) >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIApplication) > #endif > > namespace WebCore { >@@ -130,7 +125,7 @@ void SettingsBase::initializeDefaultFontFamilies() > > bool SettingsBase::defaultTextAutosizingEnabled() > { >- return !deviceHasIPadCapability() || [[getUIApplicationClass() sharedApplication] _isClassic]; >+ return !deviceHasIPadCapability() || [[PAL::getUIApplicationClass() sharedApplication] _isClassic]; > } > > #endif >diff --git a/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm b/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm >index 56d8516370baea1445e959ac79724fbd38c00836..f3e40456fde6dd6e21f35825b430c71ca7f17192 100644 >--- a/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm >+++ b/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm >@@ -35,13 +35,13 @@ > #import "WebCoreThreadRun.h" > #import <AVFoundation/AVAudioSession.h> > #import <AVFoundation/AVRouteDetector.h> >-#import <UIKit/UIApplication.h> > #import <objc/runtime.h> >+#import <pal/ios/UIKitSoftLink.h> >+#import <pal/spi/ios/UIKitSPI.h> > #import <wtf/BlockObjCExceptions.h> > #import <wtf/MainThread.h> > #import <wtf/RAMSize.h> > #import <wtf/RetainPtr.h> >-#import <wtf/SoftLinking.h> > > SOFT_LINK_FRAMEWORK(AVFoundation) > SOFT_LINK_CLASS(AVFoundation, AVAudioSession) >@@ -59,19 +59,6 @@ SOFT_LINK_CLASS(AVFoundation, AVRouteDetector) > #define AVAudioSessionInterruptionTypeKey getAVAudioSessionInterruptionTypeKey() > #define AVAudioSessionInterruptionOptionKey getAVAudioSessionInterruptionOptionKey() > >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIApplication) >-SOFT_LINK_CONSTANT(UIKit, UIApplicationWillResignActiveNotification, NSString *) >-SOFT_LINK_CONSTANT(UIKit, UIApplicationWillEnterForegroundNotification, NSString *) >-SOFT_LINK_CONSTANT(UIKit, UIApplicationDidBecomeActiveNotification, NSString *) >-SOFT_LINK_CONSTANT(UIKit, UIApplicationDidEnterBackgroundNotification, NSString *) >- >-#define UIApplication getUIApplicationClass() >-#define UIApplicationWillResignActiveNotification getUIApplicationWillResignActiveNotification() >-#define UIApplicationWillEnterForegroundNotification getUIApplicationWillEnterForegroundNotification() >-#define UIApplicationDidBecomeActiveNotification getUIApplicationDidBecomeActiveNotification() >-#define UIApplicationDidEnterBackgroundNotification getUIApplicationDidEnterBackgroundNotification() >- > WEBCORE_EXPORT NSString* WebUIApplicationWillResignActiveNotification = @"WebUIApplicationWillResignActiveNotification"; > WEBCORE_EXPORT NSString* WebUIApplicationWillEnterForegroundNotification = @"WebUIApplicationWillEnterForegroundNotification"; > WEBCORE_EXPORT NSString* WebUIApplicationDidBecomeActiveNotification = @"WebUIApplicationDidBecomeActiveNotification"; >@@ -207,19 +194,19 @@ - (id)initWithCallback:(MediaSessionManageriOS*)callback > NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; > [center addObserver:self selector:@selector(interruption:) name:AVAudioSessionInterruptionNotification object:[AVAudioSession sharedInstance]]; > >- [center addObserver:self selector:@selector(applicationWillEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:nil]; >+ [center addObserver:self selector:@selector(applicationWillEnterForeground:) name:PAL::get_UIKit_UIApplicationWillEnterForegroundNotification() object:nil]; > [center addObserver:self selector:@selector(applicationWillEnterForeground:) name:WebUIApplicationWillEnterForegroundNotification object:nil]; >- [center addObserver:self selector:@selector(applicationDidBecomeActive:) name:UIApplicationDidBecomeActiveNotification object:nil]; >+ [center addObserver:self selector:@selector(applicationDidBecomeActive:) name:PAL::get_UIKit_UIApplicationDidBecomeActiveNotification() object:nil]; > [center addObserver:self selector:@selector(applicationDidBecomeActive:) name:WebUIApplicationDidBecomeActiveNotification object:nil]; >- [center addObserver:self selector:@selector(applicationWillResignActive:) name:UIApplicationWillResignActiveNotification object:nil]; >+ [center addObserver:self selector:@selector(applicationWillResignActive:) name:PAL::get_UIKit_UIApplicationWillResignActiveNotification() object:nil]; > [center addObserver:self selector:@selector(applicationWillResignActive:) name:WebUIApplicationWillResignActiveNotification object:nil]; >- [center addObserver:self selector:@selector(applicationDidEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil]; >+ [center addObserver:self selector:@selector(applicationDidEnterBackground:) name:PAL::get_UIKit_UIApplicationDidEnterBackgroundNotification() object:nil]; > [center addObserver:self selector:@selector(applicationDidEnterBackground:) name:WebUIApplicationDidEnterBackgroundNotification object:nil]; > > // Now playing won't work unless we turn on the delivery of remote control events. > dispatch_async(dispatch_get_main_queue(), ^ { > BEGIN_BLOCK_OBJC_EXCEPTIONS >- [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; >+ [[PAL::getUIApplicationClass() sharedApplication] beginReceivingRemoteControlEvents]; > END_BLOCK_OBJC_EXCEPTIONS > }); > >diff --git a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm >index 2241db1522ac2c1b434a416031d23422e9c900ba..cda369643c368b666b3438ab3f066b420e3f7f9f 100644 >--- a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm >+++ b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm >@@ -103,6 +103,7 @@ > #import <CoreImage/CoreImage.h> > #import <UIKit/UIDevice.h> > #import <mach/mach_port.h> >+#import <pal/ios/UIKitSoftLink.h> > #else > #import <Foundation/NSGeometry.h> > #import <QuartzCore/CoreImage.h> >@@ -315,10 +316,6 @@ SOFT_LINK_CONSTANT(Celestial, AVController_RouteDescriptionKey_AVAudioRouteName, > > #endif // HAVE(CELESTIAL) > >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIDevice) >-#define UIDevice getUIDeviceClass() >- > #endif // PLATFORM(IOS_FAMILY) > > using namespace WebCore; >@@ -2881,7 +2878,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END > break; > > // The route is a speaker or HDMI out, override the name to be the localized device model. >- NSString *localizedDeviceModel = [[UIDevice currentDevice] localizedModel]; >+ NSString *localizedDeviceModel = [[PAL::getUIDeviceClass() currentDevice] localizedModel]; > > // In cases where a route with that name already exists, prefix the name with the model. > BOOL includeLocalizedDeviceModelName = NO; >diff --git a/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm b/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm >index b8074d11a734c723faff6891127862ff923fabb8..0cddcdf8970ad952a10bdcb30428e56aa1e7ac9b 100644 >--- a/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm >+++ b/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm >@@ -38,16 +38,13 @@ > #import <wtf/MathExtras.h> > > #if PLATFORM(IOS_FAMILY) >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/ios/CoreUISPI.h> > #import <wtf/SoftLinking.h> > > SOFT_LINK_PRIVATE_FRAMEWORK(CoreUI) > SOFT_LINK_CLASS(CoreUI, CUICatalog) > SOFT_LINK_CLASS(CoreUI, CUIStyleEffectConfiguration) >- >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK(UIKit, _UIKitGetTextEffectsCatalog, CUICatalog *, (void), ()) >-SOFT_LINK_CLASS(UIKit, UIColor) > #endif > > #ifdef __LP64__ >@@ -126,7 +123,7 @@ static void showLetterpressedGlyphsWithAdvances(const FloatPoint& point, const F > CTFontRef ctFont = platformData.ctFont(); > CGContextSetFontSize(context, CTFontGetSize(ctFont)); > >- static CUICatalog *catalog = _UIKitGetTextEffectsCatalog(); >+ static CUICatalog *catalog = PAL::softLink_UIKit__UIKitGetTextEffectsCatalog(); > if (!catalog) > return; > >diff --git a/Source/WebCore/platform/ios/DragImageIOS.mm b/Source/WebCore/platform/ios/DragImageIOS.mm >index 20b0d921db452dee5382e6216b4be54c7e5c4da0..e9852f4c261ace4bcd1d361c94cd41df4ecb9ee1 100644 >--- a/Source/WebCore/platform/ios/DragImageIOS.mm >+++ b/Source/WebCore/platform/ios/DragImageIOS.mm >@@ -49,20 +49,8 @@ > #import <UIKit/UIFont.h> > #import <UIKit/UIGraphicsImageRenderer.h> > #import <UIKit/UIImage.h> >+#import <pal/ios/UIKitSoftLink.h> > #import <wtf/NeverDestroyed.h> >-#import <wtf/SoftLinking.h> >- >-IGNORE_WARNINGS_BEGIN("nullability-completeness") >- >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIFont) >-SOFT_LINK_CLASS(UIKit, UIGraphicsImageRenderer) >-SOFT_LINK(UIKit, UIGraphicsBeginImageContextWithOptions, void, (CGSize size, BOOL opaque, CGFloat scale), (size, opaque, scale)) >-SOFT_LINK(UIKit, UIGraphicsGetCurrentContext, CGContextRef, (void), ()) >-SOFT_LINK(UIKit, UIGraphicsGetImageFromCurrentImageContext, UIImage *, (void), ()) >-SOFT_LINK(UIKit, UIGraphicsEndImageContext, void, (void), ()) >- >-IGNORE_WARNINGS_END > > namespace WebCore { > >@@ -78,7 +66,7 @@ DragImageRef scaleDragImage(DragImageRef image, FloatSize scale) > CGSize imageSize = CGSizeMake(scale.width() * CGImageGetWidth(image.get()), scale.height() * CGImageGetHeight(image.get())); > CGRect imageRect = { CGPointZero, imageSize }; > >- RetainPtr<UIGraphicsImageRenderer> render = adoptNS([allocUIGraphicsImageRendererInstance() initWithSize:imageSize]); >+ RetainPtr<UIGraphicsImageRenderer> render = adoptNS([PAL::allocUIGraphicsImageRendererInstance() initWithSize:imageSize]); > UIImage *imageCopy = [render.get() imageWithActions:^(UIGraphicsImageRendererContext *rendererContext) { > CGContextRef context = rendererContext.CGContext; > CGContextTranslateCTM(context, 0, imageSize.height); >@@ -103,7 +91,7 @@ DragImageRef createDragImageFromImage(Image* image, ImageOrientationDescription > imageSize = adjustedSize; > } > >- RetainPtr<UIGraphicsImageRenderer> render = adoptNS([allocUIGraphicsImageRendererInstance() initWithSize:imageSize]); >+ RetainPtr<UIGraphicsImageRenderer> render = adoptNS([PAL::allocUIGraphicsImageRendererInstance() initWithSize:imageSize]); > UIImage *imageCopy = [render.get() imageWithActions:^(UIGraphicsImageRendererContext *rendererContext) { > GraphicsContext context(rendererContext.CGContext); > context.translate(0, imageSize.height); >@@ -123,7 +111,7 @@ static const TextIndicatorOptions defaultLinkIndicatorOptions = TextIndicatorOpt > > static FontCascade cascadeForSystemFont(CGFloat size) > { >- UIFont *font = [getUIFontClass() systemFontOfSize:size]; >+ UIFont *font = [PAL::getUIFontClass() systemFontOfSize:size]; > return FontCascade(FontPlatformData(CTFontCreateWithName((CFStringRef)font.fontName, font.pointSize, nil), font.pointSize)); > } > >@@ -149,7 +137,7 @@ DragImageRef createDragImageForLink(Element& linkElement, URL& url, const String > > CGRect imageRect = CGRectMake(0, 0, textWidth + 2 * dragImagePadding, textHeight + 2 * dragImagePadding); > >- RetainPtr<UIGraphicsImageRenderer> render = adoptNS([allocUIGraphicsImageRendererInstance() initWithSize:imageRect.size]); >+ RetainPtr<UIGraphicsImageRenderer> render = adoptNS([PAL::allocUIGraphicsImageRendererInstance() initWithSize:imageRect.size]); > UIImage *image = [render.get() imageWithActions:^(UIGraphicsImageRendererContext *rendererContext) { > GraphicsContext context(rendererContext.CGContext); > context.translate(0, CGRectGetHeight(imageRect)); >@@ -205,7 +193,7 @@ DragImageRef createDragImageForSelection(Frame& frame, TextIndicatorData& indica > imageRect.scale(1 / page->deviceScaleFactor()); > > >- RetainPtr<UIGraphicsImageRenderer> render = adoptNS([allocUIGraphicsImageRendererInstance() initWithSize:imageRect.size()]); >+ RetainPtr<UIGraphicsImageRenderer> render = adoptNS([PAL::allocUIGraphicsImageRendererInstance() initWithSize:imageRect.size()]); > UIImage *finalImage = [render.get() imageWithActions:^(UIGraphicsImageRendererContext *rendererContext) { > GraphicsContext context(rendererContext.CGContext); > // FIXME: The context flip here should not be necessary, and suggests that somewhere else in the regular >@@ -241,7 +229,7 @@ DragImageRef createDragImageForRange(Frame& frame, Range& range, bool forceBlack > return nil; > > auto& image = *textIndicator->contentImage(); >- auto render = adoptNS([allocUIGraphicsImageRendererInstance() initWithSize:image.size()]); >+ auto render = adoptNS([PAL::allocUIGraphicsImageRendererInstance() initWithSize:image.size()]); > UIImage *finalImage = [render.get() imageWithActions:[&image](UIGraphicsImageRendererContext *rendererContext) { > GraphicsContext context(rendererContext.CGContext); > context.drawImage(image, FloatPoint()); >@@ -255,7 +243,7 @@ DragImageRef createDragImageForColor(const Color& color, const FloatRect& elemen > FloatRect imageRect { 0, 0, elementRect.width() * pageScaleFactor, elementRect.height() * pageScaleFactor }; > FloatRoundedRect swatch { imageRect, FloatRoundedRect::Radii(ColorSwatchCornerRadius * pageScaleFactor) }; > >- auto render = adoptNS([allocUIGraphicsImageRendererInstance() initWithSize:imageRect.size()]); >+ auto render = adoptNS([PAL::allocUIGraphicsImageRendererInstance() initWithSize:imageRect.size()]); > UIImage *image = [render imageWithActions:^(UIGraphicsImageRendererContext *rendererContext) { > GraphicsContext context { rendererContext.CGContext }; > context.translate(0, CGRectGetHeight(imageRect)); >diff --git a/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm b/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm >index e9c3a31575148c3484ded63bed5e243dde25ed57..200dbc3d094a9181452ecf090c16c1b12d0cb891 100644 >--- a/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm >+++ b/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm >@@ -38,10 +38,10 @@ > #import <UIKit/UIColor.h> > #import <UIKit/UIImage.h> > #import <UIKit/UIPasteboard.h> >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/cocoa/NSKeyedArchiverSPI.h> > #import <pal/spi/ios/UIKitSPI.h> > #import <wtf/ListHashSet.h> >-#import <wtf/SoftLinking.h> > #import <wtf/URL.h> > #import <wtf/cocoa/NSURLExtras.h> > #import <wtf/text/StringHash.h> >@@ -50,15 +50,10 @@ > #define PASTEBOARD_SUPPORTS_PRESENTATION_STYLE_AND_TEAM_DATA (PASTEBOARD_SUPPORTS_ITEM_PROVIDERS && !PLATFORM(IOSMAC)) > #define NSURL_SUPPORTS_TITLE (!PLATFORM(IOSMAC)) > >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIColor) >-SOFT_LINK_CLASS(UIKit, UIImage) >-SOFT_LINK_CLASS(UIKit, UIPasteboard) >- > namespace WebCore { > > PlatformPasteboard::PlatformPasteboard() >- : m_pasteboard([getUIPasteboardClass() generalPasteboard]) >+ : m_pasteboard([PAL::getUIPasteboardClass() generalPasteboard]) > { > } > >@@ -68,11 +63,11 @@ PlatformPasteboard::PlatformPasteboard(const String& name) > if (name == "data interaction pasteboard") > m_pasteboard = [WebItemProviderPasteboard sharedInstance]; > else >- m_pasteboard = [getUIPasteboardClass() generalPasteboard]; >+ m_pasteboard = [PAL::getUIPasteboardClass() generalPasteboard]; > } > #else > PlatformPasteboard::PlatformPasteboard(const String&) >- : m_pasteboard([getUIPasteboardClass() generalPasteboard]) >+ : m_pasteboard([PAL::getUIPasteboardClass() generalPasteboard]) > { > } > #endif >@@ -231,7 +226,7 @@ String PlatformPasteboard::stringForType(const String& type) const > Color PlatformPasteboard::color() > { > NSData *data = [m_pasteboard dataForPasteboardType:UIColorPboardType]; >- UIColor *uiColor = [NSKeyedUnarchiver unarchivedObjectOfClass:getUIColorClass() fromData:data error:nil]; >+ UIColor *uiColor = [NSKeyedUnarchiver unarchivedObjectOfClass:PAL::getUIColorClass() fromData:data error:nil]; > return Color(uiColor.CGColor); > } > >@@ -303,7 +298,7 @@ static void registerItemToPasteboard(WebItemProviderRegistrationInfoList *repres > #if PLATFORM(IOSMAC) > // In iOSMac, -[UIPasteboard setItemProviders:] is not yet supported, so we fall back to setting an item dictionary when > // populating the pasteboard upon copy. >- if ([pasteboard isKindOfClass:getUIPasteboardClass()]) { >+ if ([pasteboard isKindOfClass:PAL::getUIPasteboardClass()]) { > auto itemDictionary = adoptNS([[NSMutableDictionary alloc] init]); > [representationsToRegister enumerateItems:[itemDictionary] (id <WebItemProviderRegistrar> item, NSUInteger) { > if ([item respondsToSelector:@selector(typeIdentifierForClient)] && [item respondsToSelector:@selector(dataForClient)]) >@@ -326,7 +321,7 @@ static void registerItemToPasteboard(WebItemProviderRegistrationInfoList *repres > long PlatformPasteboard::setColor(const Color& color) > { > auto representationsToRegister = adoptNS([[WebItemProviderRegistrationInfoList alloc] init]); >- UIColor *uiColor = [getUIColorClass() colorWithCGColor:cachedCGColor(color)]; >+ UIColor *uiColor = [PAL::getUIColorClass() colorWithCGColor:cachedCGColor(color)]; > [representationsToRegister addData:[NSKeyedArchiver archivedDataWithRootObject:uiColor requiringSecureCoding:NO error:nil] forType:UIColorPboardType]; > registerItemToPasteboard(representationsToRegister.get(), m_pasteboard.get()); > return 0; >diff --git a/Source/WebCore/platform/ios/ThemeIOS.mm b/Source/WebCore/platform/ios/ThemeIOS.mm >index 6794e67e2eebe0e75cc1db1aa336b508c7b1c0f2..1476f1cb2862a7f3a4b8f8448d69e99cbf352418 100644 >--- a/Source/WebCore/platform/ios/ThemeIOS.mm >+++ b/Source/WebCore/platform/ios/ThemeIOS.mm >@@ -28,11 +28,8 @@ > > #if PLATFORM(IOS_FAMILY) > >+#import <pal/ios/UIKitSoftLink.h> > #import <wtf/NeverDestroyed.h> >-#import <wtf/SoftLinking.h> >- >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK(UIKit, UIAccessibilityIsReduceMotionEnabled, BOOL, (void), ()) > > using namespace std; > >@@ -46,7 +43,7 @@ Theme& Theme::singleton() > > bool ThemeIOS::userPrefersReducedMotion() const > { >- return UIAccessibilityIsReduceMotionEnabled(); >+ return PAL::softLink_UIKit_UIAccessibilityIsReduceMotionEnabled(); > } > > } >diff --git a/Source/WebCore/platform/ios/UserAgentIOS.mm b/Source/WebCore/platform/ios/UserAgentIOS.mm >index 1e35469a6bf00abb778213ee3ca7aa331b51205e..6bedcc9536ecda369500c00fbfe733b560846676 100644 >--- a/Source/WebCore/platform/ios/UserAgentIOS.mm >+++ b/Source/WebCore/platform/ios/UserAgentIOS.mm >@@ -30,29 +30,26 @@ > > #import "Device.h" > #import "SystemVersion.h" >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/ios/MobileGestaltSPI.h> > #import <pal/spi/ios/UIKitSPI.h> > #import <wtf/RetainPtr.h> >-#import <wtf/SoftLinking.h> >- >-SOFT_LINK_FRAMEWORK(UIKit); >-SOFT_LINK_CLASS(UIKit, UIApplication); > > namespace WebCore { > > static inline bool isClassic() > { >- return [[getUIApplicationClass() sharedApplication] _isClassic]; >+ return [[PAL::getUIApplicationClass() sharedApplication] _isClassic]; > } > > static inline bool isClassicPad() > { >- return [getUIApplicationClass() _classicMode] == UIApplicationSceneClassicModeOriginalPad; >+ return [PAL::getUIApplicationClass() _classicMode] == UIApplicationSceneClassicModeOriginalPad; > } > > static inline bool isClassicPhone() > { >- return isClassic() && [getUIApplicationClass() _classicMode] != UIApplicationSceneClassicModeOriginalPad; >+ return isClassic() && [PAL::getUIApplicationClass() _classicMode] != UIApplicationSceneClassicModeOriginalPad; > } > > static inline NSString *osNameForUserAgent() >diff --git a/Source/WebCore/platform/ios/ValidationBubbleIOS.mm b/Source/WebCore/platform/ios/ValidationBubbleIOS.mm >index 5d10a897e70e408744e02a2f51cdad62bcf231fb..a96d59ee35627eecad8866913f85212ea939bec8 100644 >--- a/Source/WebCore/platform/ios/ValidationBubbleIOS.mm >+++ b/Source/WebCore/platform/ios/ValidationBubbleIOS.mm >@@ -29,23 +29,12 @@ > > #import "ValidationBubble.h" > >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/ios/UIKitSPI.h> > #import <wtf/RetainPtr.h> > #import <wtf/SoftLinking.h> > #import <wtf/text/WTFString.h> > >-SOFT_LINK_FRAMEWORK(UIKit); >-SOFT_LINK_CLASS(UIKit, UIFont); >-SOFT_LINK_CLASS(UIKit, UILabel); >-SOFT_LINK_CLASS(UIKit, UIPopoverPresentationController); >-SOFT_LINK_CLASS(UIKit, UITapGestureRecognizer); >-SOFT_LINK_CLASS(UIKit, UIView); >-SOFT_LINK_CLASS(UIKit, UIViewController); >-SOFT_LINK_CONSTANT(UIKit, UIFontTextStyleCallout, UIFontTextStyle); >-SOFT_LINK_CONSTANT(UIKit, UIAccessibilityAnnouncementNotification, UIAccessibilityNotifications); >-#define UIAccessibilityPostNotification getUIAccessibilityPostNotification >-SOFT_LINK(UIKit, UIAccessibilityPostNotification, void, (UIAccessibilityNotifications n, id argument), (n, argument)); >- > @interface WebValidationBubbleTapRecognizer : NSObject > @end > >@@ -61,7 +50,7 @@ - (WebValidationBubbleTapRecognizer *)initWithPopoverController:(UIViewControlle > return nil; > > _popoverController = popoverController; >- _tapGestureRecognizer = adoptNS([allocUITapGestureRecognizerInstance() initWithTarget:self action:@selector(dismissPopover)]); >+ _tapGestureRecognizer = adoptNS([PAL::allocUITapGestureRecognizerInstance() initWithTarget:self action:@selector(dismissPopover)]); > [[_popoverController view] addGestureRecognizer:_tapGestureRecognizer.get()]; > > return self; >@@ -106,16 +95,16 @@ ValidationBubble::ValidationBubble(UIView* view, const String& message, const Se > : m_view(view) > , m_message(message) > { >- m_popoverController = adoptNS([allocUIViewControllerInstance() init]); >+ m_popoverController = adoptNS([PAL::allocUIViewControllerInstance() init]); > [m_popoverController setModalPresentationStyle:UIModalPresentationPopover]; > >- RetainPtr<UIView> popoverView = adoptNS([allocUIViewInstance() initWithFrame:CGRectZero]); >+ RetainPtr<UIView> popoverView = adoptNS([PAL::allocUIViewInstance() initWithFrame:CGRectZero]); > [m_popoverController setView:popoverView.get()]; > m_tapRecognizer = adoptNS([[WebValidationBubbleTapRecognizer alloc] initWithPopoverController:m_popoverController.get()]); > >- RetainPtr<UILabel> label = adoptNS([allocUILabelInstance() initWithFrame:CGRectZero]); >+ RetainPtr<UILabel> label = adoptNS([PAL::allocUILabelInstance() initWithFrame:CGRectZero]); > [label setText:message]; >- [label setFont:[getUIFontClass() preferredFontForTextStyle:getUIFontTextStyleCallout()]]; >+ [label setFont:[PAL::getUIFontClass() preferredFontForTextStyle:PAL::get_UIKit_UIFontTextStyleCallout()]]; > m_fontSize = [[label font] pointSize]; > [label setLineBreakMode:NSLineBreakByTruncatingTail]; > [label setNumberOfLines:4]; >@@ -146,13 +135,13 @@ void ValidationBubble::show() > [protectedThis->m_popoverController.get().view setAccessibilityElementsHidden:YES]; > }]; > >- UIAccessibilityPostNotification(getUIAccessibilityAnnouncementNotification(), m_message); >+ PAL::softLinkUIKitUIAccessibilityPostNotification(*PAL::get_UIKit_UIAccessibilityAnnouncementNotification(), m_message); > } > > static UIViewController *fallbackViewController(UIView *view) > { > for (UIView *currentView = view; currentView; currentView = currentView.superview) { >- if (UIViewController *viewController = [getUIViewControllerClass() viewControllerForView:currentView]) >+ if (UIViewController *viewController = [PAL::getUIViewControllerClass() viewControllerForView:currentView]) > return viewController; > } > NSLog(@"Failed to find a view controller to show form validation popover"); >diff --git a/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm b/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm >index 9633b3cf19d09a5289053dd37e1d921701f3fb54..9f1ba79986d270cddd67040e661f7671044c4242 100644 >--- a/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm >+++ b/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm >@@ -43,6 +43,7 @@ > #import <UIKit/UIWindow.h> > #import <objc/message.h> > #import <objc/runtime.h> >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/cocoa/AVKitSPI.h> > #import <pal/spi/ios/UIKitSPI.h> > #import <wtf/RetainPtr.h> >@@ -65,15 +66,6 @@ SOFT_LINK_CLASS_OPTIONAL(AVKit, AVPictureInPictureController) > SOFT_LINK_CLASS_OPTIONAL(AVKit, AVPlayerViewController) > SOFT_LINK_CLASS_OPTIONAL(AVKit, __AVPlayerLayerView) > >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIApplication) >-SOFT_LINK_CLASS(UIKit, UIScreen) >-SOFT_LINK_CLASS(UIKit, UIWindow) >-SOFT_LINK_CLASS(UIKit, UIView) >-SOFT_LINK_CLASS(UIKit, UIViewController) >-SOFT_LINK_CLASS(UIKit, UIColor) >-SOFT_LINK_CONSTANT(UIKit, UITextEffectsBeneathStatusBarWindowLevel, UIWindowLevel) >- > @interface UIWindow () > - (BOOL)_isHostedInAnotherProcess; > @end >@@ -84,7 +76,7 @@ @end > > static UIColor *clearUIColor() > { >- return (UIColor *)[getUIColorClass() clearColor]; >+ return (UIColor *)[PAL::getUIColorClass() clearColor]; > } > > #if !LOG_DISABLED >@@ -398,7 +390,7 @@ static WebAVPictureInPicturePlayerLayerView *allocWebAVPictureInPicturePlayerLay > static Class theClass = nil; > static dispatch_once_t onceToken; > dispatch_once(&onceToken, ^{ >- theClass = objc_allocateClassPair(getUIViewClass(), "WebAVPictureInPicturePlayerLayerView", 0); >+ theClass = objc_allocateClassPair(PAL::getUIViewClass(), "WebAVPictureInPicturePlayerLayerView", 0); > objc_registerClassPair(theClass); > Class metaClass = objc_getMetaClass("WebAVPictureInPicturePlayerLayerView"); > class_addMethod(metaClass, @selector(layerClass), (IMP)WebAVPictureInPicturePlayerLayerView_layerClass, "@@:"); >@@ -450,7 +442,7 @@ static UIView *WebAVPlayerLayerView_videoView(id aSelf, SEL) > CALayer* videoLayer = [webAVPlayerLayer videoSublayer]; > if (!videoLayer || !videoLayer.delegate) > return nil; >- ASSERT([[videoLayer delegate] isKindOfClass:getUIViewClass()]); >+ ASSERT([[videoLayer delegate] isKindOfClass:PAL::getUIViewClass()]); > return (UIView *)[videoLayer delegate]; > } > >@@ -829,7 +821,7 @@ bool VideoFullscreenInterfaceAVKit::pictureInPictureWasStartedWhenEnteringBackgr > static UIViewController *fallbackViewController(UIView *view) > { > for (UIView *currentView = view; currentView; currentView = currentView.superview) { >- if (UIViewController *viewController = [getUIViewControllerClass() viewControllerForView:currentView]) { >+ if (UIViewController *viewController = [PAL::getUIViewControllerClass() viewControllerForView:currentView]) { > if (![viewController parentViewController]) > return viewController; > } >@@ -1207,14 +1199,14 @@ void VideoFullscreenInterfaceAVKit::doSetup() > #if !PLATFORM(WATCHOS) > if (![[m_parentView window] _isHostedInAnotherProcess] && !m_window) { > if (!m_window) >- m_window = adoptNS([allocUIWindowInstance() initWithFrame:[[getUIScreenClass() mainScreen] bounds]]); >+ m_window = adoptNS([PAL::allocUIWindowInstance() initWithFrame:[[PAL::getUIScreenClass() mainScreen] bounds]]); > [m_window setBackgroundColor:clearUIColor()]; > if (!m_viewController) >- m_viewController = adoptNS([allocUIViewControllerInstance() init]); >+ m_viewController = adoptNS([PAL::allocUIViewControllerInstance() init]); > [[m_viewController view] setFrame:[m_window bounds]]; > [m_viewController _setIgnoreAppSupportedOrientations:YES]; > [m_window setRootViewController:m_viewController.get()]; >- [m_window setWindowLevel:getUITextEffectsBeneathStatusBarWindowLevel() + 1]; >+ [m_window setWindowLevel:PAL::get_UIKit_UITextEffectsBeneathStatusBarWindowLevel() + 1]; > [m_window makeKeyAndVisible]; > } > #endif >diff --git a/Source/WebCore/platform/ios/WebEvent.mm b/Source/WebCore/platform/ios/WebEvent.mm >index 8d88f2bf9ab1591474256e7c06a3e9c162718e5d..1d5f6a44fb70b913f8fd171a69d981d2f0dd6b4b 100644 >--- a/Source/WebCore/platform/ios/WebEvent.mm >+++ b/Source/WebCore/platform/ios/WebEvent.mm >@@ -35,15 +35,10 @@ > > #import "KeyEventCodesIOS.h" > #import "WAKAppKitStubs.h" >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/cocoa/IOKitSPI.h> > #import <pal/spi/ios/GraphicsServicesSPI.h> > #import <pal/spi/ios/UIKitSPI.h> >-#import <wtf/SoftLinking.h> >- >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIApplication); >- >-#define UIApplication getUIApplicationClass() > > using WebCore::windowsKeyCodeForKeyCode; > using WebCore::windowsKeyCodeForCharCode; >@@ -463,7 +458,7 @@ - (float)gestureRotation > > + (WebEventFlags)modifierFlags > { >- return GSEventIsHardwareKeyboardAttached() ? GSKeyboardGetModifierState([UIApplication sharedApplication]._hardwareKeyboard) : 0; >+ return GSEventIsHardwareKeyboardAttached() ? GSKeyboardGetModifierState([PAL::getUIApplicationClass() sharedApplication]._hardwareKeyboard) : 0; > } > > @end >diff --git a/Source/WebCore/platform/ios/WebItemProviderPasteboard.mm b/Source/WebCore/platform/ios/WebItemProviderPasteboard.mm >index 96296cb8d321e20fc3f4261e14392eb6d0762167..bf821839915e80d5899a948999f2f0206d8cff3a 100644 >--- a/Source/WebCore/platform/ios/WebItemProviderPasteboard.mm >+++ b/Source/WebCore/platform/ios/WebItemProviderPasteboard.mm >@@ -36,15 +36,11 @@ > #import <UIKit/UIImage.h> > #import <WebCore/FileSystem.h> > #import <WebCore/Pasteboard.h> >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/ios/UIKitSPI.h> > #import <wtf/BlockPtr.h> > #import <wtf/OSObjectPtr.h> > #import <wtf/RetainPtr.h> >-#import <wtf/SoftLinking.h> >- >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIColor) >-SOFT_LINK_CLASS(UIKit, UIImage) > > typedef void(^ItemProviderDataLoadCompletionHandler)(NSData *, NSError *); > typedef void(^ItemProviderFileLoadCompletionHandler)(NSURL *, BOOL, NSError *); >@@ -579,7 +575,7 @@ - (NSArray *)dataForPasteboardType:(NSString *)pasteboardType inItemSet:(NSIndex > > static NSArray<Class<NSItemProviderReading>> *allLoadableClasses() > { >- return @[ [getUIColorClass() class], [getUIImageClass() class], [NSURL class], [NSString class], [NSAttributedString class] ]; >+ return @[ [PAL::getUIColorClass() class], [PAL::getUIImageClass() class], [NSURL class], [NSString class], [NSAttributedString class] ]; > } > > static Class classForTypeIdentifier(NSString *typeIdentifier, NSString *&outTypeIdentifierToLoad) >diff --git a/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm b/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm >index 4967746bdbecc0a37ee4ba549d01841f37f47270..691cbf81765c7dd156327bdd3f8c2f1e64faa9a6 100644 >--- a/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm >+++ b/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm >@@ -43,11 +43,8 @@ > #import <WebCore/HTMLVideoElement.h> > #import <WebCore/RenderVideo.h> > #import <WebCore/WebCoreThreadRun.h> >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/cocoa/QuartzCoreSPI.h> >-#import <wtf/SoftLinking.h> >- >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIView) > > using namespace WebCore; > >@@ -969,7 +966,7 @@ void VideoFullscreenControllerContext::setUpFullscreen(HTMLVideoElement& videoEl > m_interface->setVideoFullscreenModel(this); > m_interface->setVideoFullscreenChangeObserver(this); > >- m_videoFullscreenView = adoptNS([allocUIViewInstance() init]); >+ m_videoFullscreenView = adoptNS([PAL::allocUIViewInstance() init]); > > m_interface->setupFullscreen(*m_videoFullscreenView.get(), videoElementClientRect, viewRef.get(), mode, allowsPictureInPicture, false); > }); >diff --git a/Source/WebCore/platform/network/mac/WebCoreURLResponse.mm b/Source/WebCore/platform/network/mac/WebCoreURLResponse.mm >index f54f58c25d6c5245228b2a47940ed52051579967..5486440d73894ac1429700baf49a1775788d9dbd 100644 >--- a/Source/WebCore/platform/network/mac/WebCoreURLResponse.mm >+++ b/Source/WebCore/platform/network/mac/WebCoreURLResponse.mm >@@ -30,6 +30,7 @@ > #import "WebCoreURLResponse.h" > > #import "MIMETypeRegistry.h" >+#import "ResourceResponse.h" > #import "UTIUtilities.h" > #import <pal/spi/cf/CFNetworkSPI.h> > #import <wtf/Assertions.h> >diff --git a/Source/WebCore/rendering/RenderThemeIOS.mm b/Source/WebCore/rendering/RenderThemeIOS.mm >index ee1e226831cf6497c04df3b5077ad7579885e889..60949916b3881c4c8852a83712752c2426fd43e4 100644 >--- a/Source/WebCore/rendering/RenderThemeIOS.mm >+++ b/Source/WebCore/rendering/RenderThemeIOS.mm >@@ -70,21 +70,13 @@ > #import <CoreGraphics/CoreGraphics.h> > #import <CoreImage/CoreImage.h> > #import <objc/runtime.h> >+#import <pal/ios/UIKitSoftLink.h> > #import <pal/spi/cocoa/CoreTextSPI.h> > #import <pal/spi/ios/UIKitSPI.h> > #import <wtf/NeverDestroyed.h> > #import <wtf/RefPtr.h> >-#import <wtf/SoftLinking.h> > #import <wtf/StdLibExtras.h> > >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIApplication) >-SOFT_LINK_CLASS(UIKit, UIColor) >-SOFT_LINK_CLASS(UIKit, UIDocumentInteractionController) >-SOFT_LINK_CLASS(UIKit, UIImage) >-SOFT_LINK_CONSTANT(UIKit, UIContentSizeCategoryDidChangeNotification, CFStringRef) >-#define UIContentSizeCategoryDidChangeNotification getUIContentSizeCategoryDidChangeNotification() >- > @interface WebCoreRenderThemeBundle : NSObject > @end > >@@ -286,7 +278,7 @@ static IOSGradientRef gradientWithName(IOSGradientType gradientType) > > static void contentSizeCategoryDidChange(CFNotificationCenterRef, void*, CFStringRef name, const void*, CFDictionaryRef) > { >- ASSERT_UNUSED(name, CFEqual(name, UIContentSizeCategoryDidChangeNotification)); >+ ASSERT_UNUSED(name, CFEqual(name, PAL::get_UIKit_UIContentSizeCategoryDidChangeNotification())); > WebThreadRun(^{ > Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment(); > }); >@@ -294,7 +286,7 @@ static void contentSizeCategoryDidChange(CFNotificationCenterRef, void*, CFStrin > > RenderThemeIOS::RenderThemeIOS() > { >- CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), this, contentSizeCategoryDidChange, UIContentSizeCategoryDidChangeNotification, 0, CFNotificationSuspensionBehaviorDeliverImmediately); >+ CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), this, contentSizeCategoryDidChange, (__bridge CFStringRef)PAL::get_UIKit_UIContentSizeCategoryDidChangeNotification(), 0, CFNotificationSuspensionBehaviorDeliverImmediately); > } > > RenderTheme& RenderTheme::singleton() >@@ -313,7 +305,7 @@ CFStringRef RenderThemeIOS::contentSizeCategory() > { > if (!_contentSizeCategory().isNull()) > return (__bridge CFStringRef)static_cast<NSString*>(_contentSizeCategory()); >- return (CFStringRef)[[getUIApplicationClass() sharedApplication] preferredContentSizeCategory]; >+ return (CFStringRef)[[PAL::getUIApplicationClass() sharedApplication] preferredContentSizeCategory]; > } > > void RenderThemeIOS::setContentSizeCategory(const String& contentSizeCategory) >@@ -1436,28 +1428,28 @@ Color RenderThemeIOS::systemColor(CSSValueID cssValueID, OptionSet<StyleColor::O > Color color; > switch (cssValueID) { > case CSSValueAppleWirelessPlaybackTargetActive: >- color = [getUIColorClass() systemBlueColor].CGColor; >+ color = [PAL::getUIColorClass() systemBlueColor].CGColor; > break; > case CSSValueAppleSystemBlue: >- color = [getUIColorClass() systemBlueColor].CGColor; >+ color = [PAL::getUIColorClass() systemBlueColor].CGColor; > break; > case CSSValueAppleSystemGray: >- color = [getUIColorClass() systemGrayColor].CGColor; >+ color = [PAL::getUIColorClass() systemGrayColor].CGColor; > break; > case CSSValueAppleSystemGreen: >- color = [getUIColorClass() systemGreenColor].CGColor; >+ color = [PAL::getUIColorClass() systemGreenColor].CGColor; > break; > case CSSValueAppleSystemOrange: >- color = [getUIColorClass() systemOrangeColor].CGColor; >+ color = [PAL::getUIColorClass() systemOrangeColor].CGColor; > break; > case CSSValueAppleSystemPink: >- color = [getUIColorClass() systemPinkColor].CGColor; >+ color = [PAL::getUIColorClass() systemPinkColor].CGColor; > break; > case CSSValueAppleSystemRed: >- color = [getUIColorClass() systemRedColor].CGColor; >+ color = [PAL::getUIColorClass() systemRedColor].CGColor; > break; > case CSSValueAppleSystemYellow: >- color = [getUIColorClass() systemYellowColor].CGColor; >+ color = [PAL::getUIColorClass() systemYellowColor].CGColor; > break; > default: > break; >@@ -1501,7 +1493,7 @@ static RetainPtr<CTFontRef> attachmentActionFont() > > static UIColor *attachmentActionColor(const RenderAttachment& attachment) > { >- return [getUIColorClass() colorWithCGColor:cachedCGColor(attachment.style().visitedDependentColor(CSSPropertyColor))]; >+ return [PAL::getUIColorClass() colorWithCGColor:cachedCGColor(attachment.style().visitedDependentColor(CSSPropertyColor))]; > } > > static RetainPtr<CTFontRef> attachmentTitleFont() >@@ -1510,10 +1502,10 @@ static RetainPtr<CTFontRef> attachmentTitleFont() > return adoptCF(CTFontCreateWithFontDescriptor(fontDescriptor.get(), 0, nullptr)); > } > >-static UIColor *attachmentTitleColor() { return [getUIColorClass() systemGrayColor]; } >+static UIColor *attachmentTitleColor() { return [PAL::getUIColorClass() systemGrayColor]; } > > static RetainPtr<CTFontRef> attachmentSubtitleFont() { return attachmentTitleFont(); } >-static UIColor *attachmentSubtitleColor() { return [getUIColorClass() systemGrayColor]; } >+static UIColor *attachmentSubtitleColor() { return [PAL::getUIColorClass() systemGrayColor]; } > > struct RenderAttachmentInfo { > explicit RenderAttachmentInfo(const RenderAttachment&); >@@ -1635,7 +1627,7 @@ static BOOL getAttachmentProgress(const RenderAttachment& attachment, float& pro > > static RetainPtr<UIImage> iconForAttachment(const RenderAttachment& attachment, FloatSize& size) > { >- auto documentInteractionController = adoptNS([allocUIDocumentInteractionControllerInstance() init]); >+ auto documentInteractionController = adoptNS([PAL::allocUIDocumentInteractionControllerInstance() init]); > > String fileName; > if (File* file = attachment.attachmentElement().file()) >diff --git a/Source/WebCore/testing/Internals.mm b/Source/WebCore/testing/Internals.mm >index b2404e2478532be62cb470dbcb0326dc1c24abee..20d71bae31852b09e31bc8e8d36240dab4da00a5 100644 >--- a/Source/WebCore/testing/Internals.mm >+++ b/Source/WebCore/testing/Internals.mm >@@ -32,14 +32,9 @@ > #import "EventHandler.h" > #import "HitTestResult.h" > #import "Range.h" >-#import <wtf/SoftLinking.h> >+#import <pal/ios/UIKitSoftLink.h> > #import <wtf/cocoa/NSURLExtras.h> > >-#if PLATFORM(IOS_FAMILY) >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK(UIKit, UIAccessibilityIsReduceMotionEnabled, BOOL, (void), ()) >-#endif >- > namespace WebCore { > > String Internals::userVisibleString(const DOMURL& url) >@@ -50,7 +45,7 @@ String Internals::userVisibleString(const DOMURL& url) > bool Internals::userPrefersReducedMotion() const > { > #if PLATFORM(IOS_FAMILY) >- return UIAccessibilityIsReduceMotionEnabled(); >+ return PAL::softLink_UIKit_UIAccessibilityIsReduceMotionEnabled(); > #else > return [[NSWorkspace sharedWorkspace] accessibilityDisplayShouldReduceMotion]; > #endif >diff --git a/Source/WebKitLegacy/mac/WebView/WebView.mm b/Source/WebKitLegacy/mac/WebView/WebView.mm >index 64a946b713e463bef01bda1231cb9a0cc5fa2288..f0900af992b758cde5461c1fdaf1863f626721f1 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebView.mm >+++ b/Source/WebKitLegacy/mac/WebView/WebView.mm >@@ -334,17 +334,9 @@ > #endif > > #if ENABLE(DATA_INTERACTION) >-#import <UIKit/UIBezierPath.h> > #import <UIKit/UIColor.h> > #import <UIKit/UIImage.h> >-SOFT_LINK_FRAMEWORK(UIKit) >-SOFT_LINK_CLASS(UIKit, UIBezierPath) >-SOFT_LINK_CLASS(UIKit, UIColor) >-SOFT_LINK_CLASS(UIKit, UIImage) >-SOFT_LINK(UIKit, UIGraphicsBeginImageContextWithOptions, void, (CGSize size, BOOL opaque, CGFloat scale), (size, opaque, scale)) >-SOFT_LINK(UIKit, UIGraphicsGetCurrentContext, CGContextRef, (void), ()) >-SOFT_LINK(UIKit, UIGraphicsGetImageFromCurrentImageContext, UIImage *, (void), ()) >-SOFT_LINK(UIKit, UIGraphicsEndImageContext, void, (void), ()) >+#import <pal/ios/UIKitSoftLink.h> > #endif > > #if HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER) >@@ -700,7 +692,7 @@ - (WebUITextIndicatorData *)initWithImage:(CGImageRef)image textIndicatorData:(c > if (!(self = [super init])) > return nil; > >- _dataInteractionImage = [allocUIImageInstance() initWithCGImage:image scale:scale orientation:UIImageOrientationDownMirrored]; >+ _dataInteractionImage = [PAL::allocUIImageInstance() initWithCGImage:image scale:scale orientation:UIImageOrientationDownMirrored]; > _selectionRectInRootViewCoordinates = indicatorData.selectionRectInRootViewCoordinates; > _textBoundingRectInRootViewCoordinates = indicatorData.textBoundingRectInRootViewCoordinates; > >@@ -710,20 +702,20 @@ - (WebUITextIndicatorData *)initWithImage:(CGImageRef)image textIndicatorData:(c > _textRectsInBoundingRectCoordinates = [[NSArray arrayWithArray:textRectsInBoundingRectCoordinates] retain]; > _contentImageScaleFactor = indicatorData.contentImageScaleFactor; > if (indicatorData.contentImageWithHighlight) >- _contentImageWithHighlight = [allocUIImageInstance() initWithCGImage:indicatorData.contentImageWithHighlight.get()->nativeImage().get() scale:scale orientation:UIImageOrientationDownMirrored]; >+ _contentImageWithHighlight = [PAL::allocUIImageInstance() initWithCGImage:indicatorData.contentImageWithHighlight.get()->nativeImage().get() scale:scale orientation:UIImageOrientationDownMirrored]; > if (indicatorData.contentImage) >- _contentImage = [allocUIImageInstance() initWithCGImage:indicatorData.contentImage.get()->nativeImage().get() scale:scale orientation:UIImageOrientationUp]; >+ _contentImage = [PAL::allocUIImageInstance() initWithCGImage:indicatorData.contentImage.get()->nativeImage().get() scale:scale orientation:UIImageOrientationUp]; > > if (indicatorData.contentImageWithoutSelection) { > auto nativeImage = indicatorData.contentImageWithoutSelection.get()->nativeImage(); > if (nativeImage) { >- _contentImageWithoutSelection = [allocUIImageInstance() initWithCGImage:nativeImage.get() scale:scale orientation:UIImageOrientationUp]; >+ _contentImageWithoutSelection = [PAL::allocUIImageInstance() initWithCGImage:nativeImage.get() scale:scale orientation:UIImageOrientationUp]; > _contentImageWithoutSelectionRectInRootViewCoordinates = indicatorData.contentImageWithoutSelectionRectInRootViewCoordinates; > } > } > > if (indicatorData.options & TextIndicatorOptionComputeEstimatedBackgroundColor) >- _estimatedBackgroundColor = [allocUIColorInstance() initWithCGColor:cachedCGColor(indicatorData.estimatedBackgroundColor)]; >+ _estimatedBackgroundColor = [PAL::allocUIColorInstance() initWithCGColor:cachedCGColor(indicatorData.estimatedBackgroundColor)]; > > return self; > } >@@ -733,7 +725,7 @@ - (WebUITextIndicatorData *)initWithImage:(CGImageRef)image scale:(CGFloat)scale > if (!(self = [super init])) > return nil; > >- _dataInteractionImage = [allocUIImageInstance() initWithCGImage:image scale:scale orientation:UIImageOrientationDownMirrored]; >+ _dataInteractionImage = [PAL::allocUIImageInstance() initWithCGImage:image scale:scale orientation:UIImageOrientationDownMirrored]; > > return self; > } >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 823b08ce4e4f731e372efeddfa9840f40d0a0603..0ce67ab26cbc1fbc8954509b5942c34cc744e9f1 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,20 @@ >+2019-01-18 David Kilzer <ddkilzer@apple.com> >+ >+ Switch remaining UIKit soft-linking in WebCore, WebKitLegacy over to UIKitSoftLink.{cpp,h} >+ <https://webkit.org/b/193568> >+ <rdar://problem/47381130> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Make sure no one re-introduces UIKit soft-linking by adding a >+ style rule. >+ >+ * Scripts/webkitpy/style/checkers/cpp.py: >+ (check_language): Add softlink/uikit check. >+ (CppChecker): Enable softlink/uikit check. >+ * Scripts/webkitpy/style/checkers/cpp_unittest.py: >+ (CppStyleTest): Add test for softlink/uikit. >+ > 2019-01-16 Chris Dumez <cdumez@apple.com> > > Regression(PSON) View becomes blank after click a cross-site download link >diff --git a/Tools/Scripts/webkitpy/style/checkers/cpp.py b/Tools/Scripts/webkitpy/style/checkers/cpp.py >index 325619db1884f86a5359f3a7be4b56b428ce3771..07630a106753def92e59ca27b01aaecfa87d2bd8 100644 >--- a/Tools/Scripts/webkitpy/style/checkers/cpp.py >+++ b/Tools/Scripts/webkitpy/style/checkers/cpp.py >@@ -3332,6 +3332,10 @@ def check_language(filename, clean_lines, line_number, file_extension, include_s > 'RetainPtr<> should never contain a type with \'*\'. Correct: RetainPtr<NSString>, RetainPtr<CFStringRef>.') > break > >+ if search(r'^\s*SOFT_LINK_FRAMEWORK\(UIKit\)', line): >+ error(line_number, 'softlink/uikit', 5, >+ 'Use #import <pal/ios/UIKitSoftLink.h> and update pal/ios/UIKitSoftLink.mm to soft-link to UIKit.framework.') >+ > # Check for suspicious usage of "if" like > # } if (a == b) { > if search(r'\}\s*if\s*\(', line): >@@ -4084,6 +4088,7 @@ class CppChecker(object): > 'security/assertion', > 'security/printf', > 'security/temp_file', >+ 'softlink/uikit', > 'whitespace/blank_line', > 'whitespace/braces', > 'whitespace/brackets', >diff --git a/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py b/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py >index bad278561ad4630c0ef9e505230709da9dd7a495..224b029f025390af1403f54618dc27c436ba1b8f 100644 >--- a/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py >+++ b/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py >@@ -1688,6 +1688,15 @@ class CppStyleTest(CppStyleTestBase): > ' [runtime/retainptr] [5]') > self.assert_lint('''RetainPtr<NSDictionary<NSString *, NSArray<NSString *>>> dictionary;''', '') > >+ def test_softlink(self): >+ self.assert_lint( >+ '''SOFT_LINK_FRAMEWORK(AVFoundation)''', >+ '') >+ self.assert_lint( >+ '''SOFT_LINK_FRAMEWORK(UIKit)''', >+ 'Use #import <pal/ios/UIKitSoftLink.h> and update pal/ios/UIKitSoftLink.mm to soft-link to UIKit.framework.' >+ ' [softlink/uikit] [5]') >+ > # Variable-length arrays are not permitted. > def test_variable_length_array_detection(self): > errmsg = ('Do not use variable-length arrays. Use an appropriately named '
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 193568
:
359472
|
359491