summaryrefslogtreecommitdiffstats
path: root/Source/WebCore
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-06-02 18:24:54 +0100
committerSteve Block <steveblock@google.com>2011-06-02 18:27:09 +0100
commit6816028da3cde42720ac6fddcb67867d5325017c (patch)
tree9f8750e15e4a7ebe27fbee653be3f8a7d0c04204 /Source/WebCore
parent223e069191deef3d0de4f2df671b7849dc2fe1e6 (diff)
downloadexternal_webkit-6816028da3cde42720ac6fddcb67867d5325017c.zip
external_webkit-6816028da3cde42720ac6fddcb67867d5325017c.tar.gz
external_webkit-6816028da3cde42720ac6fddcb67867d5325017c.tar.bz2
Update RenderLayer.cpp with upstreamed version of crash fix
See https://bugs.webkit.org/show_bug.cgi?id=56107 Bug: 4026385 Change-Id: I381b0d1ee115cd6eda92136d150b8cf7e33558ac
Diffstat (limited to 'Source/WebCore')
-rw-r--r--Source/WebCore/rendering/RenderLayer.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index 5f32933..bc0d440 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -2633,16 +2633,10 @@ void RenderLayer::paintPaginatedChildLayer(RenderLayer* childLayer, RenderLayer*
Vector<RenderLayer*> columnLayers;
RenderLayer* ancestorLayer = isNormalFlowOnly() ? parent() : stackingContext();
for (RenderLayer* curr = childLayer->parent(); curr; curr = curr->parent()) {
- if (curr->renderer()->hasColumns())
+ if (curr->renderer()->hasColumns() && checkContainingBlockChainForPagination(childLayer->renderer(), curr->renderBox()))
columnLayers.append(curr);
-#ifdef ANDROID
- // Bug filed: 56107
if (curr == ancestorLayer)
break;
-#else
- if (curr == ancestorLayer || (curr->parent() && curr->parent()->renderer()->isPositioned()))
- break;
-#endif
}
ASSERT(columnLayers.size());
@@ -3122,9 +3116,9 @@ RenderLayer* RenderLayer::hitTestPaginatedChildLayer(RenderLayer* childLayer, Re
Vector<RenderLayer*> columnLayers;
RenderLayer* ancestorLayer = isNormalFlowOnly() ? parent() : stackingContext();
for (RenderLayer* curr = childLayer->parent(); curr; curr = curr->parent()) {
- if (curr->renderer()->hasColumns())
+ if (curr->renderer()->hasColumns() && checkContainingBlockChainForPagination(childLayer->renderer(), curr->renderBox()))
columnLayers.append(curr);
- if (curr == ancestorLayer || (curr->parent() && curr->parent()->renderer()->isPositioned()))
+ if (curr == ancestorLayer)
break;
}