Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3b510397ce89a479d6d644aa21183a8de3282ec2 https://github.com/WebKit/WebKit/commit/3b510397ce89a479d6d644aa21183a8de3282ec2 Author: Jessica Cheung <jcheun...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes