Changeset 287053 in webkit
- Timestamp:
- Dec 14, 2021, 3:04:49 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
-
ChangeLog (modified) (1 diff)
-
loader/ios/LegacyPreviewLoader.h (modified) (1 diff)
-
loader/ios/LegacyPreviewLoader.mm (modified) (3 diffs)
-
platform/PreviewConverter.cpp (modified) (1 diff)
-
platform/PreviewConverterProvider.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r287051 r287053 1 2021-12-14 Jean-Yves Avenard <jya@apple.com> 2 3 Make PreviewConverterProvider not modify the SharedBuffer once returned 4 https://bugs.webkit.org/show_bug.cgi?id=233923 5 rdar://problem/86149850 6 7 Reviewed by Youenn Fablet. 8 9 Covered by existing API tests. 10 11 * loader/ios/LegacyPreviewLoader.h: 12 * loader/ios/LegacyPreviewLoader.mm: 13 (WebCore::LegacyPreviewLoader::previewConverterDidStartConverting): 14 (WebCore::LegacyPreviewLoader::provideMainResourceForPreviewConverter): 15 * platform/PreviewConverter.cpp: 16 (WebCore::PreviewConverter::updateMainResource): 17 * platform/PreviewConverterProvider.h: 18 1 19 2021-12-14 Basuke Suzuki <basuke.suzuki@sony.com> 2 20 -
trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.h
r287021 r287053 66 66 67 67 // PreviewConverterProvider 68 void provideMainResourceForPreviewConverter(PreviewConverter&, CompletionHandler<void( const FragmentedSharedBuffer*)>&&) final;68 void provideMainResourceForPreviewConverter(PreviewConverter&, CompletionHandler<void(Ref<FragmentedSharedBuffer>&&)>&&) final; 69 69 void providePasswordForPreviewConverter(PreviewConverter&, CompletionHandler<void(const String&)>&&) final; 70 70 -
trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.mm
r287021 r287053 110 110 111 111 ASSERT(!m_hasProcessedResponse); 112 m_originalData. empty();112 m_originalData.reset(); 113 113 resourceLoader->documentLoader()->setPreviewConverter(WTFMove(m_converter)); 114 114 auto response { converter.previewResponse() }; … … 225 225 } 226 226 227 void LegacyPreviewLoader::provideMainResourceForPreviewConverter(PreviewConverter& converter, CompletionHandler<void( const FragmentedSharedBuffer*)>&& completionHandler)227 void LegacyPreviewLoader::provideMainResourceForPreviewConverter(PreviewConverter& converter, CompletionHandler<void(Ref<FragmentedSharedBuffer>&&)>&& completionHandler) 228 228 { 229 229 ASSERT_UNUSED(converter, &converter == m_converter); 230 completionHandler(m_originalData. get().get());230 completionHandler(m_originalData.copy()); 231 231 } 232 232 … … 236 236 : m_converter { PreviewConverter::create(response, *this) } 237 237 , m_client { makeClient(loader, m_converter->previewFileName(), m_converter->previewUTI()) } 238 , m_originalData { FragmentedSharedBuffer::create() }239 238 , m_resourceLoader { loader } 240 239 , m_shouldDecidePolicyBeforeLoading { loader.frame()->settings().shouldDecidePolicyBeforeLoadingQuickLookPreview() } -
trunk/Source/WebCore/platform/PreviewConverter.cpp
r287021 r287053 82 82 } 83 83 84 provider->provideMainResourceForPreviewConverter(*this, [this, protectedThis = Ref { *this }](auto buffer) { 85 if (buffer) 86 appendFromBuffer(*buffer); 87 else 88 didFailUpdating(); 84 provider->provideMainResourceForPreviewConverter(*this, [this, protectedThis = Ref { *this }](auto&& buffer) { 85 appendFromBuffer(WTFMove(buffer)); 89 86 }); 90 87 } -
trunk/Source/WebCore/platform/PreviewConverterProvider.h
r287021 r287053 33 33 virtual ~PreviewConverterProvider() = default; 34 34 35 virtual void provideMainResourceForPreviewConverter(PreviewConverter&, CompletionHandler<void( const FragmentedSharedBuffer*)>&&) = 0;35 virtual void provideMainResourceForPreviewConverter(PreviewConverter&, CompletionHandler<void(Ref<FragmentedSharedBuffer>&&)>&&) = 0; 36 36 virtual void providePasswordForPreviewConverter(PreviewConverter&, CompletionHandler<void(const String&)>&&) = 0; 37 37 };
Note:
See TracChangeset
for help on using the changeset viewer.