inline void ComputeFloatOffsetAdapter<FloatTypeValue>::collectIfNeeded(const IntervalType& interval) { const FloatingObject* floatingObject = interval.data(); if (floatingObject->type() != FloatTypeValue || !rangesIntersect(interval.low(), interval.high(), m_lineTop, m_lineBottom)) return; // All the objects returned from the tree should be already placed. ASSERT(floatingObject->isPlaced()); ASSERT(rangesIntersect(m_renderer->pixelSnappedLogicalTopForFloat(floatingObject), m_renderer->pixelSnappedLogicalBottomForFloat(floatingObject), m_lineTop, m_lineBottom)); bool floatIsNewExtreme = updateOffsetIfNeeded(floatingObject); if (floatIsNewExtreme) m_outermostFloat = floatingObject; }
inline void ComputeFloatOffsetAdapter<FloatTypeValue>::collectIfNeeded(const IntervalType& interval) { const FloatingObject& floatingObject = *(interval.data()); if (floatingObject.type() != FloatTypeValue || !rangesIntersect(interval.low(), interval.high(), m_lineTop, m_lineBottom)) return; // Make sure the float hasn't changed since it was added to the placed floats tree. ASSERT(floatingObject.isPlaced()); ASSERT(interval.low() == m_layoutObject->pixelSnappedLogicalTopForFloat(floatingObject)); ASSERT(interval.high() == m_layoutObject->pixelSnappedLogicalBottomForFloat(floatingObject)); bool floatIsNewExtreme = updateOffsetIfNeeded(floatingObject); if (floatIsNewExtreme) m_outermostFloat = &floatingObject; }