Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 78c0b4e870659a7382d1d77b8c3efa5c18bef475
      
https://github.com/WebKit/WebKit/commit/78c0b4e870659a7382d1d77b8c3efa5c18bef475
  Author: Richard Robinson <[email protected]>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M Source/WebCore/editing/cocoa/HTMLConverter.h
    M Source/WebCore/editing/cocoa/HTMLConverter.mm
    M Source/WebCore/page/writing-tools/WritingToolsController.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WritingTools.mm

  Log Message:
  -----------
  [Writing Tools] Rewrite and other Writing Tools functions may rarely fail 
when selecting specific types of complex content in Safari
https://bugs.webkit.org/show_bug.cgi?id=279791
rdar://135890006

Reviewed by Aditya Keerthi.

Certain types of HTML content may result in a node which contains text but 
which does not have a renderer,
such as when there is an omit-able trailing newline in flex content. Currently, 
the attributed string logic
skips over these cases, but iterating with TextIterator does not. This results 
in mismatched range lengths.

Fix by having the attributed string logic not skip these cases and match the 
TextIterator behavior. To reduce
risk, only apply this change when the corresponding option is specified.

Add a test for this.

Drive-by fix: Clean up another test by removing some duplicated code.

* Source/WebCore/editing/cocoa/HTMLConverter.h:
* Source/WebCore/editing/cocoa/HTMLConverter.mm:
(hasAncestorQualifyingForWritingToolsPreservation):
(setAttributesWithStyle):
(WebCore::editingAttributedString):
* Source/WebCore/page/writing-tools/WritingToolsController.mm:
(WebCore::WritingToolsController::willBeginWritingToolsSession):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WritingTools.mm:
(TEST(WritingTools, SuggestedTextIsSelectedAfterSmartReply)):
(TEST(WritingTools, CompositionWithOmittedTrailingWhitespaceContent)):

Canonical link: https://commits.webkit.org/283781@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