Changeset 287771 in webkit
- Timestamp:
- Jan 7, 2022, 11:34:59 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
rendering/RenderBlockFlow.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r287770 r287771 1 2022-01-07 Gabriel Nava Marino <gnavamarino@apple.com> 2 3 nullptr deref in ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded 4 https://bugs.webkit.org/show_bug.cgi?id=234018 5 6 Reviewed by Darin Adler. 7 8 In RenderBlockFlow::subtreeContainsFloat and RenderBlockFlow::subtreeContainsFloats we now will 9 use a non-recursive iterator and return true when we find something, or then return false at the 10 end of the function. 11 12 * rendering/RenderBlockFlow.cpp: 13 (WebCore::RenderBlockFlow::subtreeContainsFloat const): 14 (WebCore::RenderBlockFlow::subtreeContainsFloats const): 15 1 16 2022-01-07 Alex Christensen <achristensen@webkit.org> 2 17 -
trunk/Source/WebCore/rendering/RenderBlockFlow.cpp
r287520 r287771 1952 1952 bool RenderBlockFlow::subtreeContainsFloat(RenderBox& renderer) const 1953 1953 { 1954 bool contains = m_floatingObjects && m_floatingObjects->set().contains<FloatingObjectHashTranslator>(renderer); 1955 for (auto& block : childrenOfType<RenderBlock>(*this)) { 1954 if (containsFloat(renderer)) 1955 return true; 1956 1957 for (auto& block : descendantsOfType<RenderBlock>(const_cast<RenderBlockFlow&>(*this))) { 1956 1958 if (!is<RenderBlockFlow>(block)) 1957 1959 continue; 1958 1960 auto& blockFlow = downcast<RenderBlockFlow>(block); 1959 contains |= blockFlow.subtreeContainsFloat(renderer); 1960 } 1961 return contains; 1961 if (blockFlow.containsFloat(renderer)) 1962 return true; 1963 } 1964 1965 return false; 1962 1966 } 1963 1967 1964 1968 bool RenderBlockFlow::subtreeContainsFloats() const 1965 1969 { 1966 bool contains = m_floatingObjects && !m_floatingObjects->set().isEmpty(); 1967 for (auto& block : childrenOfType<RenderBlock>(*this)) { 1970 if (containsFloats()) 1971 return true; 1972 1973 for (auto& block : descendantsOfType<RenderBlock>(const_cast<RenderBlockFlow&>(*this))) { 1968 1974 if (!is<RenderBlockFlow>(block)) 1969 1975 continue; 1970 1976 auto& blockFlow = downcast<RenderBlockFlow>(block); 1971 contains |= blockFlow.subtreeContainsFloats(); 1972 } 1973 return contains; 1977 if (blockFlow.containsFloats()) 1978 return true; 1979 } 1980 1981 return false; 1974 1982 } 1975 1983
Note:
See TracChangeset
for help on using the changeset viewer.