Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 #include "core/paint/BlockPainter.h" | 6 #include "core/paint/BlockPainter.h" |
| 7 | 7 |
| 8 #include "core/editing/DragCaretController.h" | 8 #include "core/editing/DragCaretController.h" |
| 9 #include "core/editing/FrameSelection.h" | 9 #include "core/editing/FrameSelection.h" |
| 10 #include "core/frame/Settings.h" | 10 #include "core/frame/Settings.h" |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 136 layoutObject.paint(info, childPoint); | 136 layoutObject.paint(info, childPoint); |
| 137 info.phase = PaintPhaseForeground; | 137 info.phase = PaintPhaseForeground; |
| 138 layoutObject.paint(info, childPoint); | 138 layoutObject.paint(info, childPoint); |
| 139 info.phase = PaintPhaseOutline; | 139 info.phase = PaintPhaseOutline; |
| 140 layoutObject.paint(info, childPoint); | 140 layoutObject.paint(info, childPoint); |
| 141 } | 141 } |
| 142 } | 142 } |
| 143 | 143 |
| 144 void BlockPainter::paintObject(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset) | 144 void BlockPainter::paintObject(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset) |
| 145 { | 145 { |
| 146 if (RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled() && m_layoutB lock.childrenInline()) { | 146 if (RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled() && m_layoutB lock.childrenInline() && !paintInfo.context->displayItemList()->skippingCache()) { |
|
pdr.
2015/10/06 03:10:25
WDYT about renaming skippingCache to skippingCache
Xianzhu
2015/10/06 16:35:23
I think paint offset cache is also a cache that sk
| |
| 147 if (m_layoutBlock.paintOffsetChanged(paintOffset)) { | 147 if (m_layoutBlock.paintOffsetChanged(paintOffset)) { |
| 148 LineBoxListPainter(m_layoutBlock.lineBoxes()).invalidateLineBoxPaint Offsets(paintInfo); | 148 LineBoxListPainter(m_layoutBlock.lineBoxes()).invalidateLineBoxPaint Offsets(paintInfo); |
| 149 paintInfo.context->displayItemList()->invalidatePaintOffset(m_layout Block); | 149 paintInfo.context->displayItemList()->invalidatePaintOffset(m_layout Block); |
| 150 } | 150 } |
| 151 // Set previousPaintOffset here in case that m_layoutBlock paints nothin g and no | 151 // Set previousPaintOffset here in case that m_layoutBlock paints nothin g and no |
| 152 // LayoutObjectDrawingRecorder updates its previousPaintOffset. | 152 // LayoutObjectDrawingRecorder updates its previousPaintOffset. |
| 153 // TODO(wangxianzhu): Integrate paint offset checking into new paint inv alidation. | 153 // TODO(wangxianzhu): Integrate paint offset checking into new paint inv alidation. |
| 154 m_layoutBlock.setPreviousPaintOffset(paintOffset); | 154 m_layoutBlock.setPreviousPaintOffset(paintOffset); |
| 155 } | 155 } |
| 156 | 156 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 259 | 259 |
| 260 // We don't paint our own background, but we do let the kids paint their backgrounds. | 260 // We don't paint our own background, but we do let the kids paint their backgrounds. |
| 261 PaintInfo paintInfoForChild(paintInfo); | 261 PaintInfo paintInfoForChild(paintInfo); |
| 262 paintInfoForChild.phase = newPhase; | 262 paintInfoForChild.phase = newPhase; |
| 263 paintInfoForChild.updatePaintingRootForChildren(&m_layoutBlock); | 263 paintInfoForChild.updatePaintingRootForChildren(&m_layoutBlock); |
| 264 m_layoutBlock.paintChildren(paintInfoForChild, paintOffset); | 264 m_layoutBlock.paintChildren(paintInfoForChild, paintOffset); |
| 265 } | 265 } |
| 266 } | 266 } |
| 267 | 267 |
| 268 } // namespace blink | 268 } // namespace blink |
| OLD | NEW |