Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5b6b22b02a763782fcc6eda23cdaed106f32c55f
      
https://github.com/WebKit/WebKit/commit/5b6b22b02a763782fcc6eda23cdaed106f32c55f
  Author: Sihui Liu <sihui_...@apple.com>
  Date:   2023-10-17 (Tue, 17 Oct 2023)

  Changed paths:
    M Source/WebCore/loader/archive/ArchiveResource.cpp
    M Source/WebCore/loader/archive/ArchiveResource.h
    M Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm

  Log Message:
  -----------
  URL in saved iframe resource is wrong when iframe embeds another iframe
https://bugs.webkit.org/show_bug.cgi?id=263209
rdar://116882918

Reviewed by Ryosuke Niwa.

Main resources of iframes are stored under the same directory (subresources 
directory), so the rewritten url of an
iframe should not contain the name of directory when the iframe is embeded in 
another iframe. For example, if an iframe
with src set to 'iframe1.html' contains another iframe with src set to 
'iframe2.html', and their corresponding file
paths are '[subresources_directory]/frame1.html' and 
'[subresources_directory]/frame2.html', then the src of iframe2 in
frame1.html should be 'frame2.html', not 'subresources/frame2.html'.

This patch also renames fileName to (relative)filePath in ArchiveResource and 
LegacyWebArchive, because the variable is
indeed a file path that can contain directory name.

Test: WebArchive.SaveResourcesIframeInIframe

* Source/WebCore/loader/archive/ArchiveResource.cpp:
(WebCore::ArchiveResource::ArchiveResource):
(WebCore::ArchiveResource::create):
(WebCore::ArchiveResource::saveToDisk):
* Source/WebCore/loader/archive/ArchiveResource.h:
(WebCore::ArchiveResource::relativeFilePath const):
(WebCore::ArchiveResource::setRelativeFilePath):
(WebCore::ArchiveResource::fileName const): Deleted.
(WebCore::ArchiveResource::setFileName): Deleted.
* Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createPropertyListRepresentation):
(WebCore::LegacyWebArchive::createResource):
(WebCore::LegacyWebArchive::create):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm:

Canonical link: https://commits.webkit.org/269429@main


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to