[webkit-changes] [WebKit/WebKit] 3b5103: Add priority for Highlight

Jessica Cheung noreply at github.com
Thu Jul 6 10:09:12 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3b510397ce89a479d6d644aa21183a8de3282ec2
      https://github.com/WebKit/WebKit/commit/3b510397ce89a479d6d644aa21183a8de3282ec2
  Author: Jessica Cheung <jcheung23 at apple.com>
  Date:   2023-07-06 (Thu, 06 Jul 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority-painting-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority-painting-ref.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority-painting.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority.html
    M Source/WebCore/Modules/highlight/Highlight.cpp
    M Source/WebCore/Modules/highlight/Highlight.h
    M Source/WebCore/Modules/highlight/HighlightRegister.cpp
    M Source/WebCore/Modules/highlight/HighlightRegister.h
    M Source/WebCore/rendering/MarkedText.cpp
    M Source/WebCore/rendering/MarkedText.h
    M Source/WebCore/rendering/StyledMarkedText.cpp
    M Source/WebCore/rendering/TextBoxPainter.cpp

  Log Message:
  -----------
  Add priority for Highlight
https://bugs.webkit.org/show_bug.cgi?id=257611
rdar://110125853

Reviewed by Megan Gardner.

Included implementation for priority and insertion order of css highlights.
Fixed selection inconsistency to always have active selection painted the same, above all markedTexts.
Fixed painting foreground color text so non-clashing styles of lower priority are still painted.
Added implementation for repainting when priority changes.
Added implementation for painting same semi-transparent overlapping highlight to be painted as a union.
Added a check if users assigned text color to take text color of prioritized highlight.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority-painting-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority-painting-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority-painting.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-highlight-api/highlight-priority.html: Added.
* Source/WebCore/Modules/highlight/Highlight.cpp:
(WebCore::Highlight::setPriority):
* Source/WebCore/Modules/highlight/Highlight.h:
(WebCore::Highlight::setPriority): Deleted.
* Source/WebCore/Modules/highlight/HighlightRegister.cpp:
(WebCore::HighlightRegister::setFromMapLike):
(WebCore::HighlightRegister::clear):
(WebCore::HighlightRegister::remove):
* Source/WebCore/Modules/highlight/HighlightRegister.h:
(WebCore::HighlightRegister::highlightNames const):
* Source/WebCore/rendering/MarkedText.cpp:
(WebCore::MarkedText::subdivide):
(WebCore::MarkedText::collectForHighlights):
* Source/WebCore/rendering/MarkedText.h:
(WebCore::MarkedText::MarkedText):
(WebCore::MarkedText::isHashTableDeletedValue const):
(WTF::add):
(WTF::HashTraits<WebCore::MarkedText>::constructDeletedValue):
(WTF::HashTraits<WebCore::MarkedText>::isDeletedValue):
(WTF::DefaultHash<WebCore::MarkedText>::hash):
(WTF::DefaultHash<WebCore::MarkedText>::equal):
(WebCore::MarkedText::operator== const): Deleted.
* Source/WebCore/rendering/StyledMarkedText.cpp:
(WebCore::resolveStyleForMarkedText):
(WebCore::coalesceAdjacentWithSameRanges):
(WebCore::orderHighlights):
(WebCore::StyledMarkedText::subdivideAndResolve):
(WebCore::StyledMarkedText::coalesceAdjacentWithEqualDecorations):
* Source/WebCore/rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundAndDecorations):
* Source/WebCore/rendering/TextPaintStyle.h:

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




More information about the webkit-changes mailing list