Changeset 294736 in webkit
- Timestamp:
- May 23, 2022, 11:00:48 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
-
LayoutTests/fast/css/first-letter-remove-crash-expected.txt (added)
-
LayoutTests/fast/css/first-letter-remove-crash.html (added)
-
LayoutTests/fast/css/first-letter-removed-added-expected.txt (modified) (1 diff)
-
Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp (modified) (1 diff)
-
Source/WebCore/style/StyleTreeResolver.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/fast/css/first-letter-removed-added-expected.txt
r145296 r294736 35 35 PASS document.getElementById('test5').offsetWidth == document.getElementById('ref5').offsetWidth is true 36 36 PASS document.getElementById('test6').offsetWidth == document.getElementById('ref6').offsetWidth is true 37 FAIL document.getElementById('test7').offsetWidth == document.getElementById('ref7').offsetWidth should be true. Was false. 37 PASS document.getElementById('test7').offsetWidth == document.getElementById('ref7').offsetWidth is true 38 38 PASS document.getElementById('test8').offsetWidth == document.getElementById('ref8').offsetWidth is true 39 39 PASS successfullyParsed is true -
trunk/Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp
r294485 r294736 176 176 auto pseudoStyle = styleForFirstLetter(firstLetterContainer); 177 177 if (!pseudoStyle) { 178 m_builder.destroy(*firstLetter, CanCollapseAnonymousBlock::No);178 ASSERT_NOT_REACHED(); 179 179 return; 180 180 } -
trunk/Source/WebCore/style/StyleTreeResolver.cpp
r294291 r294736 262 262 auto resolveAndAddPseudoElementStyle = [&](PseudoId pseudoId) { 263 263 auto pseudoElementUpdate = resolvePseudoElement(element, pseudoId, update); 264 auto pseudoElementChange = [&] { 265 if (pseudoElementUpdate) 266 return pseudoElementUpdate->change == Change::None ? Change::None : Change::NonInherited; 267 if (!existingStyle || !existingStyle->getCachedPseudoStyle(pseudoId)) 268 return Change::None; 269 // If ::first-letter goes aways rebuild the renderers. 270 return pseudoId == PseudoId::FirstLetter ? Change::Renderer : Change::NonInherited; 271 }(); 272 update.change = std::max(update.change, pseudoElementChange); 264 273 if (!pseudoElementUpdate) 265 return Change::None; 266 if (pseudoElementUpdate->change != Change::None) 267 update.change = std::max(update.change, Change::NonInherited); 274 return pseudoElementChange; 268 275 if (pseudoElementUpdate->recompositeLayer) 269 276 update.recompositeLayer = true;
Note:
See TracChangeset
for help on using the changeset viewer.