void RenderContainer::addLineBoxRects(Vector<IntRect>& rects, unsigned start, unsigned end, bool) { if (!children()->firstChild() && (isInline() || isAnonymousBlock())) { FloatPoint absPos = localToAbsolute(FloatPoint()); absoluteRects(rects, absPos.x(), absPos.y()); return; } if (!children()->firstChild()) return; unsigned offset = start; for (RenderObject* child = childAt(start); child && offset < end; child = child->nextSibling(), ++offset) { if (child->isText() || child->isInline() || child->isAnonymousBlock()) { FloatPoint absPos = child->localToAbsolute(FloatPoint()); child->absoluteRects(rects, absPos.x(), absPos.y()); } } }
void RenderContainer::addLineBoxRects(Vector<IntRect>& rects, unsigned start, unsigned end, bool) { if (!m_firstChild && (isInline() || isAnonymousBlock())) { int x, y; absolutePositionForContent(x, y); absoluteRects(rects, x, y); return; } if (!m_firstChild) return; unsigned offset = start; for (RenderObject* child = childAt(start); child && offset < end; child = child->nextSibling(), ++offset) { if (child->isText() || child->isInline() || child->isAnonymousBlock()) { int x, y; child->absolutePositionForContent(x, y); child->absoluteRects(rects, x, y); } } }