[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