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

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

Issue 2923683002: Fix nested border radius with composited child. (Closed)
Patch Set: Fix the issue with missing masks Created 3 years, 6 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 #ifndef LayerClipRecorder_h 5 #ifndef LayerClipRecorder_h
6 #define LayerClipRecorder_h 6 #define LayerClipRecorder_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/paint/PaintLayerPaintingInfo.h" 9 #include "core/paint/PaintLayerPaintingInfo.h"
10 #include "core/paint/PaintPhase.h" 10 #include "core/paint/PaintPhase.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 const LayoutBoxModelObject&, 46 const LayoutBoxModelObject&,
47 DisplayItem::Type, 47 DisplayItem::Type,
48 const ClipRect&, 48 const ClipRect&,
49 const PaintLayer* clip_root, 49 const PaintLayer* clip_root,
50 const LayoutPoint& fragment_offset, 50 const LayoutPoint& fragment_offset,
51 PaintLayerFlags, 51 PaintLayerFlags,
52 BorderRadiusClippingRule = kIncludeSelfForBorderRadius); 52 BorderRadiusClippingRule = kIncludeSelfForBorderRadius);
53 53
54 ~LayerClipRecorder(); 54 ~LayerClipRecorder();
55 55
56 // Build a vector of the border radius clips that shoudl be applied to
chrishtr 2017/06/09 22:45:28 nit: should
Stephen Chennney 2017/06/12 14:43:29 Done.
57 // the given PaintLayer, walking up the paint layer tree to the clip_root.
58 // The offset_within_layer is an offset to apply to the clip to position it
59 // in the required clipping coordinates (for cases when the painting
60 // coordinate system is offset from the layer coordinate system).
61 // cross_composited_layers should be true when the search for clips should
62 // continue even if the clipping layer is painting into a different backing.
63 // The BoderRadiusClippingRule defines whether clips on the PaintLayer itself
64 // are included. Output is appended to rounded_rect_clips.
65 static void CollectRoundedRectClips(
66 PaintLayer&,
67 const PaintLayer* clip_root,
68 const LayoutPoint& offset_within_layer,
69 bool cross_composited_layers,
70 BorderRadiusClippingRule,
71 Vector<FloatRoundedRect>& rounded_rect_clips);
72
56 private: 73 private:
57 void CollectRoundedRectClips(PaintLayer&,
58 const PaintLayer* clip_root,
59 GraphicsContext&,
60 const LayoutPoint& fragment_offset,
61 PaintLayerFlags,
62 BorderRadiusClippingRule,
63 Vector<FloatRoundedRect>& rounded_rect_clips);
64
65 GraphicsContext& graphics_context_; 74 GraphicsContext& graphics_context_;
66 const LayoutBoxModelObject& layout_object_; 75 const LayoutBoxModelObject& layout_object_;
67 DisplayItem::Type clip_type_; 76 DisplayItem::Type clip_type_;
68 }; 77 };
69 78
70 } // namespace blink 79 } // namespace blink
71 80
72 #endif // LayerClipRecorder_h 81 #endif // LayerClipRecorder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698