Changeset 183568 in webkit


Ignore:
Timestamp:
Apr 29, 2015, 12:42:08 PM (10 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r183553 and r183561.
https://bugs.webkit.org/show_bug.cgi?id=144406

broke the iOS build (Requested by thorton on #webkit).

Reverted changesets:

"Switch QuickLook soft-linking to use
QuickLookSoftLink.{h,mm}"
https://bugs.webkit.org/show_bug.cgi?id=144362
http://trac.webkit.org/changeset/183553

"Unreviewed iOS build fix after r183553: fix declaration of
QLPreviewScheme"
http://trac.webkit.org/changeset/183561

Location:
trunk/Source/WebCore
Files:
2 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r183563 r183568  
     12015-04-29  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r183553 and r183561.
     4        https://bugs.webkit.org/show_bug.cgi?id=144406
     5
     6        broke the iOS build (Requested by thorton__ on #webkit).
     7
     8        Reverted changesets:
     9
     10        "Switch QuickLook soft-linking to use
     11        QuickLookSoftLink.{h,mm}"
     12        https://bugs.webkit.org/show_bug.cgi?id=144362
     13        http://trac.webkit.org/changeset/183553
     14
     15        "Unreviewed iOS build fix after r183553: fix declaration of
     16        QLPreviewScheme"
     17        http://trac.webkit.org/changeset/183561
     18
    1192015-04-29  Antti Koivisto  <antti@apple.com>
    220
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r183554 r183568  
    16001600                44311F8212E4E66C000A8D19 /* DOMDocumentFragmentInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711450AC5D5340053270F /* DOMDocumentFragmentInternal.h */; };
    16011601                443817FF1A91B2F8006E04F2 /* CoreMediaSoftLink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 443817FD1A91B2F8006E04F2 /* CoreMediaSoftLink.cpp */; };
    1602                 443917FF1A91B2F8006E04F2 /* QuickLookSoftLink.mm in Sources */ = {isa = PBXBuildFile; fileRef = 443917FD1A91B2F8006E04F2 /* QuickLookSoftLink.mm */; };
    16031602                443818001A91B2F8006E04F2 /* CoreMediaSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 443817FE1A91B2F8006E04F2 /* CoreMediaSoftLink.h */; };
    1604                 443918001A91B2F8006E04F2 /* QuickLookSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 443917FE1A91B2F8006E04F2 /* QuickLookSoftLink.h */; };
    16051603                443F04270E75C8FB007E5407 /* NetworkStateNotifierIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 443F04260E75C8FB007E5407 /* NetworkStateNotifierIOS.mm */; };
    16061604                4449A4051A964B0000B64AD5 /* CoreMediaSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 4449A4041A964B0000B64AD5 /* CoreMediaSPI.h */; };
     
    87668764                44311CD512E4E22D000A8D19 /* DOMDocumentPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMDocumentPrivate.h; sourceTree = "<group>"; };
    87678765                443817FD1A91B2F8006E04F2 /* CoreMediaSoftLink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMediaSoftLink.cpp; sourceTree = "<group>"; };
    8768                 443917FD1A91B2F8006E04F2 /* QuickLookSoftLink.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios/QuickLookSoftLink.mm; sourceTree = "<group>"; };
    87698766                443817FE1A91B2F8006E04F2 /* CoreMediaSoftLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreMediaSoftLink.h; sourceTree = "<group>"; };
    8770                 443917FE1A91B2F8006E04F2 /* QuickLookSoftLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios/QuickLookSoftLink.h; sourceTree = "<group>"; };
    87718767                443F04260E75C8FB007E5407 /* NetworkStateNotifierIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkStateNotifierIOS.mm; sourceTree = "<group>"; };
    87728768                4449A4041A964B0000B64AD5 /* CoreMediaSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreMediaSPI.h; sourceTree = "<group>"; };
     
    1885218848                                E45390320EAFD637003695C8 /* PlatformScreenIOS.mm */,
    1885318849                                AAE3755D17429BCC006200C2 /* PlatformSpeechSynthesizerIOS.mm */,
    18854                                 443917FE1A91B2F8006E04F2 /* QuickLookSoftLink.h */,
    18855                                 443917FD1A91B2F8006E04F2 /* QuickLookSoftLink.mm */,
    1885618850                                CDFC360118CA61630026E56F /* RemoteCommandListenerIOS.h */,
    1885718851                                CDFC360218CA61630026E56F /* RemoteCommandListenerIOS.mm */,
     
    2605526049                                CE12523D1A1676CD00864480 /* QuartzCoreSPI.h in Headers */,
    2605626050                                442AF7A9102CDDEA008FD4D3 /* QuickLook.h in Headers */,
    26057                                 443918001A91B2F8006E04F2 /* QuickLookSoftLink.h in Headers */,
    2605826051                                A149786F1ABAF33800CEF7E4 /* ContentFilter.h in Headers */,
    2605926052                                CE1252391A166FA000864480 /* QuickLookSPI.h in Headers */,
     
    2955529548                                550A0BC9085F6039007353D6 /* QualifiedName.cpp in Sources */,
    2955629549                                442AF7AA102CDDEA008FD4D3 /* QuickLook.mm in Sources */,
    29557                                 443917FF1A91B2F8006E04F2 /* QuickLookSoftLink.mm in Sources */,
    2955829550                                072AE1E6183C0741000A5988 /* QuickTimePluginReplacement.mm in Sources */,
    2955929551                                379E371613736A6600B9E919 /* QuotedPrintable.cpp in Sources */,
  • trunk/Source/WebCore/platform/mac/SoftLinking.h

    r183553 r183568  
    318318    }
    319319
    320 #define SOFT_LINK_CLASS_FOR_HEADER(functionNamespace, framework, className) \
    321     @class className; \
    322     namespace functionNamespace { \
    323     extern Class (*get_##framework##_##className##Class)(); \
    324     className *alloc##className##Instance(); \
    325     inline className *alloc##className##Instance() \
    326     { \
    327         return [get_##framework##_##className##Class() alloc]; \
    328     } \
    329     }
    330 
    331 #define SOFT_LINK_CLASS_FOR_SOURCE(functionNamespace, framework, className) \
    332     @class className; \
    333     namespace functionNamespace { \
    334     static Class init##className(); \
    335     Class (*get_##framework##_##className##Class)() = init##className; \
    336     static Class class##className; \
    337     \
    338     static Class className##Function() \
    339     { \
    340         return class##className; \
    341     } \
    342     \
    343     static Class init##className() \
    344     { \
    345         static dispatch_once_t once; \
    346         dispatch_once(&once, ^{ \
    347             framework##Library(); \
    348             class##className = objc_getClass(#className); \
    349             RELEASE_ASSERT(class##className); \
    350             get_##framework##_##className##Class = className##Function; \
    351         }); \
    352         return class##className; \
    353     } \
    354     }
    355 
    356320#define SOFT_LINK_CONSTANT_FOR_HEADER(functionNamespace, framework, variableName, variableType) \
    357321    WTF_EXTERN_C_BEGIN \
  • trunk/Source/WebCore/platform/network/ios/QuickLook.h

    r183553 r183568  
    5757class ResourceResponse;
    5858class SynchronousResourceHandleCFURLConnectionDelegate;
     59
     60Class QLPreviewConverterClass();
     61NSString *QLTypeCopyBestMimeTypeForFileNameAndMimeType(NSString *fileName, NSString *mimeType);
     62NSString *QLTypeCopyBestMimeTypeForURLAndMimeType(NSURL *, NSString *mimeType);
    5963
    6064WEBCORE_EXPORT NSSet *QLPreviewGetSupportedMIMETypesSet();
  • trunk/Source/WebCore/platform/network/ios/QuickLook.mm

    r183553 r183568  
    3333#import "Logging.h"
    3434#import "NSFileManagerSPI.h"
    35 #import "QuickLookSoftLink.h"
     35#import "QuickLookSPI.h"
    3636#import "ResourceError.h"
    3737#import "ResourceHandle.h"
    3838#import "ResourceLoader.h"
    3939#import "RuntimeApplicationChecksIOS.h"
     40#import "SoftLinking.h"
    4041#import "SynchronousResourceHandleCFURLConnectionDelegate.h"
    4142#import "WebCoreURLResponseIOS.h"
     
    5657#endif
    5758
     59SOFT_LINK_FRAMEWORK_OPTIONAL(QuickLook)
     60SOFT_LINK_CLASS(QuickLook, QLPreviewConverter)
     61SOFT_LINK_MAY_FAIL(QuickLook, QLPreviewGetSupportedMIMETypes, NSSet *, (), ())
     62SOFT_LINK_MAY_FAIL(QuickLook, QLTypeCopyBestMimeTypeForFileNameAndMimeType, NSString *, (NSString *fileName, NSString *mimeType), (fileName, mimeType))
     63SOFT_LINK_MAY_FAIL(QuickLook, QLTypeCopyBestMimeTypeForURLAndMimeType, NSString *, (NSURL *url, NSString *mimeType), (url, mimeType))
     64SOFT_LINK_MAY_FAIL(QuickLook, QLTypeCopyUTIForURLAndMimeType, NSString *, (NSURL *url, NSString *mimeType), (url, mimeType))
     65SOFT_LINK_CONSTANT_MAY_FAIL(QuickLook, QLPreviewScheme, NSString *)
     66
     67namespace WebCore {
     68    NSString *QLTypeCopyUTIForURLAndMimeType(NSURL *url, NSString *mimeType);
     69}
     70
    5871using namespace WebCore;
    5972
     73Class WebCore::QLPreviewConverterClass()
     74{
     75#define QLPreviewConverter getQLPreviewConverterClass()
     76    return QLPreviewConverter;
     77#undef QLPreviewConverter
     78}
     79
     80NSString *WebCore::QLTypeCopyBestMimeTypeForFileNameAndMimeType(NSString *fileName, NSString *mimeType)
     81{
     82    if (!canLoadQLTypeCopyBestMimeTypeForFileNameAndMimeType())
     83        return nil;
     84
     85    return ::QLTypeCopyBestMimeTypeForFileNameAndMimeType(fileName, mimeType);
     86}
     87
     88NSString *WebCore::QLTypeCopyBestMimeTypeForURLAndMimeType(NSURL *url, NSString *mimeType)
     89{
     90    if (!canLoadQLTypeCopyBestMimeTypeForURLAndMimeType())
     91        return nil;
     92
     93    return ::QLTypeCopyBestMimeTypeForURLAndMimeType(url, mimeType);
     94}
     95
    6096NSSet *WebCore::QLPreviewGetSupportedMIMETypesSet()
    6197{
    62     static NeverDestroyed<RetainPtr<NSSet>> set = QLPreviewGetSupportedMIMETypes();
    63     return set.get().get();
     98    if (!canLoadQLPreviewGetSupportedMIMETypes())
     99        return nil;
     100
     101    static NSSet *set = adoptNS(::QLPreviewGetSupportedMIMETypes()).leakRef();
     102    return set;
     103}
     104
     105NSString *WebCore::QLTypeCopyUTIForURLAndMimeType(NSURL *url, NSString *mimeType)
     106{
     107    if (!canLoadQLTypeCopyUTIForURLAndMimeType())
     108        return nil;
     109
     110    return ::QLTypeCopyUTIForURLAndMimeType(url, mimeType);
    64111}
    65112
     
    144191RetainPtr<NSURLRequest> WebCore::registerQLPreviewConverterIfNeeded(NSURL *url, NSString *mimeType, NSData *data)
    145192{
    146     RetainPtr<NSString> updatedMIMEType = adoptNS(QLTypeCopyBestMimeTypeForURLAndMimeType(url, mimeType));
    147 
    148     if ([QLPreviewGetSupportedMIMETypesSet() containsObject:updatedMIMEType.get()]) {
    149         RetainPtr<NSString> uti = adoptNS(QLTypeCopyUTIForURLAndMimeType(url, updatedMIMEType.get()));
    150 
    151         RetainPtr<QLPreviewConverter> converter = adoptNS([allocQLPreviewConverterInstance() initWithData:data name:nil uti:uti.get() options:nil]);
     193    RetainPtr<NSString> updatedMIMEType = adoptNS(WebCore::QLTypeCopyBestMimeTypeForURLAndMimeType(url, mimeType));
     194
     195    if ([WebCore::QLPreviewGetSupportedMIMETypesSet() containsObject:updatedMIMEType.get()]) {
     196        RetainPtr<NSString> uti = adoptNS(WebCore::QLTypeCopyUTIForURLAndMimeType(url, updatedMIMEType.get()));
     197
     198        RetainPtr<id> converter = adoptNS([allocQLPreviewConverterInstance() initWithData:data name:nil uti:uti.get() options:nil]);
    152199        NSURLRequest *request = [converter previewRequest];
    153200
     
    182229{
    183230    Vector<char> previewProtocol;
     231#define QLPreviewScheme getQLPreviewScheme()
    184232    const char* qlPreviewScheme = [QLPreviewScheme UTF8String];
     233#undef QLPreviewScheme
    185234    previewProtocol.append(qlPreviewScheme, strlen(qlPreviewScheme) + 1);
    186235    return previewProtocol;
     
    189238const char* WebCore::QLPreviewProtocol()
    190239{
     240    if (!canLoadQLPreviewScheme())
     241        return "";
     242
    191243    static NeverDestroyed<Vector<char>> previewProtocol(createQLPreviewProtocol());
    192244    return previewProtocol.get().data();
     
    408460{
    409461    ASSERT_ARG(handle, handle);
    410     if (handle->firstRequest().requester() != ResourceRequest::Requester::Main || ![QLPreviewGetSupportedMIMETypesSet() containsObject:[nsResponse MIMEType]])
     462    if (handle->firstRequest().requester() != ResourceRequest::Requester::Main || ![WebCore::QLPreviewGetSupportedMIMETypesSet() containsObject:[nsResponse MIMEType]])
    411463        return nullptr;
    412464
     
    420472{
    421473    ASSERT_ARG(handle, handle);
    422     if (handle->firstRequest().requester() != ResourceRequest::Requester::Main || ![QLPreviewGetSupportedMIMETypesSet() containsObject:(NSString *)CFURLResponseGetMIMEType(cfResponse)])
     474    if (handle->firstRequest().requester() != ResourceRequest::Requester::Main || ![WebCore::QLPreviewGetSupportedMIMETypesSet() containsObject:(NSString *)CFURLResponseGetMIMEType(cfResponse)])
    423475        return nullptr;
    424476
     
    438490bool QuickLookHandle::shouldCreateForMIMEType(const String& mimeType)
    439491{
    440     return [QLPreviewGetSupportedMIMETypesSet() containsObject:mimeType];
     492    return [WebCore::QLPreviewGetSupportedMIMETypesSet() containsObject:mimeType];
    441493}
    442494
  • trunk/Source/WebCore/platform/network/ios/WebCoreURLResponseIOS.mm

    r183553 r183568  
    3333
    3434#import "QuickLook.h"
    35 #import "QuickLookSoftLink.h"
    3635#import "SoftLinking.h"
    3736#import <MobileCoreServices/MobileCoreServices.h>
Note: See TracChangeset for help on using the changeset viewer.