Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp

Issue 2713673005: client-goodbye
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "core/paint/PaintLayerPainter.h" 5 #include "core/paint/PaintLayerPainter.h"
6 6
7 #include "core/frame/LocalFrame.h" 7 #include "core/frame/LocalFrame.h"
8 #include "core/layout/LayoutView.h" 8 #include "core/layout/LayoutView.h"
9 #include "core/paint/ClipPathClipper.h" 9 #include "core/paint/ClipPathClipper.h"
10 #include "core/paint/FilterPainter.h" 10 #include "core/paint/FilterPainter.h"
(...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 m_paintLayer.renderableTransform(paintingInfo.getGlobalPaintFlags())); 800 m_paintLayer.renderableTransform(paintingInfo.getGlobalPaintFlags()));
801 IntPoint roundedDelta = roundedIntPoint(delta); 801 IntPoint roundedDelta = roundedIntPoint(delta);
802 transform.translateRight(roundedDelta.x(), roundedDelta.y()); 802 transform.translateRight(roundedDelta.x(), roundedDelta.y());
803 LayoutSize adjustedSubPixelAccumulation = 803 LayoutSize adjustedSubPixelAccumulation =
804 paintingInfo.subPixelAccumulation + (delta - roundedDelta); 804 paintingInfo.subPixelAccumulation + (delta - roundedDelta);
805 805
806 // TODO(jbroman): Put the real transform origin here, instead of using a 806 // TODO(jbroman): Put the real transform origin here, instead of using a
807 // matrix with the origin baked in. 807 // matrix with the origin baked in.
808 FloatPoint3D transformOrigin; 808 FloatPoint3D transformOrigin;
809 Transform3DRecorder transform3DRecorder( 809 Transform3DRecorder transform3DRecorder(
810 context, *m_paintLayer.layoutObject(), 810 context, DisplayItem::kTransform3DElementTransform, transform,
811 DisplayItem::kTransform3DElementTransform, transform, transformOrigin); 811 transformOrigin, m_paintLayer.layoutObject()->visualRect(),
812 m_paintLayer.layoutObject()->debugName(),
813 m_paintLayer.layoutObject()
814 ->paintedOutputOfObjectHasNoEffectRegardlessOfSize());
812 815
813 // Now do a paint with the root layer shifted to be us. 816 // Now do a paint with the root layer shifted to be us.
814 PaintLayerPaintingInfo transformedPaintingInfo( 817 PaintLayerPaintingInfo transformedPaintingInfo(
815 &m_paintLayer, LayoutRect(enclosingIntRect(transform.inverse().mapRect( 818 &m_paintLayer, LayoutRect(enclosingIntRect(transform.inverse().mapRect(
816 paintingInfo.paintDirtyRect))), 819 paintingInfo.paintDirtyRect))),
817 paintingInfo.getGlobalPaintFlags(), adjustedSubPixelAccumulation); 820 paintingInfo.getGlobalPaintFlags(), adjustedSubPixelAccumulation);
818 transformedPaintingInfo.ancestorHasClipPathClipping = 821 transformedPaintingInfo.ancestorHasClipPathClipping =
819 paintingInfo.ancestorHasClipPathClipping; 822 paintingInfo.ancestorHasClipPathClipping;
820 823
821 // Remove skip root background flag when we're painting with a new root. 824 // Remove skip root background flag when we're painting with a new root.
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 clipRecorder.emplace(context, *m_paintLayer.layoutObject(), 915 clipRecorder.emplace(context, *m_paintLayer.layoutObject(),
913 DisplayItem::kClipLayerOverflowControls, 916 DisplayItem::kClipLayerOverflowControls,
914 fragment.backgroundRect, localPaintingInfo.rootLayer, 917 fragment.backgroundRect, localPaintingInfo.rootLayer,
915 fragment.paginationOffset, paintFlags); 918 fragment.paginationOffset, paintFlags);
916 } 919 }
917 920
918 Optional<ScrollRecorder> scrollRecorder; 921 Optional<ScrollRecorder> scrollRecorder;
919 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() && 922 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() &&
920 !localPaintingInfo.scrollOffsetAccumulation.isZero()) { 923 !localPaintingInfo.scrollOffsetAccumulation.isZero()) {
921 cullRect.move(localPaintingInfo.scrollOffsetAccumulation); 924 cullRect.move(localPaintingInfo.scrollOffsetAccumulation);
922 scrollRecorder.emplace(context, *m_paintLayer.layoutObject(), 925 scrollRecorder.emplace(
923 DisplayItem::kScrollOverflowControls, 926 context, DisplayItem::kScrollOverflowControls,
924 localPaintingInfo.scrollOffsetAccumulation); 927 localPaintingInfo.scrollOffsetAccumulation,
928 m_paintLayer.layoutObject()->visualRect(),
929 m_paintLayer.layoutObject()->debugName(),
930 m_paintLayer.layoutObject()
931 ->paintedOutputOfObjectHasNoEffectRegardlessOfSize());
925 } 932 }
926 933
927 // We pass IntPoint() as the paint offset here, because 934 // We pass IntPoint() as the paint offset here, because
928 // ScrollableArea::paintOverflowControls just ignores it and uses the 935 // ScrollableArea::paintOverflowControls just ignores it and uses the
929 // offset found in a previous pass. 936 // offset found in a previous pass.
930 CullRect snappedCullRect(pixelSnappedIntRect(cullRect)); 937 CullRect snappedCullRect(pixelSnappedIntRect(cullRect));
931 ScrollableAreaPainter(*scrollableArea) 938 ScrollableAreaPainter(*scrollableArea)
932 .paintOverflowControls(context, IntPoint(), snappedCullRect, true); 939 .paintOverflowControls(context, IntPoint(), snappedCullRect, true);
933 } 940 }
934 } 941 }
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 if (!paintingInfo.scrollOffsetAccumulation.isZero()) { 1000 if (!paintingInfo.scrollOffsetAccumulation.isZero()) {
994 // As a descendant of the root layer, m_paintLayer's painting is not 1001 // As a descendant of the root layer, m_paintLayer's painting is not
995 // controlled by the ScrollRecorders created by BlockPainter of the 1002 // controlled by the ScrollRecorders created by BlockPainter of the
996 // ancestor layers up to the root layer, so we need to issue 1003 // ancestor layers up to the root layer, so we need to issue
997 // ScrollRecorder for this layer seperately, with the scroll offset 1004 // ScrollRecorder for this layer seperately, with the scroll offset
998 // accumulated from the root layer to the parent of this layer, to get the 1005 // accumulated from the root layer to the parent of this layer, to get the
999 // same result as ScrollRecorder in BlockPainter. 1006 // same result as ScrollRecorder in BlockPainter.
1000 paintOffset += paintingInfo.scrollOffsetAccumulation; 1007 paintOffset += paintingInfo.scrollOffsetAccumulation;
1001 1008
1002 newCullRect.move(paintingInfo.scrollOffsetAccumulation); 1009 newCullRect.move(paintingInfo.scrollOffsetAccumulation);
1003 scrollRecorder.emplace(context, *m_paintLayer.layoutObject(), phase, 1010 scrollRecorder.emplace(
1004 paintingInfo.scrollOffsetAccumulation); 1011 context, phase, paintingInfo.scrollOffsetAccumulation,
1012 m_paintLayer.layoutObject()->visualRect(),
1013 m_paintLayer.layoutObject()->debugName(),
1014 m_paintLayer.layoutObject()
1015 ->paintedOutputOfObjectHasNoEffectRegardlessOfSize());
1005 } 1016 }
1006 } 1017 }
1007 PaintInfo paintInfo(context, pixelSnappedIntRect(newCullRect), phase, 1018 PaintInfo paintInfo(context, pixelSnappedIntRect(newCullRect), phase,
1008 paintingInfo.getGlobalPaintFlags(), paintFlags, 1019 paintingInfo.getGlobalPaintFlags(), paintFlags,
1009 paintingInfo.rootLayer->layoutObject()); 1020 paintingInfo.rootLayer->layoutObject());
1010 1021
1011 m_paintLayer.layoutObject()->paint(paintInfo, paintOffset); 1022 m_paintLayer.layoutObject()->paint(paintInfo, paintOffset);
1012 } 1023 }
1013 1024
1014 void PaintLayerPainter::paintBackgroundForFragments( 1025 void PaintLayerPainter::paintBackgroundForFragments(
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
1200 context, layoutObject, PaintPhaseClippingMask)) 1211 context, layoutObject, PaintPhaseClippingMask))
1201 return; 1212 return;
1202 1213
1203 IntRect snappedClipRect = pixelSnappedIntRect(clipRect.rect()); 1214 IntRect snappedClipRect = pixelSnappedIntRect(clipRect.rect());
1204 LayoutObjectDrawingRecorder drawingRecorder( 1215 LayoutObjectDrawingRecorder drawingRecorder(
1205 context, layoutObject, PaintPhaseClippingMask, snappedClipRect); 1216 context, layoutObject, PaintPhaseClippingMask, snappedClipRect);
1206 context.fillRect(snappedClipRect, Color::black); 1217 context.fillRect(snappedClipRect, Color::black);
1207 } 1218 }
1208 1219
1209 } // namespace blink 1220 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/paint/FramePainter.cpp ('k') | third_party/WebKit/Source/core/paint/PartPainter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698