Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 71e39c7bd8fc08ef9171cf4bfbaed96673158980
      
https://github.com/WebKit/WebKit/commit/71e39c7bd8fc08ef9171cf4bfbaed96673158980
  Author: Richard Robinson <[email protected]>
  Date:   2024-05-28 (Tue, 28 May 2024)

  Changed paths:
    M Source/WebCore/editing/cocoa/HTMLConverter.mm
    M Source/WebCore/loader/mac/LoaderNSURLExtras.h
    M Source/WebCore/loader/mac/LoaderNSURLExtras.mm

  Log Message:
  -----------
  When converting HTML that contains an image to an attributed string and back 
using `HTMLConverter::editingAttributedString`, the image is lost
https://bugs.webkit.org/show_bug.cgi?id=274701
rdar://128717614

Reviewed by Aditya Keerthi.

When converting an NSAttributedString to an HTML document fragment, if the 
attributed string
contains a text attachment backed by a file wrapper without a preferred file 
name, the attachment
is dropped and not converted to HTML.

Fix by ensuring that a file wrapper for an image always has a preferred file 
name when converting
HTML to an attributed string inside of `HTMLConverter::editingAttributedString` 
using the following
mechanism:

1. If the image is backed by an attachment, use the attachment's title as the 
preferred name.
2. Otherwise, try to use the image's alt attribute's value as the preferred 
name, if present.
3. Otherwise, try to convert the image's url into a filename and use that as 
the preferred name.
4. If all else fails, use the default "unknown" file name as the preferred name.

* Source/WebCore/editing/cocoa/HTMLConverter.mm:
(HTMLConverter::HTMLConverter):
(HTMLConverter::_addLinkForElement):
(HTMLConverter::_processElement):
(preferredFilenameForElement):
(fileWrapperForElement):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to