| Index: Source/core/layout/PaintInvalidationState.cpp
|
| diff --git a/Source/core/layout/PaintInvalidationState.cpp b/Source/core/layout/PaintInvalidationState.cpp
|
| index e7d62cf67a432bbce509508e0a55095793e5f84f..814967cde886f86a054dc102cb8c483a7bec4dab 100644
|
| --- a/Source/core/layout/PaintInvalidationState.cpp
|
| +++ b/Source/core/layout/PaintInvalidationState.cpp
|
| @@ -15,17 +15,17 @@ namespace blink {
|
|
|
| PaintInvalidationState::PaintInvalidationState(const LayoutView& layoutView, Vector<LayoutObject*>& pendingDelayedPaintInvalidations)
|
| : m_clipped(false)
|
| - , m_cachedOffsetsEnabled(true)
|
| - , m_forceCheckForPaintInvalidation(false)
|
| + , m_cachedOffsetsEnabled(layoutView.paintInvalidationCachedOffsetsEnabledByParent())
|
| + , m_forceCheckForPaintInvalidation(layoutView.forceCheckForPaintInvalidationByParent())
|
| , m_paintInvalidationContainer(*layoutView.containerForPaintInvalidation())
|
| , m_pendingDelayedPaintInvalidations(pendingDelayedPaintInvalidations)
|
| {
|
| bool establishesPaintInvalidationContainer = layoutView == m_paintInvalidationContainer;
|
| if (!establishesPaintInvalidationContainer) {
|
| - if (!layoutView.supportsPaintInvalidationStateCachedOffsets()) {
|
| + if (m_cachedOffsetsEnabled && !layoutView.supportsPaintInvalidationStateCachedOffsets())
|
| m_cachedOffsetsEnabled = false;
|
| + if (!m_cachedOffsetsEnabled)
|
| return;
|
| - }
|
| FloatPoint point = layoutView.localToContainerPoint(FloatPoint(), &m_paintInvalidationContainer, TraverseDocumentBoundaries);
|
| m_paintOffset = LayoutSize(point.x(), point.y());
|
| }
|
|
|