| Index: Source/core/rendering/RenderLayer.cpp
|
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp
|
| index 8ce628af4d2b44354abcbbdc47e6e8e85aa0f548..b47d394e4f98a228ba7176c400e8c9d70f5a1d96 100644
|
| --- a/Source/core/rendering/RenderLayer.cpp
|
| +++ b/Source/core/rendering/RenderLayer.cpp
|
| @@ -153,7 +153,7 @@ RenderLayer::RenderLayer(RenderLayerModelObject* renderer, LayerType type)
|
|
|
| m_isSelfPaintingLayer = shouldBeSelfPaintingLayer();
|
|
|
| - if (!renderer->firstChild() && renderer->style()) {
|
| + if (!renderer->slowFirstChild() && renderer->style()) {
|
| m_visibleContentStatusDirty = false;
|
| m_hasVisibleContent = renderer->style()->visibility() == VISIBLE;
|
| }
|
| @@ -798,7 +798,7 @@ void RenderLayer::updateScrollingStateAfterCompositingChange()
|
| {
|
| TRACE_EVENT0("blink_rendering", "RenderLayer::updateScrollingStateAfterCompositingChange");
|
| m_hasVisibleNonLayerContent = false;
|
| - for (RenderObject* r = renderer()->firstChild(); r; r = r->nextSibling()) {
|
| + for (RenderObject* r = renderer()->slowFirstChild(); r; r = r->nextSibling()) {
|
| if (!r->hasLayer()) {
|
| m_hasVisibleNonLayerContent = true;
|
| break;
|
| @@ -870,14 +870,15 @@ void RenderLayer::updateDescendantDependentFlags()
|
| else {
|
| // layer may be hidden but still have some visible content, check for this
|
| m_hasVisibleContent = false;
|
| - RenderObject* r = renderer()->firstChild();
|
| + RenderObject* r = renderer()->slowFirstChild();
|
| while (r) {
|
| if (r->style()->visibility() == VISIBLE && !r->hasLayer()) {
|
| m_hasVisibleContent = true;
|
| break;
|
| }
|
| - if (r->firstChild() && !r->hasLayer())
|
| - r = r->firstChild();
|
| + RenderObject* rendererFirstChild = r->slowFirstChild();
|
| + if (rendererFirstChild && !r->hasLayer())
|
| + r = rendererFirstChild;
|
| else if (r->nextSibling())
|
| r = r->nextSibling();
|
| else {
|
| @@ -1549,7 +1550,7 @@ void RenderLayer::insertOnlyThisLayer()
|
| }
|
|
|
| // Remove all descendant layers from the hierarchy and add them to the new position.
|
| - for (RenderObject* curr = renderer()->firstChild(); curr; curr = curr->nextSibling())
|
| + for (RenderObject* curr = renderer()->slowFirstChild(); curr; curr = curr->nextSibling())
|
| curr->moveLayers(m_parent, this);
|
|
|
| // Clear out all the clip rects.
|
| @@ -3317,7 +3318,7 @@ LayoutRect RenderLayer::logicalBoundingBox() const
|
| result = toRenderInline(renderer())->linesVisualOverflowBoundingBox();
|
| } else if (renderer()->isTableRow()) {
|
| // Our bounding box is just the union of all of our cells' border/overflow rects.
|
| - for (RenderObject* child = renderer()->firstChild(); child; child = child->nextSibling()) {
|
| + for (RenderObject* child = renderer()->slowFirstChild(); child; child = child->nextSibling()) {
|
| if (child->isTableCell()) {
|
| LayoutRect bbox = toRenderBox(child)->borderBoxRect();
|
| result.unite(bbox);
|
| @@ -3651,7 +3652,7 @@ bool RenderLayer::hasNonEmptyChildRenderers() const
|
| // <img src=...>
|
| // </div>
|
| // so test for 0x0 RenderTexts here
|
| - for (RenderObject* child = renderer()->firstChild(); child; child = child->nextSibling()) {
|
| + for (RenderObject* child = renderer()->slowFirstChild(); child; child = child->nextSibling()) {
|
| if (!child->hasLayer()) {
|
| if (child->isRenderInline() || !child->isBox())
|
| return true;
|
|
|