Changeset 284871 in webkit
- Timestamp:
- Oct 26, 2021, 9:00:24 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fast/animation/css-animation-marker-crash-expected.txt (added)
-
LayoutTests/fast/animation/css-animation-marker-crash.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/style/Styleable.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r284869 r284871 1 2021-10-26 Gabriel Nava Marino <gnavamarino@apple.com> 2 3 ASSERT(parent->element()) triggered in Styleable::fromRenderer 4 https://bugs.webkit.org/show_bug.cgi?id=232185 5 6 Reviewed by Tim Nguyen and Antti Koivisto. 7 8 * fast/animation/css-animation-marker-crash-expected.txt: Added. 9 * fast/animation/css-animation-marker-crash.html: Added. 10 1 11 2021-10-26 Martin Robinson <mrobinson@webkit.org> 2 12 -
trunk/Source/WebCore/ChangeLog
r284867 r284871 1 2021-10-26 Gabriel Nava Marino <gnavamarino@apple.com> 2 3 ASSERT(parent->element()) triggered in Styleable::fromRenderer 4 https://bugs.webkit.org/show_bug.cgi?id=232185 5 6 Reviewed by Tim Nguyen and Antti Koivisto. 7 8 The marker renderer can be set as a child of RenderMultiColumnFlowThread 9 instead of RenderListItem in some instances. RenderMultiColumnFlowThread is 10 an anonymous box and doesn't have an associated element, so we instead should 11 loop through the parents until we find the RenderListItem which does have an 12 associated element. 13 14 Test: fast/animation/css-animation-marker-crash.html 15 16 * style/Styleable.cpp: 17 (WebCore::Styleable::fromRenderer): 18 1 19 2021-10-26 Philippe Normand <pnormand@igalia.com> 2 20 -
trunk/Source/WebCore/style/Styleable.cpp
r284693 r284871 62 62 break; 63 63 case PseudoId::Marker: 64 if (auto* parent = renderer.parent()) { 65 ASSERT(parent->element()); 66 ASSERT(is<RenderListItem>(parent)); 67 ASSERT(downcast<RenderListItem>(*parent).markerRenderer() == &renderer); 68 return Styleable(*parent->element(), PseudoId::Marker); 64 if (auto* ancestor = renderer.parent()) { 65 while (ancestor && !ancestor->element()) 66 ancestor = ancestor->parent(); 67 ASSERT(is<RenderListItem>(ancestor)); 68 ASSERT(downcast<RenderListItem>(ancestor)->markerRenderer() == &renderer); 69 return Styleable(*ancestor->element(), PseudoId::Marker); 69 70 } 70 71 break;
Note:
See TracChangeset
for help on using the changeset viewer.