Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1ab2a0ce7fe40e728e2aaabac9e54e55b726308a https://github.com/WebKit/WebKit/commit/1ab2a0ce7fe40e728e2aaabac9e54e55b726308a Author: Sihui Liu <sihui_...@apple.com> Date: 2023-10-10 (Tue, 10 Oct 2023)
Changed paths: M Source/WebCore/dom/Element.cpp M Source/WebCore/dom/Element.h M Source/WebCore/dom/Node.cpp M Source/WebCore/dom/Node.h M Source/WebCore/editing/MarkupAccumulator.cpp M Source/WebCore/html/HTMLImageElement.cpp M Source/WebCore/html/HTMLImageElement.h M Source/WebCore/html/HTMLSourceElement.cpp M Source/WebCore/html/HTMLSourceElement.h M Source/WebCore/html/parser/HTMLSrcsetParser.cpp M Source/WebCore/html/parser/HTMLSrcsetParser.h M Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm Log Message: ----------- Save available image resources to disk https://bugs.webkit.org/show_bug.cgi?id=262795 rdar://problem/116585056 Reviewed by Ryosuke Niwa. An img element can have multiple candidate resources by having srcset attribute or source element (when its parent is picture element). To make sure img element in saved file can be correclty loaded, we should save all fetched candidate resources to disk. This patch implements that by extracting urls from srcset attribute and replace them with file paths. API Test: WebArchive.SaveResourcesResponsiveImages * Source/WebCore/dom/Element.cpp: (WebCore::Element::replaceURLsInAttributeValue const): * Source/WebCore/dom/Element.h: * Source/WebCore/dom/Node.cpp: (WebCore::Node::getCandidateSubresourceURLs const): * Source/WebCore/dom/Node.h: (WebCore::Node::addCandidateSubresourceURLs const): * Source/WebCore/editing/MarkupAccumulator.cpp: (WebCore::MarkupAccumulator::replaceAttributeIfNecessary): * Source/WebCore/html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::replaceURLsInAttributeValue const): (WebCore::HTMLImageElement::addCandidateSubresourceURLs const): * Source/WebCore/html/HTMLImageElement.h: * Source/WebCore/html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::replaceURLsInAttributeValue const): (WebCore::HTMLSourceElement::addCandidateSubresourceURLs const): * Source/WebCore/html/HTMLSourceElement.h: * Source/WebCore/html/parser/HTMLSrcsetParser.cpp: (WebCore::getURLsFromSrcsetAttribute): (WebCore::replaceURLsInSrcsetAttribute): * Source/WebCore/html/parser/HTMLSrcsetParser.h: * Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): * Tools/TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm: Canonical link: https://commits.webkit.org/269190@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes