Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b0e7ef7b0420de70a7ec57e74412a2202718b9ca
      
https://github.com/WebKit/WebKit/commit/b0e7ef7b0420de70a7ec57e74412a2202718b9ca
  Author: Gerald Squelart <g_squel...@apple.com>
  Date:   2023-06-29 (Thu, 29 Jun 2023)

  Changed paths:
    M 
LayoutTests/fast/attachment/mac/wide-attachment-image-controls-basic-expected.txt
    M 
LayoutTests/platform/ios-wk2/fast/attachment/cocoa/wide-attachment-rendering-expected.txt
    M 
LayoutTests/platform/mac-wk2/fast/attachment/cocoa/wide-attachment-rendering-expected.txt
    M Source/WebCore/editing/Editor.cpp
    M Source/WebCore/html/HTMLAttachmentElement.cpp
    M Source/WebCore/html/HTMLAttachmentElement.h
    M Source/WebCore/html/shadow/attachmentElementShadow.css
    M Source/WebCore/rendering/AttachmentLayout.mm
    M Source/WebCore/rendering/RenderAttachment.cpp
    M Source/WebCore/rendering/RenderThemeIOS.mm
    M Source/WebCore/rendering/RenderThemeMac.mm
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  -----------
  Attachment: Use image element to show icon/thumbnail
https://bugs.webkit.org/show_bug.cgi?id=258437
rdar://105252742

Reviewed by Tim Nguyen.

Instead of using an inner attachment with legacy rendering, use a standard img 
element with a data URL
pointing at a blob that contains the image data.

Widespread changes:
- Removed m_innerLegacyAttachment and all related code.
- Removed image-only code.
- Consistently using "wide-layout" instead of "modern", and "narrow" instead of 
"legacy".

* 
LayoutTests/fast/attachment/mac/wide-attachment-image-controls-basic-expected.txt:
* 
LayoutTests/platform/ios-wk2/fast/attachment/cocoa/wide-attachment-rendering-expected.txt:
* 
LayoutTests/platform/mac-wk2/fast/attachment/cocoa/wide-attachment-rendering-expected.txt:
* Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::didInsertAttachmentElement):
* Source/WebCore/html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::create):
(WebCore::HTMLAttachmentElement::didAddUserAgentShadowRoot):
(WebCore::attachmentPlaceholderIdentifier):
(WebCore::attachmentIconIdentifier):
(WebCore::HTMLAttachmentElement::ensureWideLayoutShadowTree):
(WebCore::HTMLAttachmentElement::updateProgress):
(WebCore::HTMLAttachmentElement::setFile):
(WebCore::HTMLAttachmentElement::attributeChanged):
(WebCore::HTMLAttachmentElement::attachmentActionForDisplay const):
(WebCore::HTMLAttachmentElement::attachmentTitleForDisplay const):
(WebCore::HTMLAttachmentElement::attachmentSubtitleForDisplay const):
(WebCore::HTMLAttachmentElement::updateAttributes):

(WebCore::HTMLAttachmentElement::updateImage):
This sets the img element with the correct "src" data contents (thumbnail or 
icon or nothing).

(WebCore::HTMLAttachmentElement::updateThumbnailForNarrowLayout):
(WebCore::HTMLAttachmentElement::updateThumbnailForWideLayout):
(WebCore::HTMLAttachmentElement::updateIconForNarrowLayout):
(WebCore::HTMLAttachmentElement::updateIconForWideLayout):
(WebCore::HTMLAttachmentElement::setNeedsWideLayoutIconRequest):
(WebCore::HTMLAttachmentElement::requestWideLayoutIconIfNeeded):
(WebCore::HTMLAttachmentElement::requestIconWithSize const):
(WebCore::attachmentPreviewIdentifier): Deleted.
(WebCore::HTMLAttachmentElement::ensureModernShadowTree): Deleted.
(WebCore::HTMLAttachmentElement::updateThumbnail): Deleted.
(WebCore::HTMLAttachmentElement::updateIcon): Deleted.
* Source/WebCore/html/HTMLAttachmentElement.h:
* Source/WebCore/html/shadow/attachmentElementShadow.css:
(div#attachment-preview-area):
(img#attachment-icon):
(attachment#attachment-preview): Deleted.
* Source/WebCore/rendering/AttachmentLayout.mm:
(WebCore::AttachmentLayout::AttachmentLayout):
* Source/WebCore/rendering/RenderAttachment.cpp:

(WebCore::RenderAttachment::paintWideLayoutAttachmentOnly const):
Call requestWideLayoutIconIfNeeded when painting the shadow tree.

* Source/WebCore/rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::attachmentIntrinsicSize const):
(WebCore::RenderThemeIOS::paintAttachment):
* Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintAttachment):

* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateAttachmentThumbnail):
(WebKit::WebPage::updateAttachmentIcon):
Provide data blobs to wide-layout attachments.

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


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

Reply via email to