[webkit-changes] [WebKit/WebKit] 1ab2a0: Save available image resources to disk
Sihui
noreply at github.com
Tue Oct 10 22:11:14 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1ab2a0ce7fe40e728e2aaabac9e54e55b726308a
https://github.com/WebKit/WebKit/commit/1ab2a0ce7fe40e728e2aaabac9e54e55b726308a
Author: Sihui Liu <sihui_liu at 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
More information about the webkit-changes
mailing list