[Webkit-unassigned] [Bug 202904] Chromium test-case asserts with ASSERTION FAILED: propertyMissingOrEqualToNone(style, CSSPropertyWebkitTextDecorationsInEffect)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jul 21 07:03:03 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=202904

--- Comment #2 from Frédéric Wang (:fredw) <fred.wang at free.fr> ---
Created attachment 433930

  --> https://bugs.webkit.org/attachment.cgi?id=433930&action=review

Patch

Below is the backtrace I have. The assert expects -webkit-text-decorations-in-effect to be removed and the comment even says this should have happened during the wrappingStyleForSerialization call. However, this only happens if annotate is AnnotateForInterchange::YES: https://webkit-search.igalia.com/webkit/source/Source/WebCore/editing/EditingStyle.cpp#1197

As you can see in the backtrace, it's however set to AnnotateForInterchange::NO. Attached is a trivial patch that sets it to AnnotateForInterchange::YES instead, but not sure that's correct. It's however indeed fixing the ASSERT of the testcase.

#0  WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:319
#1  0x00007f895c246c3c in CRASH_WITH_INFO(...) () at WTF/Headers/wtf/Assertions.h:744
#2  0x00007f8962fd21cc in WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag(WTF::StringBuilder&, WebCore::StyleProperties*, WebCore::Document&, bool)
    (this=0x7ffcbe378cd0, out=..., style=0x60b0000de610, document=warning: RTTI symbol not found for class 'WebCore::HTMLDocument'
..., isBlock=false)
    at https://webkit-search.igalia.com/webkit/source/Source/WebCore/editing/markup.cpp#387
#3  0x00007f8962fd2ebc in WebCore::StyledMarkupAccumulator::appendText(WTF::StringBuilder&, WebCore::Text const&) (this=0x7ffcbe378cd0, out=..., text=...)
    at ../../Source/WebCore/editing/markup.cpp:438
#4  0x00007f8962ee71b0 in WebCore::MarkupAccumulator::appendNonElementNode(WTF::StringBuilder&, WebCore::Node const&, WTF::HashMap<WTF::AtomString, WTF::AtomStringImpl*, WTF::DefaultHash<WTF::AtomString>, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WTF::AtomStringImpl*>, WTF::HashTableTraits>*) (this=0x7ffcbe378cd0, result=..., node=..., namespaces=0x0)
    at ../../Source/WebCore/editing/MarkupAccumulator.cpp:551
#5  0x00007f8962ee34fe in WebCore::MarkupAccumulator::startAppendingNode(WebCore::Node const&, WTF::HashMap<WTF::AtomString, WTF::AtomStringImpl*, WTF::DefaultHash<WTF::AtomString>, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WTF::AtomStringImpl*>, WTF::HashTableTraits>*)
    (this=0x7ffcbe378cd0, node=..., namespaces=0x0)
    at ../../Source/WebCore/editing/MarkupAccumulator.cpp:254
#6  0x00007f8962fd51e1 in operator()(WebCore::Node&) const (__closure=0x7ffcbe378620, node=...)
    at ../../Source/WebCore/editing/markup.cpp:662
#7  0x00007f8962fd5b80 in WebCore::StyledMarkupAccumulator::traverseNodesForSerialization(WebCore::Node*, WebCore::Node*, WebCore::StyledMarkupAccumulator::NodeTraversalMode)
--Type <RET> for more, q to quit, c to continue without paging--c
   cd0, startNode=0x60b0000dc670, pastEnd=0x60c0002a3e80, traversalMode=WebCore::StyledMarkupAccumulator::NodeTraversalMode::EmitString) at ../../Source/WebCore/editing/markup.cpp:708
#8  0x00007f8962fd4d5e in WebCore::StyledMarkupAccumulator::serializeNodes(WebCore::Position const&, WebCore::Position const&) (this=0x7ffcbe378cd0, start=..., end=...) at https://webkit-search.igalia.com/webkit/source/Source/WebCore/editing/markup.cpp#640
#9  0x00007f8962fd8573 in WebCore::serializePreservingVisualAppearanceInternal(WebCore::Position const&, WebCore::Position const&, WTF::Vector<WebCore::Node*, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>*, WebCore::ResolveURLs, WebCore::SerializeComposedTree, WebCore::AnnotateForInterchange, WebCore::ConvertBlocksToInlines, WebCore::StandardFontFamilySerializationMode, WebCore::MSOListMode) (start=..., end=..., nodes=0x0, resolveURLs=WebCore::ResolveURLs::No, serializeComposedTree=WebCore::SerializeComposedTree::No, annotate=WebCore::AnnotateForInterchange::No, convertBlocksToInlines=WebCore::ConvertBlocksToInlines::Yes, standardFontFamilySerializationMode=WebCore::StandardFontFamilySerializationMode::Keep, msoListMode=WebCore::MSOListMode::DoNotPreserve) at ../../Source/WebCore/editing/markup.cpp:918
#10 0x00007f8962fd91e1 in WebCore::serializePreservingVisualAppearance(WebCore::SimpleRange const&, WTF::Vector<WebCore::Node*, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>*, WebCore::AnnotateForInterchange, WebCore::ConvertBlocksToInlines, WebCore::ResolveURLs) (range=..., nodes=0x0, annotate=WebCore::AnnotateForInterchange::No, convertBlocksToInlines=WebCore::ConvertBlocksToInlines::Yes, resolveURLs=WebCore::ResolveURLs::No) at ../../Source/WebCore/editing/markup.cpp:980
#11 0x00007f8967146d6f in WebCore::CompositeEditCommand::moveParagraphs(WebCore::VisiblePosition const&, WebCore::VisiblePosition const&, WebCore::VisiblePosition const&, bool, bool) (this=0x613000089640, startOfParagraphToMove=..., endOfParagraphToMove=..., destination=..., preserveSelection=false, preserveStyle=true) at https://webkit-search.igalia.com/webkit/source/Source/WebCore/editing/CompositeEditCommand.cpp#1470

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210721/f4095ed2/attachment-0001.htm>


More information about the webkit-unassigned mailing list