Changeset 211398 in webkit
- Timestamp:
- Jan 30, 2017 5:54:02 PM (7 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r211395 r211398 1 2017-01-30 Andy Estes <aestes@apple.com> 2 3 [QuickLook] QLPreviewConverter and QuickLookHandle have different lifetime requirements 4 https://bugs.webkit.org/show_bug.cgi?id=167609 5 6 Reviewed by Andreas Kling. 7 8 Currently, QuickLookHandles are owned by DocumentLoader so that the underlying 9 QLPreviewConverter stays alive to service subresource requests. However, the QuickLookHandle 10 itself only needs to live long enough to handle the main resource load. And in a follow-on 11 patch we will need to create QLPreviewConverters independent of QuickLookHandle. 12 13 This patch moves ownership of QuickLookHandle from DocumentLoader to ResourceLoader. It also 14 creates a C++ wrapper around QLPreviewConverter and teaches QuickLookHandle to transfer 15 ownership of the wrapper to DocumentLoader once the main resource conversion is complete. 16 17 No change in behavior. Covered by existing tests. 18 19 * WebCore.xcodeproj/project.pbxproj: Added PreviewConverter.{h,mm}. 20 * loader/DocumentLoader.cpp: 21 (WebCore::DocumentLoader::setPreviewConverter): Renamed from setQuickLookHandle(). 22 (WebCore::DocumentLoader::previewConverter): Renamed from quickLookHandle(). 23 (WebCore::DocumentLoader::setQuickLookHandle): Renamed to setPreviewConverter(). 24 * loader/DocumentLoader.h: 25 (WebCore::DocumentLoader::quickLookHandle): Renamed to quickLookHandle(). 26 * loader/ResourceLoader.cpp: 27 (WebCore::ResourceLoader::willSendRequestInternal): Changed to call PreviewConverter::safeRequest(). 28 (WebCore::ResourceLoader::isQuickLookResource): Changed to check if m_quickLookHandle is null. 29 (WebCore::ResourceLoader::didCreateQuickLookHandle): Deleted. 30 * loader/ResourceLoader.h: 31 * loader/SubresourceLoader.cpp: 32 (WebCore::SubresourceLoader::shouldCreateQuickLookHandleForResponse): Changed to access m_quickLookHandle. 33 (WebCore::SubresourceLoader::didReceiveResponse): Ditto. 34 (WebCore::SubresourceLoader::didReceiveData): Ditto. 35 (WebCore::SubresourceLoader::didReceiveBuffer): Ditto. 36 (WebCore::SubresourceLoader::didFinishLoading): Ditto. 37 (WebCore::SubresourceLoader::didFail): Ditto. 38 * loader/cache/CachedRawResource.cpp: 39 (WebCore::CachedRawResource::finishLoading): Wrapped the call to ResourceLoader::isQuickLookResource() in USE(QUICK_LOOK). 40 * loader/ios/QuickLook.h: Renamed m_converter to m_previewLoader. 41 * loader/ios/QuickLook.mm: Renamed WebPreviewConverter to WebPreviewLoader. 42 (WebCore::registerQLPreviewConverterIfNeeded): Created a PreviewConverter instead of a QLPreviewConverter. 43 (-[WebPreviewLoader initWithResourceLoader:resourceResponse:quickLookHandle:]): Ditto. 44 (-[WebPreviewLoader appendDataArray:]): Accessed the QLPreviewConverter from the PreviewConverter. 45 (-[WebPreviewLoader finishedAppending]): Ditto. 46 (-[WebPreviewLoader failed]): Ditto. 47 (-[WebPreviewLoader converter]): Renamed from platformConverter. Returns a pointer to the PreviewConverter. 48 (-[WebPreviewLoader _sendDidReceiveResponseIfNecessary]): Moved _converter to DocumentLoader. 49 (-[WebPreviewLoader connection:didFailWithError:]): Created a PreviewConverter instead of a QLPreviewConverter. 50 (WebCore::QuickLookHandle::QuickLookHandle): Called FrameLoaderClient::didCreateQuickLookHandle() instead of going through FrameLoader. 51 (WebCore::QuickLookHandle::didReceiveData): Renamed m_converter to m_previewLoader. 52 (WebCore::QuickLookHandle::didReceiveBuffer): Ditto. 53 (WebCore::QuickLookHandle::didFinishLoading): Ditto. 54 (WebCore::QuickLookHandle::didFail): Ditto. 55 (WebCore::QuickLookHandle::setClient): Ditto. 56 (WebCore::QuickLookHandle::previewFileName): Ditto. 57 (WebCore::QuickLookHandle::previewUTI): Ditto. 58 (WebCore::QuickLookHandle::willSendRequest): Deleted. 59 * platform/ios/QuickLookSoftLink.h: Removed soft-linking of QLPreviewConverter and kQLPreviewOptionPasswordKey. 60 * platform/ios/QuickLookSoftLink.mm: Ditto. 61 * platform/network/ios/PreviewConverter.h: Added. 62 (WebCore::PreviewConverter::platformConverter): Added. Returns the underlying QLPreviewConverter. 63 * platform/network/ios/PreviewConverter.mm: Added. 64 (WebCore::optionsWithPassword): Creates a dictionary with the kQLPreviewOptionPasswordKey option set if password is non-null. 65 (WebCore::PreviewConverter::PreviewConverter): Added constructors for the delegate/response and data/uti cases. 66 (WebCore::PreviewConverter::safeRequest): Wraps -[QLPreviewConverter safeRequestForRequest:]. 67 (WebCore::PreviewConverter::previewRequest): Wraps -[QLPreviewConverter previewRequest]. 68 (WebCore::PreviewConverter::previewResponse): Wraps -[QLPreviewConverter previewResponse]. 69 (WebCore::PreviewConverter::previewFileName): Wraps -[QLPreviewConverter previewFileName]. 70 (WebCore::PreviewConverter::previewUTI): Wraps -[QLPreviewConverter previewUTI]. 71 1 72 2017-01-30 Chris Dumez <cdumez@apple.com> 2 73 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r211313 r211398 3967 3967 A1BF6B821AA96C7D00AF4A8A /* MockContentFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1BF6B801AA96C7D00AF4A8A /* MockContentFilter.cpp */; }; 3968 3968 A1BF6B831AA96C7D00AF4A8A /* MockContentFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A1BF6B811AA96C7D00AF4A8A /* MockContentFilter.h */; }; 3969 A1C150791E3F2B3E0032C98C /* PreviewConverter.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1C150771E3F2B3E0032C98C /* PreviewConverter.mm */; }; 3970 A1C1507A1E3F2B3E0032C98C /* PreviewConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A1C150781E3F2B3E0032C98C /* PreviewConverter.h */; }; 3969 3971 A1C7FAA2133A5D3500D6732D /* JSXPathResultCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1C7FAA1133A5D3500D6732D /* JSXPathResultCustom.cpp */; }; 3970 3972 A1DE712D18612AC100734192 /* TouchEvents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1DE712B18612AC100734192 /* TouchEvents.cpp */; }; … … 11677 11679 A1BF6B801AA96C7D00AF4A8A /* MockContentFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockContentFilter.cpp; sourceTree = "<group>"; }; 11678 11680 A1BF6B811AA96C7D00AF4A8A /* MockContentFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockContentFilter.h; sourceTree = "<group>"; }; 11681 A1C150771E3F2B3E0032C98C /* PreviewConverter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PreviewConverter.mm; sourceTree = "<group>"; }; 11682 A1C150781E3F2B3E0032C98C /* PreviewConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreviewConverter.h; sourceTree = "<group>"; }; 11679 11683 A1C7FAA1133A5D3500D6732D /* JSXPathResultCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSXPathResultCustom.cpp; sourceTree = "<group>"; }; 11680 11684 A1DE712B18612AC100734192 /* TouchEvents.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TouchEvents.cpp; sourceTree = "<group>"; }; … … 16937 16941 443F04260E75C8FB007E5407 /* NetworkStateNotifierIOS.mm */, 16938 16942 A10DBF4618F92317000D70C6 /* QuickLookHandleClient.h */, 16943 A1C150781E3F2B3E0032C98C /* PreviewConverter.h */, 16944 A1C150771E3F2B3E0032C98C /* PreviewConverter.mm */, 16939 16945 7E428CE413E3407F003B661C /* ResourceHandleIOS.mm */, 16940 16946 7E7DE201195CEFCD0035363B /* ResourceRequestIOS.mm */, … … 28555 28561 E1F1E8300C3C2BB9006DB391 /* XSLTExtensions.h in Headers */, 28556 28562 93F199ED08245E59001E9ABC /* XSLTProcessor.h in Headers */, 28563 A1C1507A1E3F2B3E0032C98C /* PreviewConverter.h in Headers */, 28557 28564 E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */, 28558 28565 977E2E0F12F0FC9C00C13379 /* XSSAuditor.h in Headers */, … … 29349 29356 45FEA5CF156DDE8C00654101 /* Decimal.cpp in Sources */, 29350 29357 A8C228A211D5722E00D5A7D3 /* DecodedDataDocumentParser.cpp in Sources */, 29358 A1C150791E3F2B3E0032C98C /* PreviewConverter.mm in Sources */, 29351 29359 4162A450101145AE00DFF3ED /* DedicatedWorkerGlobalScope.cpp in Sources */, 29352 29360 41A3D58E101C152D00316D07 /* DedicatedWorkerThread.cpp in Sources */, -
trunk/Source/WebCore/loader/DocumentLoader.cpp
r210859 r211398 87 87 88 88 #if USE(QUICK_LOOK) 89 #include "PreviewConverter.h" 89 90 #include "QuickLook.h" 90 91 #endif … … 1723 1724 #if USE(QUICK_LOOK) 1724 1725 1725 void DocumentLoader::setQuickLookHandle(std::unique_ptr<QuickLookHandle> quickLookHandle) 1726 { 1727 m_quickLookHandle = WTFMove(quickLookHandle); 1726 void DocumentLoader::setPreviewConverter(std::unique_ptr<PreviewConverter>&& previewConverter) 1727 { 1728 m_previewConverter = WTFMove(previewConverter); 1729 } 1730 1731 PreviewConverter* DocumentLoader::previewConverter() const 1732 { 1733 return m_previewConverter.get(); 1728 1734 } 1729 1735 -
trunk/Source/WebCore/loader/DocumentLoader.h
r211097 r211398 71 71 class IconLoader; 72 72 class Page; 73 class QuickLookHandle;73 class PreviewConverter; 74 74 class ResourceLoader; 75 75 class SharedBuffer; … … 272 272 273 273 #if USE(QUICK_LOOK) 274 WEBCORE_EXPORT void setQuickLookHandle(std::unique_ptr<QuickLookHandle>);275 QuickLookHandle* quickLookHandle() const { return m_quickLookHandle.get(); }274 void setPreviewConverter(std::unique_ptr<PreviewConverter>&&); 275 PreviewConverter* previewConverter() const; 276 276 #endif 277 277 … … 464 464 465 465 #if USE(QUICK_LOOK) 466 std::unique_ptr< QuickLookHandle> m_quickLookHandle;466 std::unique_ptr<PreviewConverter> m_previewConverter; 467 467 #endif 468 468 -
trunk/Source/WebCore/loader/ResourceLoader.cpp
r211301 r211398 57 57 58 58 #if USE(QUICK_LOOK) 59 #include "PreviewConverter.h" 59 60 #include "QuickLook.h" 60 61 #endif … … 377 378 378 379 #if USE(QUICK_LOOK) 379 if (auto quickLookHandle = m_documentLoader->quickLookHandle())380 quickLookHandle->willSendRequest(request);380 if (auto previewConverter = m_documentLoader->previewConverter()) 381 request = previewConverter->safeRequest(request); 381 382 #endif 382 383 … … 742 743 743 744 #if USE(QUICK_LOOK) 744 void ResourceLoader::didCreateQuickLookHandle(QuickLookHandle& handle) 745 { 746 m_isQuickLookResource = true; 747 frameLoader()->client().didCreateQuickLookHandle(handle); 745 bool ResourceLoader::isQuickLookResource() const 746 { 747 return !!m_quickLookHandle; 748 748 } 749 749 #endif -
trunk/Source/WebCore/loader/ResourceLoader.h
r210835 r211398 118 118 119 119 #if USE(QUICK_LOOK) 120 void didCreateQuickLookHandle(QuickLookHandle&); 121 #endif 122 bool isQuickLookResource() { return m_isQuickLookResource; } 120 bool isQuickLookResource() const; 121 #endif 123 122 124 123 const URL& url() const { return m_request.url(); } … … 175 174 ResourceResponse m_response; 176 175 LoadTiming m_loadTiming; 176 #if USE(QUICK_LOOK) 177 std::unique_ptr<QuickLookHandle> m_quickLookHandle; 178 #endif 177 179 178 180 private: … … 231 233 ResourceRequest m_deferredRequest; 232 234 ResourceLoaderOptions m_options; 233 bool m_isQuickLookResource { false };234 235 235 236 #if ENABLE(CONTENT_EXTENSIONS) -
trunk/Source/WebCore/loader/SubresourceLoader.cpp
r211301 r211398 263 263 return false; 264 264 265 if (m_ documentLoader->quickLookHandle())265 if (m_quickLookHandle) 266 266 return false; 267 267 … … 278 278 #if USE(QUICK_LOOK) 279 279 if (shouldCreateQuickLookHandleForResponse(response)) { 280 m_ documentLoader->setQuickLookHandle(QuickLookHandle::create(*this, response));280 m_quickLookHandle = QuickLookHandle::create(*this, response); 281 281 return; 282 282 } … … 357 357 { 358 358 #if USE(QUICK_LOOK) 359 if (auto quickLookHandle = m_ documentLoader->quickLookHandle()) {359 if (auto quickLookHandle = m_quickLookHandle.get()) { 360 360 if (quickLookHandle->didReceiveData(data, length)) 361 361 return; … … 369 369 { 370 370 #if USE(QUICK_LOOK) 371 if (auto quickLookHandle = m_ documentLoader->quickLookHandle()) {371 if (auto quickLookHandle = m_quickLookHandle.get()) { 372 372 if (quickLookHandle->didReceiveBuffer(buffer.get())) 373 373 return; … … 514 514 { 515 515 #if USE(QUICK_LOOK) 516 if (auto quickLookHandle = m_ documentLoader->quickLookHandle()) {516 if (auto quickLookHandle = m_quickLookHandle.get()) { 517 517 if (quickLookHandle->didFinishLoading()) 518 518 return; … … 565 565 { 566 566 #if USE(QUICK_LOOK) 567 if (auto quickLookHandle = m_ documentLoader->quickLookHandle())567 if (auto quickLookHandle = m_quickLookHandle.get()) 568 568 quickLookHandle->didFail(); 569 569 #endif -
trunk/Source/WebCore/loader/cache/CachedRawResource.cpp
r206903 r211398 98 98 } 99 99 100 #if USE(QUICK_LOOK) 100 101 m_allowEncodedDataReplacement = !m_loader->isQuickLookResource(); 102 #endif 101 103 102 104 CachedResource::finishLoading(data); -
trunk/Source/WebCore/loader/ios/QuickLook.h
r211355 r211398 28 28 #if USE(QUICK_LOOK) 29 29 30 #include <objc/objc.h>31 30 #include <wtf/Forward.h> 32 31 #include <wtf/RetainPtr.h> … … 37 36 OBJC_CLASS NSURL; 38 37 OBJC_CLASS NSURLRequest; 39 OBJC_CLASS WebPreview Converter;38 OBJC_CLASS WebPreviewLoader; 40 39 41 40 namespace WebCore { … … 60 59 ~QuickLookHandle(); 61 60 62 void willSendRequest(ResourceRequest&);63 61 bool didReceiveData(const char* data, unsigned length); 64 62 bool didReceiveBuffer(const SharedBuffer&); … … 76 74 QuickLookHandle(ResourceLoader&, const ResourceResponse&); 77 75 78 RetainPtr<WebPreview Converter> m_converter;76 RetainPtr<WebPreviewLoader> m_previewLoader; 79 77 bool m_finishedLoadingDataIntoConverter { false }; 80 78 }; -
trunk/Source/WebCore/loader/ios/QuickLook.mm
r211355 r211398 29 29 #if USE(QUICK_LOOK) 30 30 31 #import "DocumentLoader.h" 31 32 #import "FileSystemIOS.h" 33 #import "FrameLoader.h" 34 #import "FrameLoaderClient.h" 32 35 #import "Logging.h" 33 36 #import "NSFileManagerSPI.h" 37 #import "PreviewConverter.h" 34 38 #import "QuickLookHandleClient.h" 35 39 #import "ResourceError.h" … … 92 96 RetainPtr<NSString> uti = adoptNS(QLTypeCopyUTIForURLAndMimeType(url, updatedMIMEType.get())); 93 97 94 RetainPtr<QLPreviewConverter> converter = adoptNS([allocQLPreviewConverterInstance() initWithData:data name:nil uti:uti.get() options:nil]);95 NSURLRequest *request = [converter previewRequest];98 auto converter = std::make_unique<PreviewConverter>(data, uti.get()); 99 ResourceRequest previewRequest = converter->previewRequest(); 96 100 97 101 // We use [request URL] here instead of url since it will be 98 102 // the URL that the WebDataSource will see during -dealloc. 99 addQLPreviewConverterWithFileForURL( [request URL], converter.get(), nil);100 101 return request;103 addQLPreviewConverterWithFileForURL(previewRequest.url(), converter->platformConverter(), nil); 104 105 return previewRequest.nsURLRequest(DoNotUpdateHTTPBody); 102 106 } 103 107 … … 138 142 } 139 143 140 @interface WebPreview Converter : NSObject {144 @interface WebPreviewLoader : NSObject { 141 145 RefPtr<ResourceLoader> _resourceLoader; 146 ResourceResponse _response; 142 147 QuickLookHandle* _handle; 143 148 RefPtr<QuickLookHandleClient> _client; 144 RetainPtr<NSURLResponse> _originalResponse; 145 RetainPtr<QLPreviewConverter> _platformConverter; 149 std::unique_ptr<PreviewConverter> _converter; 146 150 RetainPtr<NSMutableArray> _bufferedDataArray; 147 151 BOOL _hasSentDidReceiveResponse; … … 154 158 - (void)failed; 155 159 156 @property (nonatomic, readonly) QLPreviewConverter *platformConverter;160 @property (nonatomic, readonly) PreviewConverter* converter; 157 161 158 162 @end 159 163 160 @implementation WebPreview Converter164 @implementation WebPreviewLoader 161 165 162 166 - (instancetype)initWithResourceLoader:(ResourceLoader&)resourceLoader resourceResponse:(const ResourceResponse&)resourceResponse quickLookHandle:(QuickLookHandle&)quickLookHandle … … 167 171 168 172 _resourceLoader = &resourceLoader; 173 _response = resourceResponse; 169 174 _handle = &quickLookHandle; 170 175 _client = &testingOrEmptyClient(); 171 _originalResponse = resourceResponse.nsURLResponse(); 172 _platformConverter = adoptNS([allocQLPreviewConverterInstance() initWithConnection:nil delegate:self response:_originalResponse.get() options:nil]); 176 _converter = std::make_unique<PreviewConverter>(self, _response); 173 177 _bufferedDataArray = adoptNS([[NSMutableArray alloc] init]); 174 178 175 LOG(Network, "WebPreviewConverter created with preview file name \"%s\".", [_platformConverter previewFileName]);179 LOG(Network, "WebPreviewConverter created with preview file name \"%s\".", _converter->previewFileName().utf8().data()); 176 180 return self; 177 181 } … … 186 190 { 187 191 LOG(Network, "WebPreviewConverter appending data array with count %ld.", dataArray.count); 188 [_ platformConverterappendDataArray:dataArray];192 [_converter->platformConverter() appendDataArray:dataArray]; 189 193 [_bufferedDataArray addObjectsFromArray:dataArray]; 190 194 _client->didReceiveDataArray((CFArrayRef)dataArray); … … 194 198 { 195 199 LOG(Network, "WebPreviewConverter finished appending data."); 196 [_ platformConverterfinishedAppendingData];200 [_converter->platformConverter() finishedAppendingData]; 197 201 _client->didFinishLoading(); 198 202 } … … 201 205 { 202 206 LOG(Network, "WebPreviewConverter failed."); 203 [_ platformConverterfinishConverting];207 [_converter->platformConverter() finishConverting]; 204 208 _client->didFail(); 205 209 } 206 210 207 - ( QLPreviewConverter *)platformConverter208 { 209 return _ platformConverter.get();211 - (PreviewConverter*)converter 212 { 213 return _converter.get(); 210 214 } 211 215 … … 217 221 [_bufferedDataArray removeAllObjects]; 218 222 219 ResourceResponse response { [_platformConverter previewResponse]};223 ResourceResponse response { _converter->previewResponse() }; 220 224 response.setIsQuickLook(true); 221 225 ASSERT(response.mimeType().length()); 226 227 _resourceLoader->documentLoader()->setPreviewConverter(WTFMove(_converter)); 222 228 223 229 _hasSentDidReceiveResponse = YES; … … 264 270 265 271 _client->didRequestPassword([retainedSelf = retainPtr(self)] (const String& password) { 266 NSDictionary *passwordOption = @{ (NSString *)kQLPreviewOptionPasswordKey : password };267 auto converterWithPassword = adoptNS([allocQLPreviewConverterInstance() initWithConnection:nil delegate:retainedSelf.get() response:retainedSelf->_originalResponse.get() options:passwordOption]);268 [ converterWithPasswordappendDataArray:retainedSelf->_bufferedDataArray.get()];269 [ converterWithPasswordfinishedAppendingData];270 retainedSelf->_ platformConverter = WTFMove(converterWithPassword);272 auto converter = std::make_unique<PreviewConverter>(retainedSelf.get(), retainedSelf->_response, password); 273 QLPreviewConverter *platformConverter = converter->platformConverter(); 274 [platformConverter appendDataArray:retainedSelf->_bufferedDataArray.get()]; 275 [platformConverter finishedAppendingData]; 276 retainedSelf->_converter = WTFMove(converter); 271 277 }); 272 278 } … … 319 325 320 326 QuickLookHandle::QuickLookHandle(ResourceLoader& loader, const ResourceResponse& response) 321 : m_ converter { adoptNS([[WebPreviewConverter alloc] initWithResourceLoader:loader resourceResponse:response quickLookHandle:*this]) }322 { 323 loader. didCreateQuickLookHandle(*this);327 : m_previewLoader { adoptNS([[WebPreviewLoader alloc] initWithResourceLoader:loader resourceResponse:response quickLookHandle:*this]) } 328 { 329 loader.frameLoader()->client().didCreateQuickLookHandle(*this); 324 330 } 325 331 … … 339 345 } 340 346 341 void QuickLookHandle::willSendRequest(ResourceRequest& request)342 {343 if (request.url().protocolIs(QLPreviewProtocol()))344 request = [[m_converter platformConverter] safeRequestForRequest:request.nsURLRequest(DoNotUpdateHTTPBody)];345 }346 347 347 bool QuickLookHandle::didReceiveData(const char* data, unsigned length) 348 348 { … … 350 350 return false; 351 351 352 [m_ converter appendDataArray:@[ [NSData dataWithBytes:data length:length] ]];352 [m_previewLoader appendDataArray:@[ [NSData dataWithBytes:data length:length] ]]; 353 353 return true; 354 354 } … … 359 359 return false; 360 360 361 [m_ converter appendDataArray:buffer.createNSDataArray().get()];361 [m_previewLoader appendDataArray:buffer.createNSDataArray().get()]; 362 362 return true; 363 363 } … … 369 369 370 370 m_finishedLoadingDataIntoConverter = true; 371 [m_ converter finishedAppending];371 [m_previewLoader finishedAppending]; 372 372 return true; 373 373 } … … 375 375 void QuickLookHandle::didFail() 376 376 { 377 [m_ converter failed];378 m_ converter = nullptr;377 [m_previewLoader failed]; 378 m_previewLoader = nullptr; 379 379 } 380 380 381 381 void QuickLookHandle::setClient(Ref<QuickLookHandleClient>&& client) 382 382 { 383 [m_ converter setClient:WTFMove(client)];383 [m_previewLoader setClient:WTFMove(client)]; 384 384 } 385 385 … … 391 391 String QuickLookHandle::previewFileName() const 392 392 { 393 return [m_ converter platformConverter].previewFileName;393 return [m_previewLoader converter]->previewFileName(); 394 394 } 395 395 396 396 String QuickLookHandle::previewUTI() const 397 397 { 398 return [m_ converter platformConverter].previewUTI;398 return [m_previewLoader converter]->previewUTI(); 399 399 } 400 400 -
trunk/Source/WebCore/platform/ios/QuickLookSoftLink.h
r210864 r211398 30 30 SOFT_LINK_FRAMEWORK_FOR_HEADER(WebCore, QuickLook) 31 31 32 SOFT_LINK_CLASS_FOR_HEADER(WebCore, QuickLook, QLPreviewConverter)33 34 32 SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, QuickLook, QLPreviewGetSupportedMIMETypes, NSSet *, (), ()) 35 33 #define QLPreviewGetSupportedMIMETypes softLink_QuickLook_QLPreviewGetSupportedMIMETypes … … 44 42 #define QLPreviewScheme get_QuickLook_QLPreviewScheme() 45 43 46 SOFT_LINK_CONSTANT_FOR_HEADER(WebCore, QuickLook, kQLPreviewOptionPasswordKey, CFStringRef)47 #define kQLPreviewOptionPasswordKey get_QuickLook_kQLPreviewOptionPasswordKey()48 49 44 #endif // USE(QUICK_LOOK) -
trunk/Source/WebCore/platform/ios/QuickLookSoftLink.mm
r210864 r211398 32 32 SOFT_LINK_FRAMEWORK_FOR_SOURCE(WebCore, QuickLook) 33 33 34 SOFT_LINK_CLASS_FOR_SOURCE(WebCore, QuickLook, QLPreviewConverter)35 36 34 SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, QuickLook, QLPreviewGetSupportedMIMETypes, NSSet *, (), ()) 37 35 SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, QuickLook, QLTypeCopyBestMimeTypeForFileNameAndMimeType, NSString *, (NSString *fileName, NSString *mimeType), (fileName, mimeType)) … … 41 39 SOFT_LINK_POINTER_FOR_SOURCE(WebCore, QuickLook, QLPreviewScheme, NSString *) 42 40 43 SOFT_LINK_CONSTANT_FOR_SOURCE(WebCore, QuickLook, kQLPreviewOptionPasswordKey, CFStringRef)44 45 41 #endif // USE(QUICK_LOOK)
Note: See TracChangeset
for help on using the changeset viewer.