Don't use (Details) when exposing SPI
authordino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Jul 2015 21:22:47 +0000 (21:22 +0000)
committerdino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Jul 2015 21:22:47 +0000 (21:22 +0000)
https://bugs.webkit.org/show_bug.cgi?id=147426
<rdar://problem/22062407>

Reviewed by Dan Bernstein.

If we are declaring the interface without any implementation,
we should use class extensions.

Source/WebCore:

Added three new SPI.h files for NSButtonCell, NSURLConnection and
NSURLRequest.

* WebCore.xcodeproj/project.pbxproj:
* platform/mac/ScrollViewMac.mm:
* platform/mac/ThemeMac.mm:
* platform/network/mac/ResourceHandleMac.mm:
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
* platform/spi/cf/CFNetworkSPI.h:
* platform/spi/cocoa/AVKitSPI.h:
* platform/spi/cocoa/CFNSURLConnectionSPI.h:
* platform/spi/cocoa/NSButtonCellSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSColorSPI.h.
* platform/spi/cocoa/NSCalendarDateSPI.h:
* platform/spi/cocoa/NSColorSPI.h:
* platform/spi/cocoa/NSFileManagerSPI.h:
* platform/spi/cocoa/NSStringSPI.h:
* platform/spi/cocoa/NSURLConnectionSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
* platform/spi/cocoa/NSURLDownloadSPI.h:
* platform/spi/cocoa/NSURLRequestSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
* platform/spi/cocoa/QuartzCoreSPI.h:
* platform/spi/cocoa/WebFilterEvaluatorSPI.h:
* platform/spi/ios/CoreUISPI.h:
* platform/spi/ios/LaunchServicesSPI.h:
* platform/spi/ios/MediaPlayerSPI.h:
* platform/spi/ios/QuickLookSPI.h:
* platform/spi/ios/UIColorSPI.h:
* platform/spi/mac/QuickLookMacSPI.h:
* rendering/RenderThemeMac.mm:

Source/WebKit/mac:

* WebView/WebFrameView.mm:
* WebView/WebPDFView.mm:

Source/WebKit2:

* Platform/spi/ios/AssertionServicesSPI.h:
* Platform/spi/ios/CorePDFSPI.h:
* Platform/spi/ios/DataDetectorsUISPI.h:
* Platform/spi/ios/ManagedConfigurationSPI.h:
* Platform/spi/ios/UIKitSPI.h:
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
* UIProcess/_WKWebViewPrintFormatter.mm:
* UIProcess/mac/WebPageProxyMac.mm:

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
* DumpRenderTree/mac/EventSendingController.mm:
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187609 268f45cc-cd09-0410-ab3c-d52691b4dbfc

48 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/platform/mac/ScrollViewMac.mm
Source/WebCore/platform/mac/ThemeMac.mm
Source/WebCore/platform/network/mac/ResourceHandleMac.mm
Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm
Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm
Source/WebCore/platform/spi/cf/CFNetworkSPI.h
Source/WebCore/platform/spi/cocoa/AVKitSPI.h
Source/WebCore/platform/spi/cocoa/CFNSURLConnectionSPI.h
Source/WebCore/platform/spi/cocoa/NSButtonCellSPI.h [new file with mode: 0644]
Source/WebCore/platform/spi/cocoa/NSCalendarDateSPI.h
Source/WebCore/platform/spi/cocoa/NSColorSPI.h
Source/WebCore/platform/spi/cocoa/NSFileManagerSPI.h
Source/WebCore/platform/spi/cocoa/NSStringSPI.h
Source/WebCore/platform/spi/cocoa/NSURLConnectionSPI.h [new file with mode: 0644]
Source/WebCore/platform/spi/cocoa/NSURLDownloadSPI.h
Source/WebCore/platform/spi/cocoa/NSURLRequestSPI.h [new file with mode: 0644]
Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h
Source/WebCore/platform/spi/cocoa/WebFilterEvaluatorSPI.h
Source/WebCore/platform/spi/ios/CoreUISPI.h
Source/WebCore/platform/spi/ios/LaunchServicesSPI.h
Source/WebCore/platform/spi/ios/MediaPlayerSPI.h
Source/WebCore/platform/spi/ios/QuickLookSPI.h
Source/WebCore/platform/spi/ios/UIColorSPI.h
Source/WebCore/platform/spi/mac/QuickLookMacSPI.h
Source/WebCore/rendering/RenderThemeMac.mm
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebFrameView.mm
Source/WebKit/mac/WebView/WebPDFView.mm
Source/WebKit2/ChangeLog
Source/WebKit2/Platform/spi/ios/AssertionServicesSPI.h
Source/WebKit2/Platform/spi/ios/CorePDFSPI.h
Source/WebKit2/Platform/spi/ios/DataDetectorsUISPI.h
Source/WebKit2/Platform/spi/ios/ManagedConfigurationSPI.h
Source/WebKit2/Platform/spi/ios/UIKitSPI.h
Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm
Source/WebKit2/Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm
Source/WebKit2/UIProcess/_WKWebViewPrintFormatter.mm
Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm
Tools/ChangeLog
Tools/DumpRenderTree/mac/DumpRenderTree.mm
Tools/DumpRenderTree/mac/EventSendingController.mm
Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm
Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm
Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm
Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm
Tools/WebKitTestRunner/mac/TestControllerMac.mm

index a0b2de7..17cd963 100644 (file)
@@ -1,3 +1,44 @@
+2015-07-29  Dean Jackson  <dino@apple.com>
+
+        Don't use (Details) when exposing SPI
+        https://bugs.webkit.org/show_bug.cgi?id=147426
+        <rdar://problem/22062407>
+
+        Reviewed by Dan Bernstein.
+
+        If we are declaring the interface without any implementation,
+        we should use class extensions.
+
+        Added three new SPI.h files for NSButtonCell, NSURLConnection and
+        NSURLRequest.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/mac/ScrollViewMac.mm:
+        * platform/mac/ThemeMac.mm:
+        * platform/network/mac/ResourceHandleMac.mm:
+        * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
+        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
+        * platform/spi/cf/CFNetworkSPI.h:
+        * platform/spi/cocoa/AVKitSPI.h:
+        * platform/spi/cocoa/CFNSURLConnectionSPI.h:
+        * platform/spi/cocoa/NSButtonCellSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSColorSPI.h.
+        * platform/spi/cocoa/NSCalendarDateSPI.h:
+        * platform/spi/cocoa/NSColorSPI.h:
+        * platform/spi/cocoa/NSFileManagerSPI.h:
+        * platform/spi/cocoa/NSStringSPI.h:
+        * platform/spi/cocoa/NSURLConnectionSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
+        * platform/spi/cocoa/NSURLDownloadSPI.h:
+        * platform/spi/cocoa/NSURLRequestSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
+        * platform/spi/cocoa/QuartzCoreSPI.h:
+        * platform/spi/cocoa/WebFilterEvaluatorSPI.h:
+        * platform/spi/ios/CoreUISPI.h:
+        * platform/spi/ios/LaunchServicesSPI.h:
+        * platform/spi/ios/MediaPlayerSPI.h:
+        * platform/spi/ios/QuickLookSPI.h:
+        * platform/spi/ios/UIColorSPI.h:
+        * platform/spi/mac/QuickLookMacSPI.h:
+        * rendering/RenderThemeMac.mm:
+
 2015-07-30  Alex Christensen  <achristensen@webkit.org>
 
         Remove LegacyCACFLayerTreeHost
index 77de0fe..4753723 100644 (file)
                31A795C71888BCB200382F90 /* ANGLEInstancedArrays.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A795C21888B72400382F90 /* ANGLEInstancedArrays.h */; };
                31A795C81888BCB500382F90 /* ANGLEInstancedArrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A795C11888B72400382F90 /* ANGLEInstancedArrays.cpp */; };
                31AB5000122878A2001A7DB0 /* GraphicsContext3DIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 31AB4FFF122878A2001A7DB0 /* GraphicsContext3DIOS.h */; };
+               31B313DB1B69871600F2AABC /* NSURLConnectionSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 31B313DA1B69871600F2AABC /* NSURLConnectionSPI.h */; };
+               31B313DD1B6987DB00F2AABC /* NSURLRequestSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 31B313DC1B6987DB00F2AABC /* NSURLRequestSPI.h */; };
+               31B313DF1B6988C500F2AABC /* NSButtonCellSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 31B313DE1B6988C500F2AABC /* NSButtonCellSPI.h */; };
                31BC742D1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31BC742B1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.cpp */; };
                31BC742E1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 31BC742C1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.h */; };
                31C0FF210E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31C0FF1B0E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp */; };
                31A795C41888BAD100382F90 /* JSANGLEInstancedArrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSANGLEInstancedArrays.cpp; sourceTree = "<group>"; };
                31A795C51888BAD100382F90 /* JSANGLEInstancedArrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSANGLEInstancedArrays.h; sourceTree = "<group>"; };
                31AB4FFF122878A2001A7DB0 /* GraphicsContext3DIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GraphicsContext3DIOS.h; sourceTree = "<group>"; };
+               31B313DA1B69871600F2AABC /* NSURLConnectionSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSURLConnectionSPI.h; sourceTree = "<group>"; };
+               31B313DC1B6987DB00F2AABC /* NSURLRequestSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSURLRequestSPI.h; sourceTree = "<group>"; };
+               31B313DE1B6988C500F2AABC /* NSButtonCellSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSButtonCellSPI.h; sourceTree = "<group>"; };
                31BC742B1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSAnimationTriggerScrollValue.cpp; sourceTree = "<group>"; };
                31BC742C1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSAnimationTriggerScrollValue.h; sourceTree = "<group>"; };
                31C0FF1B0E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitAnimationEvent.cpp; sourceTree = "<group>"; };
                                371783391AACDCF7000910E3 /* SecuritySPI.h */,
                                CEC337AC1A46071F009B8523 /* ServersSPI.h */,
                                A19D93451A9FEC7200B46C24 /* WebFilterEvaluatorSPI.h */,
+                               31B313DA1B69871600F2AABC /* NSURLConnectionSPI.h */,
+                               31B313DC1B6987DB00F2AABC /* NSURLRequestSPI.h */,
+                               31B313DE1B6988C500F2AABC /* NSButtonCellSPI.h */,
                        );
                        path = cocoa;
                        sourceTree = "<group>";
                                85E9E0A50AB3A0C700069CD0 /* DOMXPathResult.h in Headers */,
                                85E711DB0AC5D5350053270F /* DOMXPathResultInternal.h in Headers */,
                                FD1762E4176686EA00D836A8 /* DownSampler.h in Headers */,
+                               31B313DB1B69871600F2AABC /* NSURLConnectionSPI.h in Headers */,
                                A718760E0B2A120100A16ECE /* DragActions.h in Headers */,
                                A7CA59630B27C1F200FA021D /* DragClient.h in Headers */,
                                A7CA595D0B27BD9E00FA021D /* DragController.h in Headers */,
                                BCFA930810333193007B25D1 /* RenderOverflow.h in Headers */,
                                A43BF59D1149292800C643CA /* RenderProgress.h in Headers */,
                                B5B65874186FDE4C009C26E8 /* RenderPtr.h in Headers */,
+                               31B313DF1B6988C500F2AABC /* NSButtonCellSPI.h in Headers */,
                                5A574F25131DB93900471B88 /* RenderQuote.h in Headers */,
                                D70AD65813E1342B005B50B4 /* RenderRegion.h in Headers */,
                                BCE93F451517C567008CCF74 /* RenderRegionSet.h in Headers */,
                                0709D7951AE55A29004E42F8 /* WebMediaSessionManagerClient.h in Headers */,
                                0709D7931AE5557E004E42F8 /* WebMediaSessionManagerMac.h in Headers */,
                                26EA89A71B4F2B75008C5FD2 /* HashableActionList.h in Headers */,
+                               31B313DD1B6987DB00F2AABC /* NSURLRequestSPI.h in Headers */,
                                E1A3162D134BC32D007C9A4F /* WebNSAttributedStringExtras.h in Headers */,
                                99CC0B6B18BEA1FF006CEBCC /* WebReplayInputs.h in Headers */,
                                A502C5DF13049B3500FC7D53 /* WebSafeGCActivityCallbackIOS.h in Headers */,
index ee29934..1fd9ef1 100644 (file)
 #import "NotImplemented.h"
 #import "WebCoreFrameView.h"
 
-@interface NSScrollView (Details)
+@interface NSScrollView ()
 - (NSEdgeInsets)contentInsets;
+@end
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101000
+@interface NSScrollView (WebDetails)
 @property BOOL automaticallyAdjustsContentInsets;
 @end
+#endif
 
 @interface NSWindow (WebWindowDetails)
 - (BOOL)_needsToResetDragMargins;
index f49d1e6..041a921 100644 (file)
 #import "GraphicsContext.h"
 #import "ImageBuffer.h"
 #import "LocalCurrentGraphicsContext.h"
+#import "NSButtonCellSPI.h"
 #import "ScrollView.h"
 #import "WebCoreSystemInterface.h"
 #import <Carbon/Carbon.h>
 #import <wtf/StdLibExtras.h>
 
-// FIXME: Should move this to an NSButtonSPI.h header.
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
-
-@interface NSButtonCell (Details)
-- (void)_setState:(NSInteger)value animated:(BOOL)animated;
-- (void)_setHighlighted:(BOOL)flag animated:(BOOL)animated;
-- (void)_renderCurrentAnimationFrameInContext:(CGContextRef)ctxt atLocation:(NSPoint)where;
-- (BOOL)_stateAnimationRunning;
-@end
-
-#endif
-
 static NSRect focusRingClipRect;
 static BOOL themeWindowHasKeyAppearance;
 
index a3b0da1..f54305b 100644 (file)
@@ -81,7 +81,7 @@ CFDictionaryRef _CFURLConnectionCopyTimingData(CFURLConnectionRef);
 #import "RuntimeApplicationChecksIOS.h"
 #import "WebCoreThreadRun.h"
 
-@interface NSURLRequest (iOSDetails)
+@interface NSURLRequest ()
 - (CFURLRequestRef) _CFURLRequest;
 @end
 #endif
@@ -92,7 +92,7 @@ CFDictionaryRef _CFURLConnectionCopyTimingData(CFURLConnectionRef);
 
 using namespace WebCore;
 
-@interface NSURLConnection (Details)
+@interface NSURLConnection ()
 -(id)_initWithRequest:(NSURLRequest *)request delegate:(id)delegate usesCache:(BOOL)usesCacheFlag maxContentLength:(long long)maxContentLength startImmediately:(BOOL)startImmediately connectionProperties:(NSDictionary *)connectionProperties;
 @end
 
index 3a3c683..e17cb9d 100644 (file)
@@ -31,6 +31,7 @@
 #import "AuthenticationChallenge.h"
 #import "AuthenticationMac.h"
 #import "Logging.h"
+#import "NSURLRequestSPI.h"
 #import "ResourceHandle.h"
 #import "ResourceHandleClient.h"
 #import "ResourceRequest.h"
 #import "SharedBuffer.h"
 #import "WebCoreURLResponse.h"
 
-@interface NSURLRequest (Details)
-- (id)_propertyForKey:(NSString *)key;
-@end
-
 using namespace WebCore;
 
 @implementation WebCoreResourceHandleAsDelegate
index 928d417..9337d13 100644 (file)
@@ -31,6 +31,7 @@
 #import "AuthenticationChallenge.h"
 #import "AuthenticationMac.h"
 #import "Logging.h"
+#import "NSURLRequestSPI.h"
 #import "ResourceHandle.h"
 #import "ResourceHandleClient.h"
 #import "ResourceRequest.h"
 #import "WebCoreURLResponse.h"
 #import <wtf/MainThread.h>
 
-@interface NSURLRequest (Details)
-- (id)_propertyForKey:(NSString *)key;
-@end
-
 using namespace WebCore;
 
 @implementation WebCoreResourceHandleAsOperationQueueDelegate
index efad071..ac8f087 100644 (file)
@@ -96,7 +96,7 @@ EXTERN_C CFStringRef const kCFHTTPCookieLocalFileDomain;
 // As a workaround for <rdar://problem/19025016>, we must forward declare this SPI regardless of whether
 // we are building with the Apple Internal SDK.
 #if defined(__OBJC__) && PLATFORM(IOS)
-@interface NSURLCache (Details)
+@interface NSURLCache ()
 -(id)_initWithMemoryCapacity:(NSUInteger)memoryCapacity diskCapacity:(NSUInteger)diskCapacity relativePath:(NSString *)path;
 @end
 #endif
@@ -106,7 +106,7 @@ enum : NSUInteger {
     NSHTTPCookieAcceptPolicyExclusivelyFromMainDocumentDomain = 3,
 };
 
-@interface NSCachedURLResponse (Details)
+@interface NSCachedURLResponse ()
 -(id)_initWithCFCachedURLResponse:(CFCachedURLResponseRef)cachedResponse;
 -(CFCachedURLResponseRef)_CFCachedURLResponse;
 @end
@@ -130,7 +130,7 @@ EXTERN_C CFArrayRef _CFHTTPParsedCookiesWithResponseHeaderFields(CFAllocatorRef
 #if defined(__OBJC__)
 
 #if !USE(APPLE_INTERNAL_SDK) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED == 1090)
-@interface NSHTTPCookieStorage (Details)
+@interface NSHTTPCookieStorage ()
 - (void)removeCookiesSinceDate:(NSDate *)date;
 - (id)_initWithCFHTTPCookieStorage:(CFHTTPCookieStorageRef)cfStorage;
 - (CFHTTPCookieStorageRef)_cookieStorage;
@@ -140,7 +140,7 @@ EXTERN_C CFArrayRef _CFHTTPParsedCookiesWithResponseHeaderFields(CFAllocatorRef
 
 // FIXME: Move +_setSharedHTTPCookieStorage: into the above section under !USE(APPLE_INTERNAL_SDK) when possible (soon).
 #if (TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
-@interface NSHTTPCookieStorage (Details)
+@interface NSHTTPCookieStorage ()
 + (void)_setSharedHTTPCookieStorage:(NSHTTPCookieStorage *)storage;
 @end
 #endif
index cc7189c..6a54e09 100644 (file)
@@ -46,7 +46,7 @@
 @interface AVPlayerController : UIResponder
 @end
 
-@interface AVPlayerController (Details)
+@interface AVPlayerController ()
 typedef NS_ENUM(NSInteger, AVPlayerControllerStatus) {
     AVPlayerControllerStatusUnknown = 0,
     AVPlayerControllerStatusReadyToPlay = 2,
@@ -87,7 +87,7 @@ typedef NS_ENUM(NSInteger, AVPlayerViewControllerExitFullScreenReason) {
 - (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler;
 @end
 
-@interface AVPlayerViewController (Details)
+@interface AVPlayerViewController ()
 - (instancetype)initWithPlayerLayerView:(AVPlayerLayerView *)playerLayerView;
 - (void)enterFullScreenAnimated:(BOOL)animated completionHandler:(void (^)(BOOL success, NSError *))completionHandler;
 - (void)exitFullScreenAnimated:(BOOL)animated completionHandler:(void (^)(BOOL success, NSError *))completionHandler;
@@ -112,7 +112,7 @@ typedef NS_ENUM(NSInteger, AVPlayerViewControllerExitFullScreenReason) {
 @interface AVValueTiming : NSObject <NSCoding, NSCopying, NSMutableCopying>
 @end
 
-@interface AVValueTiming (Details)
+@interface AVValueTiming ()
 + (AVValueTiming *)valueTimingWithAnchorValue:(double)anchorValue anchorTimeStamp:(NSTimeInterval)timeStamp rate:(double)rate;
 @property (NS_NONATOMIC_IOSONLY, readonly) double currentValue;
 @end
index cf2ce5c..6e60207 100644 (file)
@@ -31,7 +31,7 @@
 
 #else
 
-@interface NSURLAuthenticationChallenge (Details)
+@interface NSURLAuthenticationChallenge ()
 #if PLATFORM(IOS)
 +(NSURLAuthenticationChallenge *)_createAuthenticationChallengeForCFAuthChallenge:(CFURLAuthChallengeRef)cfChallenge sender:(id <NSURLAuthenticationChallengeSender>)sender;
 #else
diff --git a/Source/WebCore/platform/spi/cocoa/NSButtonCellSPI.h b/Source/WebCore/platform/spi/cocoa/NSButtonCellSPI.h
new file mode 100644 (file)
index 0000000..0df477e
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <AppKit/NSButtonCell.h>
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <AppKit/NSButtonCell_Private.h>
+
+#else
+
+@interface NSButtonCell ()
+- (void)_setState:(NSInteger)value animated:(BOOL)animated;
+- (void)_setHighlighted:(BOOL)flag animated:(BOOL)animated;
+- (void)_renderCurrentAnimationFrameInContext:(CGContextRef)ctxt atLocation:(NSPoint)where;
+- (BOOL)_stateAnimationRunning;
+@end
+
+#endif
+
+#endif
+
index 5a5cde1..44049ab 100644 (file)
@@ -34,7 +34,7 @@
 @interface NSCalendarDate : NSDate
 @end
 
-@interface NSCalendarDate (Details)
+@interface NSCalendarDate ()
 + (id)calendarDate;
 - (NSCalendarDate *)dateByAddingYears:(NSInteger)year months:(NSInteger)month days:(NSInteger)day hours:(NSInteger)hour minutes:(NSInteger)minute seconds:(NSInteger)second;
 @end
index f08a545..6751c08 100644 (file)
@@ -33,7 +33,7 @@
 
 #else
 
-@interface NSColor (Details)
+@interface NSColor ()
 + (NSColor *)systemRedColor;
 + (NSColor *)systemGreenColor;
 + (NSColor *)systemBlueColor;
index d437672..e1c842a 100644 (file)
@@ -35,7 +35,7 @@
 #define WEB_UWRITE (00200)
 #define WEB_UEXEC (00100)
 
-@interface NSFileManager (Details)
+@interface NSFileManager ()
 - (BOOL)_web_createFileAtPathWithIntermediateDirectories:(NSString *)path contents:(NSData *)contents attributes:(NSDictionary *)attributes directoryAttributes:(NSDictionary *)directoryAttributes;
 - (NSString *)_web_pathWithUniqueFilenameForPath:(NSString *)path;
 - (BOOL)_web_removeFileOnlyAtPath:(NSString *)path;
index 16cf2b3..e123ead 100644 (file)
@@ -31,7 +31,7 @@
 
 #else
 
-@interface NSString (Details)
+@interface NSString ()
 - (BOOL)_web_hasCaseInsensitivePrefix:(NSString *)suffix;
 - (NSString *)_web_stringByExpandingTildeInPath;
 @end
diff --git a/Source/WebCore/platform/spi/cocoa/NSURLConnectionSPI.h b/Source/WebCore/platform/spi/cocoa/NSURLConnectionSPI.h
new file mode 100644 (file)
index 0000000..3c336a4
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <Foundation/NSURLConnectionPrivate.h>
+
+#else
+
+@interface NSURLConnection ()
++ (CFRunLoopRef)resourceLoaderRunLoop;
+@end
+
+#endif
index 6d32964..3f3a3bc 100644 (file)
@@ -56,7 +56,7 @@
 - (void)download:(NSURLDownload *)download didFailWithError:(NSError *)error;
 @end
 
-@interface NSURLDownload (Details)
+@interface NSURLDownload ()
 - (instancetype)initWithRequest:(NSURLRequest *)request delegate:(id <NSURLDownloadDelegate>)delegate;
 @end
 
diff --git a/Source/WebCore/platform/spi/cocoa/NSURLRequestSPI.h b/Source/WebCore/platform/spi/cocoa/NSURLRequestSPI.h
new file mode 100644 (file)
index 0000000..c7ed002
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <Foundation/NSURLRequestPrivate.h>
+
+#else
+
+@interface NSURLRequest ()
+- (id)_propertyForKey:(NSString *)key;
+@end
+
+#endif
+
+
+
index fa97fe2..52a25a3 100644 (file)
@@ -63,7 +63,7 @@ extern "C" {
 @interface CAContext : NSObject
 @end
 
-@interface CAContext (Details)
+@interface CAContext ()
 + (NSArray *)allContexts;
 + (CAContext *)remoteContextWithOptions:(NSDictionary *)dict;
 + (id)objectForSlot:(uint32_t)name;
@@ -83,7 +83,7 @@ extern "C" {
 @property CGColorSpaceRef colorSpace;
 @end
 
-@interface CALayer (Details)
+@interface CALayer ()
 - (CAContext *)context;
 - (CGSize)size;
 - (void *)regionBeingDrawn;
@@ -97,7 +97,7 @@ extern "C" {
 @property BOOL shadowPathIsBounds;
 @end
 
-@interface CATiledLayer (Details)
+@interface CATiledLayer ()
 - (void)displayInRect:(CGRect)rect levelOfDetail:(int)levelOfDetail options:(NSDictionary *)dictionary;
 - (void)setNeedsDisplayInRect:(CGRect)rect levelOfDetail:(int)levelOfDetail options:(NSDictionary *)dictionary;
 @end
@@ -112,7 +112,7 @@ extern "C" {
 #endif
 
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
-@interface CAOpenGLLayer (Details)
+@interface CAOpenGLLayer ()
 @property CGColorSpaceRef colorspace;
 @end
 #endif
@@ -132,7 +132,7 @@ typedef struct CAColorMatrix CAColorMatrix;
 @interface CAFilter : NSObject <NSCopying, NSMutableCopying, NSCoding>
 @end
 
-@interface CAFilter (Details)
+@interface CAFilter ()
 + (CAFilter *)filterWithType:(NSString *)type;
 @property (copy) NSString *name;
 @end
@@ -144,7 +144,7 @@ typedef enum {
     kCATransactionPhasePostCommit,
 } CATransactionPhase;
 
-@interface CATransaction (Details)
+@interface CATransaction ()
 + (void)addCommitHandler:(void(^)(void))block forPhase:(CATransactionPhase)phase;
 @end
 #endif
index a5debc9..ac8994b 100644 (file)
@@ -41,7 +41,7 @@ enum {
 @interface WebFilterEvaluator : NSObject
 @end
 
-@interface WebFilterEvaluator (Details)
+@interface WebFilterEvaluator ()
 + (BOOL)isManagedSession;
 - (BOOL)wasBlocked;
 - (NSData *)addData:(NSData *)receivedData;
index a54fc15..c221ebe 100644 (file)
 @interface CUIStyleEffectConfiguration : NSObject <NSCopying>
 @end
 
-@interface CUIStyleEffectConfiguration (Details)
+@interface CUIStyleEffectConfiguration ()
 @property (nonatomic) BOOL useSimplifiedEffect;
 @end
 
 @interface CUICatalog : NSObject
 @end
 
-@interface CUICatalog (Details)
+@interface CUICatalog ()
 - (BOOL)drawGlyphs:(const CGGlyph[])glyphs atPositions:(const CGPoint[])positions inContext:(CGContextRef)context withFont:(CTFontRef)font count:(NSUInteger)count stylePresetName:(NSString *)stylePresetName styleConfiguration:(CUIStyleEffectConfiguration *)styleConfiguration foregroundColor:(CGColorRef)foregroundColor;
 @end
 
index ce868ed..bcece1b 100644 (file)
@@ -44,7 +44,7 @@ typedef void (^LSAppLinkOpenCompletionHandler)(BOOL success, NSError *error);
 @interface LSAppLink : NSObject <NSSecureCoding>
 @end
 
-@interface LSAppLink (Details)
+@interface LSAppLink ()
 + (void)openWithURL:(NSURL *)aURL completionHandler:(LSAppLinkOpenCompletionHandler)completionHandler;
 - (void)openInWebBrowser:(BOOL)inWebBrowser setAppropriateOpenStrategyAndWebBrowserState:(NSDictionary<NSString *, id> *)state completionHandler:(LSAppLinkOpenCompletionHandler)completionHandler;
 @end
index a1e6ecf..729be07 100644 (file)
@@ -55,7 +55,7 @@ typedef NSInteger MPRouteDiscoveryMode;
 @interface MPAVRoutingController : NSObject
 @end
 
-@interface MPAVRoutingController (Details)
+@interface MPAVRoutingController ()
 - (instancetype)initWithName:(NSString *)name;
 @property (nonatomic, assign) MPRouteDiscoveryMode discoveryMode;
 @end
@@ -63,14 +63,14 @@ typedef NSInteger MPRouteDiscoveryMode;
 @interface MPAudioVideoRoutingPopoverController : UIPopoverController
 @end
 
-@interface MPAudioVideoRoutingPopoverController (Details)
+@interface MPAudioVideoRoutingPopoverController ()
 - (id)initWithType:(MPAVItemType)avItemType;
 @end
 
 @interface MPAudioVideoRoutingActionSheet : UIActionSheet
 @end
 
-@interface MPAudioVideoRoutingActionSheet (Details)
+@interface MPAudioVideoRoutingActionSheet ()
 - (id)initWithType:(MPAVItemType)avItemType;
 - (void)showWithValidInterfaceOrientationMaskBlock:(UIInterfaceOrientationMask (^)(void))block completionHandler:(void (^)())completionHandler;
 @end
index 8be6b62..691b246 100644 (file)
@@ -34,7 +34,7 @@
 @interface QLPreviewConverter : NSObject
 @end
 
-@interface QLPreviewConverter (Details)
+@interface QLPreviewConverter ()
 - (NSURLRequest *)safeRequestForRequest:(NSURLRequest *)request;
 - (id)initWithConnection:(NSURLConnection *)connection delegate:(id)delegate response:(NSURLResponse *)response options:(NSDictionary *)options;
 - (id)initWithData:(NSData *)data name:(NSString *)name uti:(NSString *)uti options:(NSDictionary *)options;
index 08ace31..b9814a5 100644 (file)
@@ -31,7 +31,7 @@
 
 #import <UIKit/UIColor.h>
 
-@interface UIColor (Details)
+@interface UIColor ()
 
 + (UIColor *)systemBlueColor;
 + (UIColor *)systemGrayColor;
index 2e321f3..cc5f415 100644 (file)
@@ -40,7 +40,7 @@
 @interface QLPreviewMenuItem : NSObject
 @end
 
-@interface QLPreviewMenuItem (Details)
+@interface QLPreviewMenuItem ()
 typedef NS_ENUM(NSInteger, QLPreviewStyle) {
     QLPreviewStyleStandaloneWindow,
     QLPreviewStylePopover
index d2af123..29833c6 100644 (file)
 @end
 #endif
 
-@interface NSServicesRolloverButtonCell (Details)
+@interface NSServicesRolloverButtonCell ()
 + (NSServicesRolloverButtonCell *)serviceRolloverButtonCellForStyle:(NSSharingServicePickerStyle)style;
 - (NSRect)rectForBounds:(NSRect)bounds preferredEdge:(NSRectEdge)preferredEdge;
 @end
@@ -177,7 +177,7 @@ const double progressAnimationNumFrames = 256;
 @end
 
 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
-@interface NSSearchFieldCell(Details)
+@interface NSSearchFieldCell()
 @property (getter=isCenteredLook) BOOL centeredLook;
 @end
 #endif
index 8d25bdf..c5aef13 100644 (file)
@@ -1,3 +1,17 @@
+2015-07-29  Dean Jackson  <dino@apple.com>
+
+        Don't use (Details) when exposing SPI
+        https://bugs.webkit.org/show_bug.cgi?id=147426
+        <rdar://problem/22062407>
+
+        Reviewed by Dan Bernstein.
+
+        If we are declaring the interface without any implementation,
+        we should use class extensions.
+
+        * WebView/WebFrameView.mm:
+        * WebView/WebPDFView.mm:
+
 2015-07-29  Andy VanWagoner  <thetalecrafter@gmail.com>
 
         Implement basic types for ECMAScript Internationalization API
index 6c68024..1c7fa4a 100644 (file)
@@ -100,7 +100,7 @@ using namespace WebCore;
 @end
 
 #if PLATFORM(MAC)
-@interface NSView (Details)
+@interface NSView ()
 - (void)setBackgroundColor:(NSColor *)color;
 @end
 #endif
index 32e94f3..01e695e 100644 (file)
@@ -116,7 +116,7 @@ extern "C" NSString *_NSPathForSystemFramework(NSString *framework);
 - (NSSet *)_visiblePDFPages;
 @end;
 
-@interface NSView (Details)
+@interface NSView ()
 - (void)_recursiveDisplayRectIfNeededIgnoringOpacity:(NSRect)rect isVisibleRect:(BOOL)isVisibleRect rectIsVisibleRectForView:(NSView *)visibleView topView:(BOOL)topView;
 - (void)_recursiveDisplayAllDirtyWithLockFocus:(BOOL)needsLockFocus visRect:(NSRect)visRect;
 - (void)_recursive:(BOOL)recurse displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)context topView:(BOOL)topView;
index 0814e1a..b3f851a 100644 (file)
@@ -1,3 +1,24 @@
+2015-07-29  Dean Jackson  <dino@apple.com>
+
+        Don't use (Details) when exposing SPI
+        https://bugs.webkit.org/show_bug.cgi?id=147426
+        <rdar://problem/22062407>
+
+        Reviewed by Dan Bernstein.
+
+        If we are declaring the interface without any implementation,
+        we should use class extensions.
+
+        * Platform/spi/ios/AssertionServicesSPI.h:
+        * Platform/spi/ios/CorePDFSPI.h:
+        * Platform/spi/ios/DataDetectorsUISPI.h:
+        * Platform/spi/ios/ManagedConfigurationSPI.h:
+        * Platform/spi/ios/UIKitSPI.h:
+        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
+        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
+        * UIProcess/_WKWebViewPrintFormatter.mm:
+        * UIProcess/mac/WebPageProxyMac.mm:
+
 2015-07-30  Chris Dumez  <cdumez@apple.com>
 
         [WK2][NetworkCache] Stop closing files on the main thread
index ab995cb..9145317 100644 (file)
@@ -77,7 +77,7 @@ typedef void (^BKSProcessAssertionAcquisitionHandler)(BOOL acquired);
 @interface BKSProcessAssertion : NSObject
 @end
 
-@interface BKSProcessAssertion (Details)
+@interface BKSProcessAssertion ()
 @property (nonatomic, assign) BKSProcessAssertionFlags flags;
 - (id)initWithPID:(pid_t)pid flags:(BKSProcessAssertionFlags)flags reason:(BKSProcessAssertionReason)reason name:(NSString *)name withHandler:(BKSProcessAssertionAcquisitionHandler)handler;
 - (void)invalidate;
index 1cb99dd..47e680f 100644 (file)
@@ -42,7 +42,7 @@
 @interface UIPDFPage : NSObject
 @end
 
-@interface UIPDFPage (Details)
+@interface UIPDFPage ()
 - (CGRect)cropBoxAccountForRotation;
 - (UIPDFSelection *)findString:(NSString *)string fromSelection:(UIPDFSelection *)selection options:(NSStringCompareOptions)options;
 @end
@@ -50,7 +50,7 @@
 @interface UIPDFDocument : NSObject
 @end
 
-@interface UIPDFDocument (Details)
+@interface UIPDFDocument ()
 - (UIPDFPage *)pageAtIndex:(NSUInteger)index;
 - (id)initWithCGPDFDocument:(CGPDFDocumentRef)document;
 @property (assign, readonly) NSUInteger numberOfPages;
@@ -68,7 +68,7 @@ typedef enum {
 @interface UIPDFAnnotationController : NSObject<UIGestureRecognizerDelegate>
 @end
 
-@interface UIPDFAnnotationController (Details)
+@interface UIPDFAnnotationController ()
 @property (nonatomic, readonly) UIPDFPageView *pageView;
 @property (nonatomic, assign) id<NSObject, UIPDFAnnotationControllerDelegate> delegate;
 @end
@@ -78,7 +78,7 @@ typedef enum {
 @interface UIPDFPageView : UIView
 @end
 
-@interface UIPDFPageView (Details)
+@interface UIPDFPageView ()
 - (id)initWithPage:(UIPDFPage *) page tiledContent:(BOOL)tiled;
 - (CGRect)convertRectFromPDFPageSpace:(CGRect)p;
 - (void)highlightSearchSelection:(UIPDFSelection *)selection animated:(BOOL)animated;
@@ -105,7 +105,7 @@ typedef enum {
 @interface UIPDFAnnotation : NSObject
 @end
 
-@interface UIPDFAnnotation (Details)
+@interface UIPDFAnnotation ()
 - (CGRect)Rect;
 @property (nonatomic, assign) UIPDFAnnotationController* annotationController;
 @end
@@ -116,7 +116,7 @@ typedef enum {
 @interface UIPDFLinkAnnotation : UIPDFMarkupAnnotation
 @end
 
-@interface UIPDFLinkAnnotation (Details)
+@interface UIPDFLinkAnnotation ()
 - (NSURL *)url;
 - (NSUInteger)pageNumber;
 @end
@@ -130,7 +130,7 @@ typedef enum {
 @interface UIPDFSelection : NSObject
 @end
 
-@interface UIPDFSelection (Details)
+@interface UIPDFSelection ()
 - (id)initWithPage:(UIPDFPage *)page fromIndex:(NSUInteger)startIndex toIndex:(NSUInteger)endIndex;
 - (CGRect)bounds;
 - (UIPDFPage *)page;
index b2587ee..fa2d8a5 100644 (file)
@@ -36,7 +36,7 @@
 @interface DDAction : NSObject
 @end
 
-@interface DDAction (Details)
+@interface DDAction ()
 - (BOOL)hasUserInterface;
 - (NSString *)localizedName;
 @property (readonly) NSString *actionUTI;
@@ -48,7 +48,7 @@
 @interface DDDetectionController : NSObject <UIActionSheetDelegate>
 @end
 
-@interface DDDetectionController (Details)
+@interface DDDetectionController ()
 + (DDDetectionController *)sharedController;
 + (NSArray *)tapAndHoldSchemes;
 - (void)performAction:(DDAction *)action fromAlertController:(UIAlertController *)alertController interactionDelegate:(id <DDDetectionControllerInteractionDelegate>)interactionDelegate;
index 8a5ad14..b2c68d5 100644 (file)
@@ -49,7 +49,7 @@ typedef enum MCRestrictedBoolType {
 @interface MCProfileConnection : NSObject
 @end
 
-@interface MCProfileConnection (Details)
+@interface MCProfileConnection ()
 + (MCProfileConnection *)sharedConnection;
 - (MCRestrictedBoolType)effectiveBoolValueForSetting:(NSString *)feature;
 @end
index 3142bb7..ed44f39 100644 (file)
 #if defined(__has_include) && __has_include(<UIKit/UIDocumentMenuViewController_Private.h>)
 #import <UIKit/UIDocumentMenuViewController_Private.h>
 #else
-@interface UIDocumentMenuViewController (Details)
+@interface UIDocumentMenuViewController ()
 @property (nonatomic, assign, setter = _setIgnoreApplicationEntitlementForImport:, getter = _ignoreApplicationEntitlementForImport) BOOL _ignoreApplicationEntitlementForImport;
 @end
 #endif
 
 #else
 
-@interface UIAlertController (Details)
+@interface UIAlertController ()
 - (void)_addActionWithTitle:(NSString *)title style:(UIAlertActionStyle)style handler:(void (^)(void))handler;
 - (void)_addActionWithTitle:(NSString *)title style:(UIAlertActionStyle)style handler:(void (^)(void))handler shouldDismissHandler:(BOOL (^)(void))shouldDismissHandler;
 @property (nonatomic) UIAlertControllerStyle preferredStyle;
 @end
 
-@interface UIApplication (Details)
+@interface UIApplication ()
 - (UIInterfaceOrientation)interfaceOrientation;
 - (void)_cancelAllTouches;
 - (CGFloat)statusBarHeight;
@@ -108,13 +108,13 @@ typedef NS_ENUM(NSInteger, UIDatePickerPrivateMode)  {
     UIDatePickerModeYearAndMonth = 4269,
 };
 
-@interface UIDatePicker (Details)
+@interface UIDatePicker ()
 @property (nonatomic, readonly, getter=_contentWidth) CGFloat contentWidth;
 @end
 
 #define UICurrentUserInterfaceIdiomIsPad() ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
 
-@interface UIDevice (Details)
+@interface UIDevice ()
 @property (nonatomic, readonly, retain) NSString *buildVersion;
 @end
 
@@ -129,7 +129,7 @@ typedef enum {
     kUIKeyboardInputPreProcessed           = 1 << 7,
 } UIKeyboardInputFlags;
 
-@interface UIEvent (Details)
+@interface UIEvent ()
 @property (nonatomic, readonly) UIKeyboardInputFlags _inputFlags;
 - (void *)_hidEvent;
 - (NSString *)_unmodifiedInput;
@@ -142,7 +142,7 @@ typedef enum {
     UIFontTraitPlain = 0x00000000,
 } UIFontTrait;
 
-@interface UIFont (Details)
+@interface UIFont ()
 + (UIFont *)fontWithFamilyName:(NSString *)familyName traits:(UIFontTrait)traits size:(CGFloat)fontSize;
 @end
 
@@ -150,15 +150,15 @@ typedef enum {
     UIAllCorners = 0xFF,
 } UIRectCorners;
 
-@interface UIImagePickerController (Details)
+@interface UIImagePickerController ()
 @property (nonatomic, setter=_setAllowsMultipleSelection:) BOOL _allowsMultipleSelection;
 @end
 
-@interface UIImage (Details)
+@interface UIImage ()
 - (id)initWithCGImage:(CGImageRef)CGImage imageOrientation:(UIImageOrientation)imageOrientation;
 @end
 
-@interface UIKeyCommand (Details)
+@interface UIKeyCommand ()
 @property (nonatomic, readonly) UIEvent *_triggeringEvent;
 @end
 
@@ -182,7 +182,7 @@ typedef enum {
 @interface UIKeyboard : UIView <UIKeyboardImplGeometryDelegate>
 @end
 
-@interface UIKeyboard (Details)
+@interface UIKeyboard ()
 + (CGSize)defaultSizeForInterfaceOrientation:(UIInterfaceOrientation)orientation;
 - (void)activate;
 - (void)geometryChangeDone:(BOOL)keyboardVisible;
@@ -192,7 +192,7 @@ typedef enum {
 @interface UIKeyboardImpl : UIView <UIKeyboardCandidateListDelegate>
 @end
 
-@interface UIKeyboardImpl (Details)
+@interface UIKeyboardImpl ()
 + (UIKeyboardImpl *)activeInstance;
 + (UIKeyboardImpl *)sharedInstance;
 + (CGSize)defaultSizeForInterfaceOrientation:(UIInterfaceOrientation)orientation;
@@ -204,11 +204,11 @@ typedef enum {
 @property (nonatomic, readwrite, retain) UIResponder <UIKeyInput> *delegate;
 @end
 
-@interface UIGestureRecognizer (Details)
+@interface UIGestureRecognizer ()
 - (void)requireOtherGestureToFail:(UIGestureRecognizer *)gestureRecognizer;
 @end
 
-@interface UILongPressGestureRecognizer (Details)
+@interface UILongPressGestureRecognizer ()
 @property (nonatomic) CFTimeInterval delay;
 @property (nonatomic, readonly) CGPoint startPoint;
 @end
@@ -216,7 +216,7 @@ typedef enum {
 @interface _UIWebHighlightLongPressGestureRecognizer : UILongPressGestureRecognizer
 @end
 
-@interface _UIWebHighlightLongPressGestureRecognizer (Details)
+@interface _UIWebHighlightLongPressGestureRecognizer ()
 - (void)cancel;
 @end
 
@@ -225,7 +225,7 @@ typedef enum {
 
 @class UIKeyboardRotationState;
 
-@interface UIPeripheralHost (Details)
+@interface UIPeripheralHost ()
 + (UIPeripheralHost *)sharedInstance;
 + (UIPeripheralHost *)activeInstance;
 + (CGRect)visiblePeripheralFrame;
@@ -236,29 +236,29 @@ typedef enum {
 @interface UIPickerContentView : UIView
 @end
 
-@interface UIPickerContentView (Details)
+@interface UIPickerContentView ()
 +(CGFloat)_checkmarkOffset;
 -(CGFloat)labelWidthForBounds:(CGRect)bounds;
 @property (nonatomic, getter=isChecked) BOOL checked;
 @property (nonatomic, readonly) UILabel *titleLabel;
 @end
 
-@interface UIPickerView (Details)
+@interface UIPickerView ()
 + (CGSize)defaultSizeForCurrentOrientation;
 - (void)_setUsesCheckedSelection:(BOOL)usesCheckedSelection;
 @property (nonatomic, setter=_setMagnifierEnabled:) BOOL _magnifierEnabled;
 @end
 
-@interface UIResponder (Details)
+@interface UIResponder ()
 - (void)_handleKeyUIEvent:(UIEvent *)event;
 @end
 
 @class CADisplay;
-@interface UIScreen (Details)
+@interface UIScreen ()
 - (CADisplay *)_display;
 @end
 
-@interface UIScrollView (Details)
+@interface UIScrollView ()
 - (void)_stopScrollingAndZoomingAnimations;
 - (void)_zoomToCenter:(CGPoint)center scale:(CGFloat)scale duration:(CFTimeInterval)duration force:(BOOL)force;
 - (void)_zoomToCenter:(CGPoint)center scale:(CGFloat)scale duration:(CFTimeInterval)duration;
@@ -274,7 +274,7 @@ typedef enum {
 - (CGSize)_legacy_sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode;
 @end
 
-@interface UITapGestureRecognizer (Details)
+@interface UITapGestureRecognizer ()
 @property (nonatomic, readonly) CGPoint location;
 @end
 
@@ -318,7 +318,7 @@ typedef enum {
 @interface UITextInteractionAssistant : NSObject
 @end
 
-@interface UITextInteractionAssistant (Details)
+@interface UITextInteractionAssistant ()
 - (void)activateSelection;
 - (void)deactivateSelection;
 - (void)didEndScrollingOverflow;
@@ -327,7 +327,7 @@ typedef enum {
 - (void)willStartScrollingOverflow;
 @end
 
-@interface UIViewController (Details)
+@interface UIViewController ()
 + (UIViewController *)_viewControllerForFullScreenPresentationFromView:(UIView *)view;
 + (UIViewController *)viewControllerForView:(UIView *)view;
 @end
@@ -347,6 +347,7 @@ typedef enum {
 @interface _UIViewControllerTransitionContext : NSObject <UIViewControllerContextTransitioningEx>
 @end
 
+// FIXME: Separate the parts we are simply re-declaring from the ones we are overriding.
 @interface _UIViewControllerTransitionContext (Details)
 - (void) _setTransitionIsInFlight:(BOOL)flag;
 @property (nonatomic, assign, setter=_setAllowUserInteraction:, getter=_allowUserInteraction) BOOL _allowUserInteraction;
@@ -361,7 +362,7 @@ typedef enum {
 @interface _UIViewControllerOneToOneTransitionContext : _UIViewControllerTransitionContext
 @end
 
-@interface _UIViewControllerOneToOneTransitionContext (Details)
+@interface _UIViewControllerOneToOneTransitionContext ()
 @property (nonatomic, assign, setter=_setFromEndFrame:) CGRect fromEndFrame;
 @property (nonatomic, assign, setter=_setFromStartFrame:) CGRect fromStartFrame;
 @property (nonatomic, assign, setter=_setToEndFrame:) CGRect toEndFrame;
@@ -389,7 +390,7 @@ typedef NS_ENUM (NSInteger, _UIBackdropMaskViewFlags) {
     _UIBackdropMaskViewAll = _UIBackdropMaskViewGrayscaleTint | _UIBackdropMaskViewColorTint | _UIBackdropMaskViewFilters,
 };
 
-@interface UIView (Details)
+@interface UIView ()
 + (BOOL)_isInAnimationBlock;
 - (CGSize)size;
 - (void)setFrameOrigin:(CGPoint)origin;
@@ -400,7 +401,7 @@ typedef NS_ENUM (NSInteger, _UIBackdropMaskViewFlags) {
 @interface UIWebSelectionAssistant : NSObject <UIGestureRecognizerDelegate>
 @end
 
-@interface UIWebSelectionAssistant (Details)
+@interface UIWebSelectionAssistant ()
 - (BOOL)isSelectionGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer;
 - (id)initWithView:(UIView *)view;
 - (void)clearSelection;
@@ -451,7 +452,7 @@ typedef NS_ENUM(NSInteger, UIWKGestureType) {
 @interface UIWKSelectionAssistant : UIWebSelectionAssistant
 @end
 
-@interface UIWKSelectionAssistant (Details)
+@interface UIWKSelectionAssistant ()
 - (BOOL)shouldHandleSingleTapAtPoint:(CGPoint)point;
 - (void)blockSelectionChangedWithTouch:(UIWKSelectionTouch)touch withFlags:(UIWKSelectionFlags)flags growThreshold:(CGFloat)grow shrinkThreshold:(CGFloat)shrink;
 - (void)selectionChangedWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState withFlags:(UIWKSelectionFlags)flags;
@@ -550,7 +551,7 @@ typedef enum {
 @interface UIWebFormAccessory : UIInputView
 @end
 
-@interface UIWebFormAccessory (Details)
+@interface UIWebFormAccessory ()
 - (void)hideAutoFillButton;
 - (void)setClearVisible:(BOOL)flag;
 - (void)showAutoFillButtonWithTitle:(NSString *)title;
@@ -571,7 +572,7 @@ typedef enum {
 @interface UIWebGeolocationPolicyDecider : NSObject
 @end
 
-@interface UIWebGeolocationPolicyDecider (Details)
+@interface UIWebGeolocationPolicyDecider ()
 + (instancetype)sharedPolicyDecider;
 - (void)decidePolicyForGeolocationRequestFromOrigin:(id)securityOrigin requestingURL:(NSURL *)requestingURL window:(UIWindow *)window listener:(id)listener;
 @end
@@ -617,7 +618,7 @@ struct _UIWebTouchEvent {
 @interface UIWebTouchEventsGestureRecognizer : UIGestureRecognizer
 @end
 
-@interface UIWebTouchEventsGestureRecognizer (Details)
+@interface UIWebTouchEventsGestureRecognizer ()
 - (id)initWithTarget:(id)target action:(SEL)action touchDelegate:(id <UIWebTouchEventsGestureRecognizerDelegate>)delegate;
 @property (nonatomic, getter=isDefaultPrevented) BOOL defaultPrevented;
 @property (nonatomic, readonly) BOOL inJavaScriptGesture;
@@ -643,7 +644,7 @@ typedef NS_ENUM(NSInteger, _UIBackdropViewStylePrivate) {
 @interface _UIHighlightView : UIView
 @end
 
-@interface _UIHighlightView (Details)
+@interface _UIHighlightView ()
 - (void)setColor:(UIColor *)aColor;
 - (void)setCornerRadii:(NSArray *)cornerRadii;
 - (void)setCornerRadius:(CGFloat)aCornerRadius;
@@ -654,7 +655,7 @@ typedef NS_ENUM(NSInteger, _UIBackdropViewStylePrivate) {
 @interface _UINavigationParallaxTransition : NSObject <UIViewControllerAnimatedTransitioningEx>
 @end
 
-@interface _UINavigationParallaxTransition (Details)
+@interface _UINavigationParallaxTransition ()
 - (instancetype) initWithCurrentOperation:(UINavigationControllerOperation)operation;
 @end
 
@@ -663,7 +664,7 @@ typedef NS_ENUM(NSInteger, _UIBackdropViewStylePrivate) {
 @interface _UINavigationInteractiveTransitionBase : UIPercentDrivenInteractiveTransition <UIGestureRecognizerDelegate>
 @end
 
-@interface _UINavigationInteractiveTransitionBase (Details)
+@interface _UINavigationInteractiveTransitionBase ()
 - (id)initWithGestureRecognizerView:(UIView *)gestureRecognizerView animator:(id<UIViewControllerAnimatedTransitioning>)animator delegate:(id<_UINavigationInteractiveTransitionBaseDelegate>)delegate;
 @property (nonatomic, assign) BOOL shouldReverseTranslation;
 @property (nonatomic, retain) _UINavigationParallaxTransition *animationController;
@@ -679,9 +680,10 @@ typedef NS_ENUM(NSInteger, _UIBackdropViewStylePrivate) {
 
 @class BKSAnimationFenceHandle;
 
-@interface UIWindow (Details)
+@interface UIWindow ()
 + (BKSAnimationFenceHandle *)_synchronizedDrawingFence;
 + (mach_port_t)_synchronizeDrawingAcrossProcesses;
+- (void)_setWindowResolution:(CGFloat)resolution displayIfChanged:(BOOL)displayIfChanged;
 @end
 
 @interface UIWebScrollView : UIScrollView
@@ -692,7 +694,7 @@ typedef NS_ENUM(NSInteger, _UIBackdropViewStylePrivate) {
 
 @class WAKWindow;
 
-@interface UIWebTiledView (Details)
+@interface UIWebTiledView ()
 - (void)setWAKWindow:(WAKWindow *)window;
 @end
 
@@ -703,7 +705,7 @@ typedef enum {
     UIEveryDocumentMask = 0xFFFFFF,
 } UIDocumentMask;
 
-@interface UIWebDocumentView (Details)
+@interface UIWebDocumentView ()
 - (void)setDelegate:(id)delegate;
 - (void)setAutoresizes:(BOOL)flag;
 - (void)setMinimumSize:(CGSize)aSize;
@@ -718,14 +720,14 @@ typedef enum {
 
 @class WebView;
 
-@interface UIWebBrowserView (Details)
+@interface UIWebBrowserView ()
 - (WebView *)webView;
 - (void)setPaused:(BOOL)paused;
 - (void)sendScrollEventIfNecessaryWasUserScroll:(BOOL)userScroll;
 @property (nonatomic) BOOL inputViewObeysDOMFocus;
 @end
 
-@interface UIDocumentMenuViewController (Details)
+@interface UIDocumentMenuViewController ()
 @property (nonatomic, assign, setter = _setIgnoreApplicationEntitlementForImport:, getter = _ignoreApplicationEntitlementForImport) BOOL _ignoreApplicationEntitlementForImport;
 @end
 
@@ -734,7 +736,7 @@ typedef enum {
 @interface UIDocumentPasswordView : UIView <UITextFieldDelegate>
 @end
 
-@interface UIDocumentPasswordView (Details)
+@interface UIDocumentPasswordView ()
 
 - (id)initWithDocumentName:(NSString *)documentName;
 
index 6094fc0..b7a5ea7 100644 (file)
@@ -48,11 +48,11 @@ static NSString * const typeStringKey = @"typeString";
 
 static RefPtr<API::Dictionary> createEncodedObject(WKRemoteObjectEncoder *, id);
 
-@interface NSMethodSignature (Details)
+@interface NSMethodSignature ()
 - (NSString *)_typeString;
 @end
 
-@interface NSCoder (Details)
+@interface NSCoder ()
 - (void)validateClassSupportsSecureCoding:(Class)objectClass;
 @end
 
index 046d09d..08b98a8 100644 (file)
@@ -32,7 +32,7 @@
 #import "WKWebViewInternal.h"
 #import <wtf/RetainPtr.h>
 
-@interface UIPrintFormatter (Details)
+@interface UIPrintFormatter ()
 - (CGRect)_pageContentRect:(BOOL)firstPage;
 - (void)_recalcIfNecessary;
 @end
index b2928cf..394eeaf 100644 (file)
@@ -57,7 +57,7 @@
 #import <wtf/NeverDestroyed.h>
 #import <wtf/text/StringConcatenate.h>
 
-@interface NSApplication (Details)
+@interface NSApplication ()
 - (void)speakString:(NSString *)string;
 @end
 
index fee37b3..f4400a4 100644 (file)
@@ -1,3 +1,22 @@
+2015-07-29  Dean Jackson  <dino@apple.com>
+
+        Don't use (Details) when exposing SPI
+        https://bugs.webkit.org/show_bug.cgi?id=147426
+        <rdar://problem/22062407>
+
+        Reviewed by Dan Bernstein.
+
+        If we are declaring the interface without any implementation,
+        we should use class extensions.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        * DumpRenderTree/mac/EventSendingController.mm:
+        * DumpRenderTree/mac/PixelDumpSupportMac.mm:
+        * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
+        * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
+        * WebKitTestRunner/mac/PlatformWebViewMac.mm:
+        * WebKitTestRunner/mac/TestControllerMac.mm:
+
 2015-07-30  Aakash Jain  <aakash_jain@apple.com>
 
         Replace Google App Engine with AppScale
index d206d8f..6e409af 100644 (file)
@@ -145,12 +145,12 @@ using namespace std;
 @end
 
 #if USE(APPKIT)
-@interface NSSound (Details)
+@interface NSSound ()
 + (void)_setAlertType:(NSUInteger)alertType;
 @end
 #endif
 
-@interface WebView (Details)
+@interface WebView ()
 - (BOOL)_flushCompositingChanges;
 @end
 
index 1892e77..b903ea7 100644 (file)
@@ -56,7 +56,7 @@
 #if !PLATFORM(IOS)
 extern "C" void _NSNewKillRingSequence();
 
-@interface NSApplication (Details)
+@interface NSApplication ()
 - (void)_setCurrentEvent:(NSEvent *)event;
 @end
 #endif
index ebeb7c1..189093a 100644 (file)
@@ -45,7 +45,7 @@
 #import <WebKit/WebKit.h>
 #import <WebKit/WebViewPrivate.h>
 
-@interface CATransaction (Details)
+@interface CATransaction ()
 + (void)synchronize;
 @end
 
index 8712726..ffe7112 100644 (file)
@@ -31,7 +31,7 @@
 +(void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString *)host;
 @end
 
-@interface NSSound (Details)
+@interface NSSound ()
 + (void)_setAlertType:(NSUInteger)alertType;
 @end
 
index 92715e1..15531bb 100644 (file)
 
 @end
 
-@interface UIWindow (Details)
+@interface UIWindow ()
 
 - (void)_setWindowResolution:(CGFloat)resolution displayIfChanged:(BOOL)displayIfChanged;
 
index 11bf1fd..505fd6e 100644 (file)
@@ -111,7 +111,7 @@ enum {
 }
 @end
 
-@interface NSWindow (Details)
+@interface NSWindow ()
 
 - (void)_setWindowResolution:(CGFloat)resolution displayIfChanged:(BOOL)displayIfChanged;
 
index e5e72c6..2bcaec3 100644 (file)
@@ -39,7 +39,7 @@
 #import <WebKit/_WKUserContentExtensionStorePrivate.h>
 #import <mach-o/dyld.h>
 
-@interface NSSound (Details)
+@interface NSSound ()
 + (void)_setAlertType:(NSUInteger)alertType;
 @end