Changeset 211402 in webkit
- Timestamp:
- Jan 30, 2017 7:06:05 PM (7 years ago)
- Location:
- trunk/Source
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r211401 r211402 1 2017-01-30 Andy Estes <aestes@apple.com> 2 3 [QuickLook] FrameLoaderClient should return the new QuickLookHandleClient it creates 4 https://bugs.webkit.org/show_bug.cgi?id=167625 5 6 Reviewed by Andreas Kling. 7 8 QuickLookHandleClients were being created by QuickLookHandle calling 9 FrameLoaderClient::didCreateQuickLookHandle() then having the FrameLoaderClient create a new 10 QuickLookHandleClient and set it using QuickLookHandle::setClient(). 11 12 Since all FrameLoaderClient::didCreateQuickLookHandle() does is create a new 13 QuickLookHandleClient, this patch changes the FrameLoaderClient function to return the new 14 QuickLookHandleClient directly and removes the API from QuickLookHandle to set a client. 15 This also removes previewFileName() and previewUTI() from QuickLookHandle and instead passes 16 these as arguments to the FrameLoaderClient. 17 18 No change in behavior. Covered by existing tests. 19 20 * loader/EmptyClients.cpp: Added an implementation of createQuickLookHandleClient() that 21 returns nullptr. 22 * loader/FrameLoaderClient.h: Declared createQuickLookHandleClient() and removed 23 didCreateQuickLookHandle(). 24 * loader/ios/QuickLook.h: Removed setClient(), previewFileName(), and previewUTI(). 25 * loader/ios/QuickLook.mm: Removed testingOrEmptyClient(). 26 (-[WebPreviewLoader initWithResourceLoader:resourceResponse:quickLookHandle:]): Set _client 27 to testingClient() if it exists, otherwise set it to the client returned by 28 FrameLoaderClient::createQuickLookHandleClient() it non-null, otherwise set it to 29 emptyClient(). 30 (testingOrEmptyClient): Deleted. 31 (-[WebPreviewLoader setClient:]): Deleted. 32 (-[WebPreviewLoader converter]): Deleted. 33 (WebCore::QuickLookHandle::setClient): Deleted. 34 (WebCore::QuickLookHandle::previewFileName): Deleted. 35 (WebCore::QuickLookHandle::previewUTI): Deleted. 36 1 37 2017-01-30 Jer Noble <jer.noble@apple.com> 2 38 -
trunk/Source/WebCore/loader/EmptyClients.cpp
r211376 r211402 68 68 #endif 69 69 70 #if USE(QUICK_LOOK) 71 #include "QuickLookHandleClient.h" 72 #endif 73 70 74 namespace WebCore { 71 75 … … 442 446 bool isEmptyFrameLoaderClient() final { return true; } 443 447 void prefetchDNS(const String&) final { } 448 449 #if USE(QUICK_LOOK) 450 RefPtr<QuickLookHandleClient> createQuickLookHandleClient(const String&, const String&) final { return nullptr; } 451 #endif 444 452 }; 445 453 -
trunk/Source/WebCore/loader/FrameLoaderClient.h
r210859 r211402 85 85 class PolicyChecker; 86 86 class ProtectionSpace; 87 class QuickLookHandle ;87 class QuickLookHandleClient; 88 88 class RTCPeerConnectionHandler; 89 89 class ResourceError; … … 341 341 342 342 #if USE(QUICK_LOOK) 343 virtual void didCreateQuickLookHandle(QuickLookHandle&) { }343 virtual RefPtr<QuickLookHandleClient> createQuickLookHandleClient(const String&, const String&) = 0; 344 344 #endif 345 345 -
trunk/Source/WebCore/loader/ios/QuickLook.h
r211398 r211402 64 64 void didFail(); 65 65 66 WEBCORE_EXPORT void setClient(Ref<QuickLookHandleClient>&&);67 66 WEBCORE_EXPORT static void setClientForTesting(RefPtr<QuickLookHandleClient>&&); 68 69 WEBCORE_EXPORT String previewFileName() const;70 WEBCORE_EXPORT String previewUTI() const;71 67 72 68 private: -
trunk/Source/WebCore/loader/ios/QuickLook.mm
r211398 r211402 135 135 } 136 136 137 static QuickLookHandleClient& testingOrEmptyClient()138 {139 if (testingClient())140 return *testingClient();141 return emptyClient();142 }143 144 137 @interface WebPreviewLoader : NSObject { 145 138 RefPtr<ResourceLoader> _resourceLoader; … … 153 146 154 147 - (instancetype)initWithResourceLoader:(ResourceLoader&)resourceLoader resourceResponse:(const ResourceResponse&)resourceResponse quickLookHandle:(QuickLookHandle&)quickLookHandle; 155 - (void)setClient:(Ref<QuickLookHandleClient>&&)client;156 148 - (void)appendDataArray:(NSArray<NSData *> *)dataArray; 157 149 - (void)finishedAppending; 158 150 - (void)failed; 159 151 160 @property (nonatomic, readonly) PreviewConverter* converter;161 162 152 @end 163 153 … … 173 163 _response = resourceResponse; 174 164 _handle = &quickLookHandle; 175 _client = &testingOrEmptyClient();176 165 _converter = std::make_unique<PreviewConverter>(self, _response); 177 166 _bufferedDataArray = adoptNS([[NSMutableArray alloc] init]); 178 167 168 if (testingClient()) 169 _client = testingClient(); 170 else if (auto client = resourceLoader.frameLoader()->client().createQuickLookHandleClient(_converter->previewFileName(), _converter->previewUTI())) 171 _client = WTFMove(client); 172 else 173 _client = &emptyClient(); 174 179 175 LOG(Network, "WebPreviewConverter created with preview file name \"%s\".", _converter->previewFileName().utf8().data()); 180 176 return self; 181 }182 183 - (void)setClient:(Ref<QuickLookHandleClient>&&)client184 {185 if (!testingClient())186 _client = WTFMove(client);187 177 } 188 178 … … 207 197 [_converter->platformConverter() finishConverting]; 208 198 _client->didFail(); 209 }210 211 - (PreviewConverter*)converter212 {213 return _converter.get();214 199 } 215 200 … … 327 312 : m_previewLoader { adoptNS([[WebPreviewLoader alloc] initWithResourceLoader:loader resourceResponse:response quickLookHandle:*this]) } 328 313 { 329 loader.frameLoader()->client().didCreateQuickLookHandle(*this);330 314 } 331 315 … … 379 363 } 380 364 381 void QuickLookHandle::setClient(Ref<QuickLookHandleClient>&& client)382 {383 [m_previewLoader setClient:WTFMove(client)];384 }385 386 365 void QuickLookHandle::setClientForTesting(RefPtr<QuickLookHandleClient>&& client) 387 366 { … … 389 368 } 390 369 391 String QuickLookHandle::previewFileName() const392 {393 return [m_previewLoader converter]->previewFileName();394 }395 396 String QuickLookHandle::previewUTI() const397 {398 return [m_previewLoader converter]->previewUTI();399 }400 401 370 } 402 371 -
trunk/Source/WebKit/mac/ChangeLog
r211395 r211402 1 2017-01-30 Andy Estes <aestes@apple.com> 2 3 [QuickLook] FrameLoaderClient should return the new QuickLookHandleClient it creates 4 https://bugs.webkit.org/show_bug.cgi?id=167625 5 6 Reviewed by Andreas Kling. 7 8 * WebCoreSupport/WebFrameLoaderClient.h: Declared createQuickLookHandleClient(). 9 * WebCoreSupport/WebFrameLoaderClient.mm: 10 (WebFrameLoaderClient::createQuickLookHandleClient): Renamed from didCreateQuickLookHandle(). 11 (WebFrameLoaderClient::didCreateQuickLookHandle): Renamed to createQuickLookHandleClient(). 12 1 13 2017-01-30 Chris Dumez <cdumez@apple.com> 2 14 -
trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
r210859 r211402 247 247 248 248 #if USE(QUICK_LOOK) 249 void didCreateQuickLookHandle(WebCore::QuickLookHandle&) final;249 RefPtr<WebCore::QuickLookHandleClient> createQuickLookHandleClient(const String& fileName, const String& uti) final; 250 250 #endif 251 251 -
trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
r211355 r211402 2226 2226 2227 2227 #if USE(QUICK_LOOK) 2228 void WebFrameLoaderClient::didCreateQuickLookHandle(WebCore::QuickLookHandle& handle)2228 RefPtr<QuickLookHandleClient> WebFrameLoaderClient::createQuickLookHandleClient(const String& fileName, const String& uti) 2229 2229 { 2230 2230 class QuickLookDocumentWriter : public WebCore::QuickLookHandleClient { … … 2264 2264 2265 2265 if (![m_webFrame webView].preferences.quickLookDocumentSavingEnabled) 2266 return ;2267 2268 NSString *filePath = createTemporaryFileForQuickLook( handle.previewFileName());2266 return nullptr; 2267 2268 NSString *filePath = createTemporaryFileForQuickLook(fileName); 2269 2269 if (!filePath) 2270 return ;2271 2272 [m_webFrame provisionalDataSource]._quickLookContent = @{ WebQuickLookFileNameKey : filePath, WebQuickLookUTIKey : handle.previewUTI()};2273 handle.setClient(adoptRef(*new QuickLookDocumentWriter(filePath)));2270 return nullptr; 2271 2272 [m_webFrame provisionalDataSource]._quickLookContent = @{ WebQuickLookFileNameKey : filePath, WebQuickLookUTIKey : uti }; 2273 return adoptRef(*new QuickLookDocumentWriter(filePath)); 2274 2274 } 2275 2275 #endif -
trunk/Source/WebKit2/ChangeLog
r211390 r211402 1 2017-01-30 Andy Estes <aestes@apple.com> 2 3 [QuickLook] FrameLoaderClient should return the new QuickLookHandleClient it creates 4 https://bugs.webkit.org/show_bug.cgi?id=167625 5 6 Reviewed by Andreas Kling. 7 8 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Declared createQuickLookHandleClient(). 9 * WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm: 10 (WebKit::WebFrameLoaderClient::createQuickLookHandleClient): Renamed from didCreateQuickLookHandle(). 11 (WebKit::WebFrameLoaderClient::didCreateQuickLookHandle): Renamed to createQuickLookHandleClient(). 12 * WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.cpp: 13 (WebKit::WebQuickLookHandleClient::WebQuickLookHandleClient): Set m_fileName and m_uti from 14 the constructor arguments instead of from handle. 15 * WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.h: 16 1 17 2017-01-30 Anders Carlsson <andersca@apple.com> 2 18 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
r210859 r211402 246 246 247 247 #if USE(QUICK_LOOK) 248 void didCreateQuickLookHandle(WebCore::QuickLookHandle&) final;248 RefPtr<WebCore::QuickLookHandleClient> createQuickLookHandleClient(const String& fileName, const String& uti) final; 249 249 #endif 250 250 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm
r174380 r211402 67 67 68 68 #if USE(QUICK_LOOK) 69 void WebFrameLoaderClient::didCreateQuickLookHandle(WebCore::QuickLookHandle& handle)69 RefPtr<QuickLookHandleClient> WebFrameLoaderClient::createQuickLookHandleClient(const String& fileName, const String& uti) 70 70 { 71 71 if (!m_frame->isMainFrame()) 72 return ;72 return nullptr; 73 73 74 74 WebPage* webPage = m_frame->page(); 75 75 if (!webPage) 76 return ;76 return nullptr; 77 77 78 handle.setClient(WebQuickLookHandleClient::create(handle, webPage->pageID()));78 return WebQuickLookHandleClient::create(fileName, uti, webPage->pageID()); 79 79 } 80 80 #endif -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.cpp
r211165 r211402 45 45 } 46 46 47 WebQuickLookHandleClient::WebQuickLookHandleClient(const WebCore::QuickLookHandle& handle, uint64_t pageID)48 : m_fileName (handle.previewFileName())49 , m_uti (handle.previewUTI())50 , m_pageID (pageID)47 WebQuickLookHandleClient::WebQuickLookHandleClient(const String& fileName, const String& uti, uint64_t pageID) 48 : m_fileName { fileName } 49 , m_uti { uti } 50 , m_pageID { pageID } 51 51 { 52 52 WebProcess::singleton().send(Messages::WebPageProxy::DidStartLoadForQuickLookDocumentInMainFrame(m_fileName, m_uti), m_pageID); -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.h
r211172 r211402 42 42 class WebQuickLookHandleClient final : public WebCore::QuickLookHandleClient { 43 43 public: 44 static Ref<WebQuickLookHandleClient> create(const WebCore::QuickLookHandle& handle, uint64_t pageID)44 static Ref<WebQuickLookHandleClient> create(const String& fileName, const String& uti, uint64_t pageID) 45 45 { 46 return adoptRef(*new WebQuickLookHandleClient( handle, pageID));46 return adoptRef(*new WebQuickLookHandleClient(fileName, uti, pageID)); 47 47 } 48 48 ~WebQuickLookHandleClient(); … … 51 51 52 52 private: 53 WebQuickLookHandleClient(const WebCore::QuickLookHandle&, uint64_t pageID);53 WebQuickLookHandleClient(const String& fileName, const String& uti, uint64_t pageID); 54 54 void didReceiveDataArray(CFArrayRef) override; 55 55 void didFinishLoading() override;
Note: See TracChangeset
for help on using the changeset viewer.