Changeset 183568 in webkit
- Timestamp:
- Apr 29, 2015, 12:42:08 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r183563 r183568 1 2015-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 1 19 2015-04-29 Antti Koivisto <antti@apple.com> 2 20 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r183554 r183568 1600 1600 44311F8212E4E66C000A8D19 /* DOMDocumentFragmentInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E711450AC5D5340053270F /* DOMDocumentFragmentInternal.h */; }; 1601 1601 443817FF1A91B2F8006E04F2 /* CoreMediaSoftLink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 443817FD1A91B2F8006E04F2 /* CoreMediaSoftLink.cpp */; }; 1602 443917FF1A91B2F8006E04F2 /* QuickLookSoftLink.mm in Sources */ = {isa = PBXBuildFile; fileRef = 443917FD1A91B2F8006E04F2 /* QuickLookSoftLink.mm */; };1603 1602 443818001A91B2F8006E04F2 /* CoreMediaSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 443817FE1A91B2F8006E04F2 /* CoreMediaSoftLink.h */; }; 1604 443918001A91B2F8006E04F2 /* QuickLookSoftLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 443917FE1A91B2F8006E04F2 /* QuickLookSoftLink.h */; };1605 1603 443F04270E75C8FB007E5407 /* NetworkStateNotifierIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 443F04260E75C8FB007E5407 /* NetworkStateNotifierIOS.mm */; }; 1606 1604 4449A4051A964B0000B64AD5 /* CoreMediaSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 4449A4041A964B0000B64AD5 /* CoreMediaSPI.h */; }; … … 8766 8764 44311CD512E4E22D000A8D19 /* DOMDocumentPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMDocumentPrivate.h; sourceTree = "<group>"; }; 8767 8765 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>"; };8769 8766 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>"; };8771 8767 443F04260E75C8FB007E5407 /* NetworkStateNotifierIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkStateNotifierIOS.mm; sourceTree = "<group>"; }; 8772 8768 4449A4041A964B0000B64AD5 /* CoreMediaSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreMediaSPI.h; sourceTree = "<group>"; }; … … 18852 18848 E45390320EAFD637003695C8 /* PlatformScreenIOS.mm */, 18853 18849 AAE3755D17429BCC006200C2 /* PlatformSpeechSynthesizerIOS.mm */, 18854 443917FE1A91B2F8006E04F2 /* QuickLookSoftLink.h */,18855 443917FD1A91B2F8006E04F2 /* QuickLookSoftLink.mm */,18856 18850 CDFC360118CA61630026E56F /* RemoteCommandListenerIOS.h */, 18857 18851 CDFC360218CA61630026E56F /* RemoteCommandListenerIOS.mm */, … … 26055 26049 CE12523D1A1676CD00864480 /* QuartzCoreSPI.h in Headers */, 26056 26050 442AF7A9102CDDEA008FD4D3 /* QuickLook.h in Headers */, 26057 443918001A91B2F8006E04F2 /* QuickLookSoftLink.h in Headers */,26058 26051 A149786F1ABAF33800CEF7E4 /* ContentFilter.h in Headers */, 26059 26052 CE1252391A166FA000864480 /* QuickLookSPI.h in Headers */, … … 29555 29548 550A0BC9085F6039007353D6 /* QualifiedName.cpp in Sources */, 29556 29549 442AF7AA102CDDEA008FD4D3 /* QuickLook.mm in Sources */, 29557 443917FF1A91B2F8006E04F2 /* QuickLookSoftLink.mm in Sources */,29558 29550 072AE1E6183C0741000A5988 /* QuickTimePluginReplacement.mm in Sources */, 29559 29551 379E371613736A6600B9E919 /* QuotedPrintable.cpp in Sources */, -
trunk/Source/WebCore/platform/mac/SoftLinking.h
r183553 r183568 318 318 } 319 319 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 356 320 #define SOFT_LINK_CONSTANT_FOR_HEADER(functionNamespace, framework, variableName, variableType) \ 357 321 WTF_EXTERN_C_BEGIN \ -
trunk/Source/WebCore/platform/network/ios/QuickLook.h
r183553 r183568 57 57 class ResourceResponse; 58 58 class SynchronousResourceHandleCFURLConnectionDelegate; 59 60 Class QLPreviewConverterClass(); 61 NSString *QLTypeCopyBestMimeTypeForFileNameAndMimeType(NSString *fileName, NSString *mimeType); 62 NSString *QLTypeCopyBestMimeTypeForURLAndMimeType(NSURL *, NSString *mimeType); 59 63 60 64 WEBCORE_EXPORT NSSet *QLPreviewGetSupportedMIMETypesSet(); -
trunk/Source/WebCore/platform/network/ios/QuickLook.mm
r183553 r183568 33 33 #import "Logging.h" 34 34 #import "NSFileManagerSPI.h" 35 #import "QuickLookS oftLink.h"35 #import "QuickLookSPI.h" 36 36 #import "ResourceError.h" 37 37 #import "ResourceHandle.h" 38 38 #import "ResourceLoader.h" 39 39 #import "RuntimeApplicationChecksIOS.h" 40 #import "SoftLinking.h" 40 41 #import "SynchronousResourceHandleCFURLConnectionDelegate.h" 41 42 #import "WebCoreURLResponseIOS.h" … … 56 57 #endif 57 58 59 SOFT_LINK_FRAMEWORK_OPTIONAL(QuickLook) 60 SOFT_LINK_CLASS(QuickLook, QLPreviewConverter) 61 SOFT_LINK_MAY_FAIL(QuickLook, QLPreviewGetSupportedMIMETypes, NSSet *, (), ()) 62 SOFT_LINK_MAY_FAIL(QuickLook, QLTypeCopyBestMimeTypeForFileNameAndMimeType, NSString *, (NSString *fileName, NSString *mimeType), (fileName, mimeType)) 63 SOFT_LINK_MAY_FAIL(QuickLook, QLTypeCopyBestMimeTypeForURLAndMimeType, NSString *, (NSURL *url, NSString *mimeType), (url, mimeType)) 64 SOFT_LINK_MAY_FAIL(QuickLook, QLTypeCopyUTIForURLAndMimeType, NSString *, (NSURL *url, NSString *mimeType), (url, mimeType)) 65 SOFT_LINK_CONSTANT_MAY_FAIL(QuickLook, QLPreviewScheme, NSString *) 66 67 namespace WebCore { 68 NSString *QLTypeCopyUTIForURLAndMimeType(NSURL *url, NSString *mimeType); 69 } 70 58 71 using namespace WebCore; 59 72 73 Class WebCore::QLPreviewConverterClass() 74 { 75 #define QLPreviewConverter getQLPreviewConverterClass() 76 return QLPreviewConverter; 77 #undef QLPreviewConverter 78 } 79 80 NSString *WebCore::QLTypeCopyBestMimeTypeForFileNameAndMimeType(NSString *fileName, NSString *mimeType) 81 { 82 if (!canLoadQLTypeCopyBestMimeTypeForFileNameAndMimeType()) 83 return nil; 84 85 return ::QLTypeCopyBestMimeTypeForFileNameAndMimeType(fileName, mimeType); 86 } 87 88 NSString *WebCore::QLTypeCopyBestMimeTypeForURLAndMimeType(NSURL *url, NSString *mimeType) 89 { 90 if (!canLoadQLTypeCopyBestMimeTypeForURLAndMimeType()) 91 return nil; 92 93 return ::QLTypeCopyBestMimeTypeForURLAndMimeType(url, mimeType); 94 } 95 60 96 NSSet *WebCore::QLPreviewGetSupportedMIMETypesSet() 61 97 { 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 105 NSString *WebCore::QLTypeCopyUTIForURLAndMimeType(NSURL *url, NSString *mimeType) 106 { 107 if (!canLoadQLTypeCopyUTIForURLAndMimeType()) 108 return nil; 109 110 return ::QLTypeCopyUTIForURLAndMimeType(url, mimeType); 64 111 } 65 112 … … 144 191 RetainPtr<NSURLRequest> WebCore::registerQLPreviewConverterIfNeeded(NSURL *url, NSString *mimeType, NSData *data) 145 192 { 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]); 152 199 NSURLRequest *request = [converter previewRequest]; 153 200 … … 182 229 { 183 230 Vector<char> previewProtocol; 231 #define QLPreviewScheme getQLPreviewScheme() 184 232 const char* qlPreviewScheme = [QLPreviewScheme UTF8String]; 233 #undef QLPreviewScheme 185 234 previewProtocol.append(qlPreviewScheme, strlen(qlPreviewScheme) + 1); 186 235 return previewProtocol; … … 189 238 const char* WebCore::QLPreviewProtocol() 190 239 { 240 if (!canLoadQLPreviewScheme()) 241 return ""; 242 191 243 static NeverDestroyed<Vector<char>> previewProtocol(createQLPreviewProtocol()); 192 244 return previewProtocol.get().data(); … … 408 460 { 409 461 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]]) 411 463 return nullptr; 412 464 … … 420 472 { 421 473 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)]) 423 475 return nullptr; 424 476 … … 438 490 bool QuickLookHandle::shouldCreateForMIMEType(const String& mimeType) 439 491 { 440 return [ QLPreviewGetSupportedMIMETypesSet() containsObject:mimeType];492 return [WebCore::QLPreviewGetSupportedMIMETypesSet() containsObject:mimeType]; 441 493 } 442 494 -
trunk/Source/WebCore/platform/network/ios/WebCoreURLResponseIOS.mm
r183553 r183568 33 33 34 34 #import "QuickLook.h" 35 #import "QuickLookSoftLink.h"36 35 #import "SoftLinking.h" 37 36 #import <MobileCoreServices/MobileCoreServices.h>
Note:
See TracChangeset
for help on using the changeset viewer.