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

Changeset 176448 in webkit


Ignore:
Timestamp:
Nov 21, 2014, 8:40:55 AM (12 years ago)
Author:
dbates@webkit.org
Message:

[iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC
https://bugs.webkit.org/show_bug.cgi?id=138930

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Rename header MPAVRoutingControllerSPI.h to MediaPlayerSPI.h.
  • loader/cocoa/SubresourceLoaderCocoa.mm: Move NSCachedURLResponse forward declarations to file

CFNetworkSPI.h and include header CFNetworkSPI.h.

  • loader/mac/ResourceLoaderMac.mm: Ditto.
  • platform/audio/ios/MediaSessionManagerIOS.mm: Substitute MediaPlayerSPI.h for MPAVRoutingControllerSPI.h.
  • platform/spi/cf/CFNetworkSPI.h: Add more SPI.
  • platform/spi/cg/CoreGraphicsSPI.h: Ditto.
  • platform/spi/cocoa/QuartzCoreSPI.h: Ditto.
  • platform/spi/ios/MediaPlayerSPI.h: Renamed from Source/WebCore/platform/spi/ios/MPAVRoutingControllerSPI.h.

Source/WebKit2:

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm: Remove forward declaration for NSCachedURLResponse

methods as this functionality was incorporated into CFNetworkSPI.h, which is included by this file.

  • Platform/mac/LayerHostingContext.mm: Moved QuartzCore forward declarations from this file to file

QuartzCoreSPI.h and included header QuartzCoreSPI.h.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Include header XPCSPI.h.
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Remove forward declarations of

XPC SPI since these declarations are part of XCPSPI.h, which is included by header XPCServiceEntryPoint.h.

  • UIProcess/API/Cocoa/WKWebView.mm: Remove unnecessary include of header QuartzCore/CARenderServer.h

as it will be included by header QuartzCoreSPI.h.

  • UIProcess/Network/NetworkProcessProxy.cpp: Include header XPCSPI.h when building for iOS with

USE(XPC_SERVICES) enabled.

  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Include header MediaPlayerSPI.h instead of including

MediaPlayer private headers directly. Also sort the list of #import directives.

Location:
trunk/Source
Files:
16 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r176447 r176448  
     12014-11-21  Daniel Bates  <dabates@apple.com>
     2
     3        [iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC
     4        https://bugs.webkit.org/show_bug.cgi?id=138930
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * WebCore.xcodeproj/project.pbxproj: Rename header MPAVRoutingControllerSPI.h to MediaPlayerSPI.h.
     9        * loader/cocoa/SubresourceLoaderCocoa.mm: Move NSCachedURLResponse forward declarations to file
     10        CFNetworkSPI.h and include header CFNetworkSPI.h.
     11        * loader/mac/ResourceLoaderMac.mm: Ditto.
     12        * platform/audio/ios/MediaSessionManagerIOS.mm: Substitute MediaPlayerSPI.h for MPAVRoutingControllerSPI.h.
     13        * platform/spi/cf/CFNetworkSPI.h: Add more SPI.
     14        * platform/spi/cg/CoreGraphicsSPI.h: Ditto.
     15        * platform/spi/cocoa/QuartzCoreSPI.h: Ditto.
     16        * platform/spi/ios/MediaPlayerSPI.h: Renamed from Source/WebCore/platform/spi/ios/MPAVRoutingControllerSPI.h.
     17
    1182014-11-21  Chris Fleizach  <cfleizach@apple.com>
    219
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r176431 r176448  
    57605760                CE12523D1A1676CD00864480 /* QuartzCoreSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE12523C1A1676CD00864480 /* QuartzCoreSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
    57615761                CE12523F1A16AE1200864480 /* AVKitSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE12523E1A16AE1200864480 /* AVKitSPI.h */; };
    5762                 CE1252411A16B1B600864480 /* MPAVRoutingControllerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1252401A16B1B600864480 /* MPAVRoutingControllerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5762                CE1252411A16B1B600864480 /* MediaPlayerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1252401A16B1B600864480 /* MediaPlayerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
    57635763                CE1252431A16C01A00864480 /* CoreUISPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1252421A16C01A00864480 /* CoreUISPI.h */; };
    57645764                CE1252451A16C22500864480 /* DynamicLinkerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1252441A16C22500864480 /* DynamicLinkerSPI.h */; };
     
    1326613266                CE12523C1A1676CD00864480 /* QuartzCoreSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuartzCoreSPI.h; sourceTree = "<group>"; };
    1326713267                CE12523E1A16AE1200864480 /* AVKitSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AVKitSPI.h; path = ios/AVKitSPI.h; sourceTree = "<group>"; };
    13268                 CE1252401A16B1B600864480 /* MPAVRoutingControllerSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPAVRoutingControllerSPI.h; path = ios/MPAVRoutingControllerSPI.h; sourceTree = "<group>"; };
     13268                CE1252401A16B1B600864480 /* MediaPlayerSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MediaPlayerSPI.h; path = ios/MediaPlayerSPI.h; sourceTree = "<group>"; };
    1326913269                CE1252421A16C01A00864480 /* CoreUISPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CoreUISPI.h; path = ios/CoreUISPI.h; sourceTree = "<group>"; };
    1327013270                CE1252441A16C22500864480 /* DynamicLinkerSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicLinkerSPI.h; sourceTree = "<group>"; };
     
    1852018520                                CE12523E1A16AE1200864480 /* AVKitSPI.h */,
    1852118521                                CE1252421A16C01A00864480 /* CoreUISPI.h */,
    18522                                 CE1252401A16B1B600864480 /* MPAVRoutingControllerSPI.h */,
    1852318522                                CE1252481A16C3BC00864480 /* MobileGestaltSPI.h */,
     18523                                CE1252401A16B1B600864480 /* MediaPlayerSPI.h */,
    1852418524                                CE1252381A166FA000864480 /* QuickLookSPI.h */,
    1852518525                        );
     
    2548325483                                85031B480A44EFC700F992E0 /* MouseRelatedEvent.h in Headers */,
    2548425484                                93309DFC099E64920056E581 /* MoveSelectionCommand.h in Headers */,
    25485                                 CE1252411A16B1B600864480 /* MPAVRoutingControllerSPI.h in Headers */,
     25485                                CE1252411A16B1B600864480 /* MediaPlayerSPI.h in Headers */,
    2548625486                                FDB1700614A2BAB200A2B5D9 /* MultiChannelResampler.h in Headers */,
    2548725487                                C6F0900A14327B6100685849 /* MutationCallback.h in Headers */,
  • trunk/Source/WebCore/loader/cocoa/SubresourceLoaderCocoa.mm

    r172811 r176448  
    2727#include "SubresourceLoader.h"
    2828
     29#include "CFNetworkSPI.h"
    2930#include "CachedResource.h"
    3031#include "DiskCacheMonitorCocoa.h"
     
    3233#include "ResourceLoader.h"
    3334#include "SharedBuffer.h"
    34 
    35 @interface NSCachedURLResponse (Details)
    36 -(CFCachedURLResponseRef)_CFCachedURLResponse;
    37 @end
    3835
    3936namespace WebCore {
  • trunk/Source/WebCore/loader/mac/ResourceLoaderMac.mm

    r175549 r176448  
    3030#include "ResourceLoader.h"
    3131
     32#include "CFNetworkSPI.h"
    3233#include "FrameLoader.h"
    3334#include "FrameLoaderClient.h"
     
    3637#if USE(NETWORK_CFDATA_ARRAY_CALLBACK)
    3738#include "InspectorInstrumentation.h"
    38 #endif
    39 
    40 #if USE(CFNETWORK)
    41 @interface NSCachedURLResponse (Details)
    42 -(id)_initWithCFCachedURLResponse:(CFCachedURLResponseRef)cachedResponse;
    43 -(CFCachedURLResponseRef)_CFCachedURLResponse;
    44 @end
    4539#endif
    4640
  • trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm

    r176206 r176448  
    3030
    3131#import "Logging.h"
    32 #import "MPAVRoutingControllerSPI.h"
    3332#import "MediaPlayer.h"
     33#import "MediaPlayerSPI.h"
    3434#import "MediaSession.h"
    3535#import "SoftLinking.h"
  • trunk/Source/WebCore/platform/spi/cf/CFNetworkSPI.h

    r176371 r176448  
    6262#endif
    6363
     64#ifdef __OBJC__
     65@interface NSCachedURLResponse (Details)
     66-(id)_initWithCFCachedURLResponse:(CFCachedURLResponseRef)cachedResponse;
     67-(CFCachedURLResponseRef)_CFCachedURLResponse;
     68@end
     69#endif
     70
    6471#endif // PLATFORM(WIN) || USE(APPLE_INTERNAL_SDK)
    6572
  • trunk/Source/WebCore/platform/spi/cg/CoreGraphicsSPI.h

    r176149 r176448  
    136136EXTERN_C CGImageCachingFlags CGImageGetCachingFlags(CGImageRef);
    137137
     138EXTERN_C CGDataProviderRef CGPDFDocumentGetDataProvider(CGPDFDocumentRef);
     139
    138140#if PLATFORM(COCOA)
    139141EXTERN_C CGSRegionEnumeratorObj CGSRegionEnumerator(CGRegionRef);
  • trunk/Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h

    r176363 r176448  
    2929
    3030#include <QuartzCore/CAColorMatrix.h>
     31#include <QuartzCore/CARenderServer.h>
    3132
    3233#ifdef __OBJC__
     
    6162- (uint32_t)createImageSlot:(CGSize)size hasAlpha:(BOOL)flag;
    6263- (void)deleteSlot:(uint32_t)name;
     64- (void)invalidate;
     65- (void)setFencePort:(mach_port_t)port;
     66@property (readonly) uint32_t contextId;
     67@property (strong) CALayer *layer;
     68@property CGColorSpaceRef colorSpace;
    6369@end
    6470
     
    104110#endif
    105111
     112EXTERN_C void CARenderServerCaptureLayerWithTransform(mach_port_t serverPort, uint32_t clientId, uint64_t layerId,
     113                                                      uint32_t slotId, int32_t ox, int32_t oy, const CATransform3D *);
     114
    106115EXTERN_C NSString * const kCATiledLayerRemoveImmediately;
    107116
     
    112121EXTERN_C NSString * const kCAFilterColorSaturate;
    113122EXTERN_C NSString * const kCAFilterGaussianBlur;
     123EXTERN_C NSString * const kCAFilterPlusD;
    114124
    115125
     
    128138
    129139EXTERN_C NSString * const kCAContextDisplayName;
     140EXTERN_C NSString * const kCAContextDisplayId;
     141EXTERN_C NSString * const kCAContextIgnoresHitTest;
  • trunk/Source/WebCore/platform/spi/ios/MediaPlayerSPI.h

    r176447 r176448  
    2929
    3030#import <MediaPlayer/MPAVRoutingController.h>
     31#import <MediaPlayer/MPAudioVideoRoutingActionSheet.h>
     32#import <MediaPlayer/MPAudioVideoRoutingPopoverController.h>
    3133
    3234#else
     35
     36enum {
     37    MPAVItemTypeUnknown = 0,
     38    MPAVItemTypeAudio = 1,
     39    MPAVItemTypeVideo = 2,
     40};
     41typedef NSUInteger MPAVItemType;
    3342
    3443enum {
     
    4756@end
    4857
     58@interface MPAudioVideoRoutingPopoverController : UIPopoverController
     59@end
     60
     61@interface MPAudioVideoRoutingPopoverController (Details)
     62- (id)initWithType:(MPAVItemType)avItemType;
     63@end
     64
     65@interface MPAudioVideoRoutingActionSheet : UIActionSheet
     66@end
     67
     68@interface MPAudioVideoRoutingActionSheet (Details)
     69- (id)initWithType:(MPAVItemType)avItemType;
     70- (void)showWithValidInterfaceOrientationMaskBlock:(UIInterfaceOrientationMask (^)(void))block completionHandler:(void (^)())completionHandler;
     71@end
     72
    4973#endif
  • trunk/Source/WebKit2/ChangeLog

    r176441 r176448  
     12014-11-21  Daniel Bates  <dabates@apple.com>
     2
     3        [iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC
     4        https://bugs.webkit.org/show_bug.cgi?id=138930
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Remove forward declaration for NSCachedURLResponse
     9        methods as this functionality was incorporated into CFNetworkSPI.h, which is included by this file.
     10        * Platform/mac/LayerHostingContext.mm: Moved QuartzCore forward declarations from this file to file
     11        QuartzCoreSPI.h and included header QuartzCoreSPI.h.
     12        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Include header XPCSPI.h.
     13        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Remove forward declarations of
     14        XPC SPI since these declarations are part of XCPSPI.h, which is included by header XPCServiceEntryPoint.h.
     15        * UIProcess/API/Cocoa/WKWebView.mm: Remove unnecessary include of header QuartzCore/CARenderServer.h
     16        as it will be included by header QuartzCoreSPI.h.
     17        * UIProcess/Network/NetworkProcessProxy.cpp: Include header XPCSPI.h when building for iOS with
     18        USE(XPC_SERVICES) enabled.
     19        * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Include header MediaPlayerSPI.h instead of including
     20        MediaPlayer private headers directly. Also sort the list of #import directives.
     21
    1222014-11-20  Dan Bernstein  <mitz@apple.com>
    223
  • trunk/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm

    r176347 r176448  
    3636
    3737using namespace WebCore;
    38 
    39 @interface NSCachedURLResponse (NSCachedURLResponseDetails)
    40 -(CFCachedURLResponseRef)_CFCachedURLResponse;
    41 @end
    4238
    4339namespace WebKit {
  • trunk/Source/WebKit2/Platform/mac/LayerHostingContext.mm

    r173762 r176448  
    2727#import "LayerHostingContext.h"
    2828
     29#import <WebCore/QuartzCoreSPI.h>
    2930#import <WebKitSystemInterface.h>
    30 
    31 #if __has_include(<QuartzCore/CAContext.h>)
    32 #import <QuartzCore/CAContext.h>
    33 #else
    34 @interface CAContext : NSObject
    35 @end
    36 
    37 @interface CAContext (Details)
    38 - (void)invalidate;
    39 @property (readonly) uint32_t contextId;
    40 @property (strong) CALayer *layer;
    41 @property CGColorSpaceRef colorSpace;
    42 - (void)setFencePort:(mach_port_t)port;
    43 + (CAContext *)remoteContextWithOptions:(NSDictionary *)dict;
    44 @end
    45 #endif
    46 
    47 extern NSString * const kCAContextIgnoresHitTest;
    4831
    4932namespace WebKit {
  • trunk/Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h

    r174086 r176448  
    3030#import "WebKit2Initialize.h"
    3131#import <wtf/OSObjectPtr.h>
     32#import <wtf/spi/darwin/XPCSPI.h>
    3233
    3334#if HAVE(VOUCHERS)
  • trunk/Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm

    r174086 r176448  
    2929#import "SandboxUtilities.h"
    3030#import "XPCServiceEntryPoint.h"
    31 
    32 #if __has_include(<xpc/private.h>)
    33 #import <xpc/private.h>
    34 #else
    35 extern "C" xpc_object_t xpc_connection_copy_entitlement_value(xpc_connection_t connection, const char *entitlement);
    36 extern "C" mach_port_t xpc_dictionary_copy_mach_send(xpc_object_t, const char*);
    37 #endif
    3831
    3932namespace WebKit {
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm

    r176408 r176448  
    9696#import <UIKit/UIPeripheralHost_Private.h>
    9797#import <UIKit/UIWindow_Private.h>
    98 #import <QuartzCore/CARenderServer.h>
    9998#import <WebCore/CoreGraphicsSPI.h>
    10099#import <WebCore/InspectorOverlay.h>
  • trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp

    r174803 r176448  
    4242#endif
    4343
     44#if PLATFORM(IOS) && USE(XPC_SERVICES)
     45#include <wtf/spi/darwin/XPCSPI.h>
     46#endif
     47
    4448#define MESSAGE_CHECK(assertion) MESSAGE_CHECK_BASE(assertion, connection())
    4549
  • trunk/Source/WebKit2/UIProcess/ios/forms/WKAirPlayRoutePicker.mm

    r176441 r176448  
    3232#import "WKContentViewInteraction.h"
    3333#import "WebPageProxy.h"
    34 #import <MediaPlayer/MPAVItem.h>
    35 #import <MediaPlayer/MPAudioVideoRoutingActionSheet.h>
    36 #import <MediaPlayer/MPAudioVideoRoutingPopoverController.h>
    37 #import <WebCore/MPAVRoutingControllerSPI.h>
    38 #import <WebCore/SoftLinking.h>
    3934#import <UIKit/UIApplication_Private.h>
    4035#import <UIKit/UIWindow_Private.h>
     36#import <WebCore/MediaPlayerSPI.h>
     37#import <WebCore/SoftLinking.h>
    4138#import <wtf/RetainPtr.h>
    4239
Note: See TracChangeset for help on using the changeset viewer.