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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayer.h

Issue 2854493002: Store previous painting clip rects on FragmentData. (Closed)
Patch Set: none Created 3 years, 7 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 /* 1 /*
2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 907 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 // shouldCreateSubsequence() in PaintLayerPainter.cpp for the cases we use 918 // shouldCreateSubsequence() in PaintLayerPainter.cpp for the cases we use
919 // subsequence when painting a PaintLayer. 919 // subsequence when painting a PaintLayer.
920 920
921 IntSize PreviousScrollOffsetAccumulationForPainting() const { 921 IntSize PreviousScrollOffsetAccumulationForPainting() const {
922 return previous_scroll_offset_accumulation_for_painting_; 922 return previous_scroll_offset_accumulation_for_painting_;
923 } 923 }
924 void SetPreviousScrollOffsetAccumulationForPainting(const IntSize& s) { 924 void SetPreviousScrollOffsetAccumulationForPainting(const IntSize& s) {
925 previous_scroll_offset_accumulation_for_painting_ = s; 925 previous_scroll_offset_accumulation_for_painting_ = s;
926 } 926 }
927 927
928 ClipRects* PreviousPaintingClipRects() const { 928 ClipRects* PreviousClipRects() const {
929 return previous_painting_clip_rects_.Get(); 929 DCHECK(!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled());
930 return previous_clip_rects_.Get();
930 } 931 }
931 void SetPreviousPaintingClipRects(ClipRects& clip_rects) { 932 void SetPreviousClipRects(ClipRects& clip_rects) {
932 previous_painting_clip_rects_ = &clip_rects; 933 previous_clip_rects_ = &clip_rects;
wkorman 2017/05/01 21:58:09 Will this do the right thing re: RefPtr? I'd think
chrishtr 2017/05/01 22:40:07 The memory is owned by the PaintLayer or FragmentD
933 } 934 }
934 void ClearPreviousPaintingClipRects() { 935 void ClearPreviousClipRects() { previous_clip_rects_.Clear(); }
935 previous_painting_clip_rects_.Clear();
936 }
937 936
938 LayoutRect PreviousPaintDirtyRect() const { 937 LayoutRect PreviousPaintDirtyRect() const {
939 return previous_paint_dirty_rect_; 938 return previous_paint_dirty_rect_;
940 } 939 }
941 void SetPreviousPaintDirtyRect(const LayoutRect& rect) { 940 void SetPreviousPaintDirtyRect(const LayoutRect& rect) {
942 previous_paint_dirty_rect_ = rect; 941 previous_paint_dirty_rect_ = rect;
943 } 942 }
944 943
945 PaintResult PreviousPaintResult() const { 944 PaintResult PreviousPaintResult() const {
946 return static_cast<PaintResult>(previous_paint_result_); 945 return static_cast<PaintResult>(previous_paint_result_);
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
1258 std::unique_ptr<AncestorDependentCompositingInputs> 1257 std::unique_ptr<AncestorDependentCompositingInputs>
1259 ancestor_dependent_compositing_inputs_; 1258 ancestor_dependent_compositing_inputs_;
1260 1259
1261 Persistent<PaintLayerScrollableArea> scrollable_area_; 1260 Persistent<PaintLayerScrollableArea> scrollable_area_;
1262 1261
1263 mutable std::unique_ptr<ClipRectsCache> clip_rects_cache_; 1262 mutable std::unique_ptr<ClipRectsCache> clip_rects_cache_;
1264 1263
1265 std::unique_ptr<PaintLayerStackingNode> stacking_node_; 1264 std::unique_ptr<PaintLayerStackingNode> stacking_node_;
1266 1265
1267 IntSize previous_scroll_offset_accumulation_for_painting_; 1266 IntSize previous_scroll_offset_accumulation_for_painting_;
1268 RefPtr<ClipRects> previous_painting_clip_rects_; 1267 RefPtr<ClipRects> previous_clip_rects_;
1269 LayoutRect previous_paint_dirty_rect_; 1268 LayoutRect previous_paint_dirty_rect_;
1270 1269
1271 std::unique_ptr<PaintLayerRareData> rare_data_; 1270 std::unique_ptr<PaintLayerRareData> rare_data_;
1272 1271
1273 FRIEND_TEST_ALL_PREFIXES(PaintLayerTest, 1272 FRIEND_TEST_ALL_PREFIXES(PaintLayerTest,
1274 DescendantDependentFlagsStopsAtThrottledFrames); 1273 DescendantDependentFlagsStopsAtThrottledFrames);
1275 FRIEND_TEST_ALL_PREFIXES(PaintLayerTest, 1274 FRIEND_TEST_ALL_PREFIXES(PaintLayerTest,
1276 PaintLayerTransformUpdatedOnStyleTransformAnimation); 1275 PaintLayerTransformUpdatedOnStyleTransformAnimation);
1277 }; 1276 };
1278 1277
1279 } // namespace blink 1278 } // namespace blink
1280 1279
1281 #ifndef NDEBUG 1280 #ifndef NDEBUG
1282 // Outside the WebCore namespace for ease of invocation from gdb. 1281 // Outside the WebCore namespace for ease of invocation from gdb.
1283 CORE_EXPORT void showLayerTree(const blink::PaintLayer*); 1282 CORE_EXPORT void showLayerTree(const blink::PaintLayer*);
1284 CORE_EXPORT void showLayerTree(const blink::LayoutObject*); 1283 CORE_EXPORT void showLayerTree(const blink::LayoutObject*);
1285 #endif 1284 #endif
1286 1285
1287 #endif // Layer_h 1286 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698