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 |