| 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/PaintLayerPainter.h" | 6 #include "core/paint/PaintLayerPainter.h" |
| 7 | 7 |
| 8 #include "core/frame/Settings.h" | 8 #include "core/frame/Settings.h" |
| 9 #include "core/layout/ClipPathOperation.h" | 9 #include "core/layout/ClipPathOperation.h" |
| 10 #include "core/layout/LayoutBlock.h" | 10 #include "core/layout/LayoutBlock.h" |
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 | 593 |
| 594 clipRecorder.emplace(*context, *m_paintLayer.layoutObject(), clipType, c
lipRect, &paintingInfo, fragment.paginationOffset, paintFlags, clippingRule); | 594 clipRecorder.emplace(*context, *m_paintLayer.layoutObject(), clipType, c
lipRect, &paintingInfo, fragment.paginationOffset, paintFlags, clippingRule); |
| 595 } | 595 } |
| 596 | 596 |
| 597 LayoutRect newCullRect(clipRect.rect()); | 597 LayoutRect newCullRect(clipRect.rect()); |
| 598 Optional<ScrollRecorder> scrollRecorder; | 598 Optional<ScrollRecorder> scrollRecorder; |
| 599 LayoutPoint paintOffset = toPoint(fragment.layerBounds.location() - m_paintL
ayer.layoutBoxLocation()); | 599 LayoutPoint paintOffset = toPoint(fragment.layerBounds.location() - m_paintL
ayer.layoutBoxLocation()); |
| 600 if (!paintingInfo.scrollOffsetAccumulation.isZero()) { | 600 if (!paintingInfo.scrollOffsetAccumulation.isZero()) { |
| 601 // As a descendant of the root layer, m_paintLayer's painting is not con
trolled by the ScrollRecorders | 601 // As a descendant of the root layer, m_paintLayer's painting is not con
trolled by the ScrollRecorders |
| 602 // created by BlockPainter of the ancestor layers up to the root layer,
so we need to issue ScrollRecorder | 602 // created by BlockPainter of the ancestor layers up to the root layer,
so we need to issue ScrollRecorder |
| 603 // for this layer seperately, with the scroll offset accumulated from th
e root layer to the parent of this | 603 // for this layer separately, with the scroll offset accumulated from th
e root layer to the parent of this |
| 604 // layer, to get the same result as ScrollRecorder in BlockPainter. | 604 // layer, to get the same result as ScrollRecorder in BlockPainter. |
| 605 paintOffset += paintingInfo.scrollOffsetAccumulation; | 605 paintOffset += paintingInfo.scrollOffsetAccumulation; |
| 606 | 606 |
| 607 newCullRect.move(paintingInfo.scrollOffsetAccumulation); | 607 newCullRect.move(paintingInfo.scrollOffsetAccumulation); |
| 608 scrollRecorder.emplace(*context, *m_paintLayer.layoutObject(), phase, pa
intingInfo.scrollOffsetAccumulation); | 608 scrollRecorder.emplace(*context, *m_paintLayer.layoutObject(), phase, pa
intingInfo.scrollOffsetAccumulation); |
| 609 } | 609 } |
| 610 PaintInfo paintInfo(context, pixelSnappedIntRect(newCullRect), phase, painti
ngInfo.globalPaintFlags(), paintFlags, | 610 PaintInfo paintInfo(context, pixelSnappedIntRect(newCullRect), phase, painti
ngInfo.globalPaintFlags(), paintFlags, |
| 611 paintingRootForLayoutObject, paintingInfo.rootLayer->layoutObject()); | 611 paintingRootForLayoutObject, paintingInfo.rootLayer->layoutObject()); |
| 612 | 612 |
| 613 m_paintLayer.layoutObject()->paint(paintInfo, paintOffset); | 613 m_paintLayer.layoutObject()->paint(paintInfo, paintOffset); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 708 if (!m_paintLayer.containsDirtyOverlayScrollbars()) | 708 if (!m_paintLayer.containsDirtyOverlayScrollbars()) |
| 709 return; | 709 return; |
| 710 | 710 |
| 711 PaintLayerPaintingInfo paintingInfo(&m_paintLayer, LayoutRect(enclosingIntRe
ct(damageRect)), paintFlags, LayoutSize(), paintingRoot); | 711 PaintLayerPaintingInfo paintingInfo(&m_paintLayer, LayoutRect(enclosingIntRe
ct(damageRect)), paintFlags, LayoutSize(), paintingRoot); |
| 712 paintLayer(context, paintingInfo, PaintLayerPaintingOverlayScrollbars); | 712 paintLayer(context, paintingInfo, PaintLayerPaintingOverlayScrollbars); |
| 713 | 713 |
| 714 m_paintLayer.setContainsDirtyOverlayScrollbars(false); | 714 m_paintLayer.setContainsDirtyOverlayScrollbars(false); |
| 715 } | 715 } |
| 716 | 716 |
| 717 } // namespace blink | 717 } // namespace blink |
| OLD | NEW |