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

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

Issue 2430313004: Paint collapsed borders of a table as one display item (Closed)
Patch Set: - Created 4 years, 1 month 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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 #include "core/CoreExport.h" 48 #include "core/CoreExport.h"
49 #include "core/layout/ClipRectsCache.h" 49 #include "core/layout/ClipRectsCache.h"
50 #include "core/layout/LayoutBox.h" 50 #include "core/layout/LayoutBox.h"
51 #include "core/paint/PaintLayerClipper.h" 51 #include "core/paint/PaintLayerClipper.h"
52 #include "core/paint/PaintLayerFilterInfo.h" 52 #include "core/paint/PaintLayerFilterInfo.h"
53 #include "core/paint/PaintLayerFragment.h" 53 #include "core/paint/PaintLayerFragment.h"
54 #include "core/paint/PaintLayerPainter.h" 54 #include "core/paint/PaintLayerPainter.h"
55 #include "core/paint/PaintLayerScrollableArea.h" 55 #include "core/paint/PaintLayerScrollableArea.h"
56 #include "core/paint/PaintLayerStackingNode.h" 56 #include "core/paint/PaintLayerStackingNode.h"
57 #include "core/paint/PaintLayerStackingNodeIterator.h" 57 #include "core/paint/PaintLayerStackingNodeIterator.h"
58 #include "core/paint/PaintResult.h"
58 #include "platform/graphics/CompositingReasons.h" 59 #include "platform/graphics/CompositingReasons.h"
59 #include "platform/graphics/SquashingDisallowedReasons.h" 60 #include "platform/graphics/SquashingDisallowedReasons.h"
60 #include "wtf/Allocator.h" 61 #include "wtf/Allocator.h"
61 #include "wtf/AutoReset.h" 62 #include "wtf/AutoReset.h"
62 #include "wtf/PtrUtil.h" 63 #include "wtf/PtrUtil.h"
63 #include <memory> 64 #include <memory>
64 65
65 namespace blink { 66 namespace blink {
66 67
67 class CompositedLayerMapping; 68 class CompositedLayerMapping;
(...skipping 849 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 } 918 }
918 void setPreviousPaintingClipRects(ClipRects& clipRects) { 919 void setPreviousPaintingClipRects(ClipRects& clipRects) {
919 m_previousPaintingClipRects = &clipRects; 920 m_previousPaintingClipRects = &clipRects;
920 } 921 }
921 922
922 LayoutRect previousPaintDirtyRect() const { return m_previousPaintDirtyRect; } 923 LayoutRect previousPaintDirtyRect() const { return m_previousPaintDirtyRect; }
923 void setPreviousPaintDirtyRect(const LayoutRect& rect) { 924 void setPreviousPaintDirtyRect(const LayoutRect& rect) {
924 m_previousPaintDirtyRect = rect; 925 m_previousPaintDirtyRect = rect;
925 } 926 }
926 927
927 PaintLayerPainter::PaintResult previousPaintResult() const { 928 PaintResult previousPaintResult() const {
928 return static_cast<PaintLayerPainter::PaintResult>(m_previousPaintResult); 929 return static_cast<PaintResult>(m_previousPaintResult);
929 } 930 }
930 void setPreviousPaintResult(PaintLayerPainter::PaintResult result) { 931 void setPreviousPaintResult(PaintResult result) {
931 m_previousPaintResult = static_cast<unsigned>(result); 932 m_previousPaintResult = static_cast<unsigned>(result);
932 DCHECK(m_previousPaintResult == static_cast<unsigned>(result)); 933 DCHECK(m_previousPaintResult == static_cast<unsigned>(result));
933 } 934 }
934 935
935 // Used to skip PaintPhaseDescendantOutlinesOnly for layers that have never 936 // Used to skip PaintPhaseDescendantOutlinesOnly for layers that have never
936 // had descendant outlines. The flag is set during paint invalidation on a 937 // had descendant outlines. The flag is set during paint invalidation on a
937 // self painting layer if any contained object has outline. It's cleared 938 // self painting layer if any contained object has outline. It's cleared
938 // during painting if PaintPhaseDescendantOutlinesOnly painted nothing. 939 // during painting if PaintPhaseDescendantOutlinesOnly painted nothing.
939 // For more details, see core/paint/REAME.md#Empty paint phase optimization. 940 // For more details, see core/paint/REAME.md#Empty paint phase optimization.
940 bool needsPaintPhaseDescendantOutlines() const { 941 bool needsPaintPhaseDescendantOutlines() const {
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 1176
1176 // Should be for stacking contexts having unisolated blending descendants. 1177 // Should be for stacking contexts having unisolated blending descendants.
1177 unsigned m_shouldIsolateCompositedDescendants : 1; 1178 unsigned m_shouldIsolateCompositedDescendants : 1;
1178 1179
1179 // True if this layout layer just lost its grouped mapping due to the 1180 // True if this layout layer just lost its grouped mapping due to the
1180 // CompositedLayerMapping being destroyed, and we don't yet know to what 1181 // CompositedLayerMapping being destroyed, and we don't yet know to what
1181 // graphics layer this Layer will be assigned. 1182 // graphics layer this Layer will be assigned.
1182 unsigned m_lostGroupedMapping : 1; 1183 unsigned m_lostGroupedMapping : 1;
1183 1184
1184 unsigned m_needsRepaint : 1; 1185 unsigned m_needsRepaint : 1;
1185 unsigned m_previousPaintResult : 1; // PaintLayerPainter::PaintResult 1186 unsigned m_previousPaintResult : 1; // PaintResult
1187 static_assert(MaxPaintResult <= 2,
1188 "Should update number of bits of m_previousPaintResult");
1186 1189
1187 unsigned m_needsPaintPhaseDescendantOutlines : 1; 1190 unsigned m_needsPaintPhaseDescendantOutlines : 1;
1188 unsigned m_previousPaintPhaseDescendantOutlinesWasEmpty : 1; 1191 unsigned m_previousPaintPhaseDescendantOutlinesWasEmpty : 1;
1189 unsigned m_needsPaintPhaseFloat : 1; 1192 unsigned m_needsPaintPhaseFloat : 1;
1190 unsigned m_previousPaintPhaseFloatWasEmpty : 1; 1193 unsigned m_previousPaintPhaseFloatWasEmpty : 1;
1191 unsigned m_needsPaintPhaseDescendantBlockBackgrounds : 1; 1194 unsigned m_needsPaintPhaseDescendantBlockBackgrounds : 1;
1192 unsigned m_previousPaintPhaseDescendantBlockBackgroundsWasEmpty : 1; 1195 unsigned m_previousPaintPhaseDescendantBlockBackgroundsWasEmpty : 1;
1193 1196
1194 // These bitfields are part of ancestor/descendant dependent compositing 1197 // These bitfields are part of ancestor/descendant dependent compositing
1195 // inputs. 1198 // inputs.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 1245
1243 } // namespace blink 1246 } // namespace blink
1244 1247
1245 #ifndef NDEBUG 1248 #ifndef NDEBUG
1246 // Outside the WebCore namespace for ease of invocation from gdb. 1249 // Outside the WebCore namespace for ease of invocation from gdb.
1247 CORE_EXPORT void showLayerTree(const blink::PaintLayer*); 1250 CORE_EXPORT void showLayerTree(const blink::PaintLayer*);
1248 CORE_EXPORT void showLayerTree(const blink::LayoutObject*); 1251 CORE_EXPORT void showLayerTree(const blink::LayoutObject*);
1249 #endif 1252 #endif
1250 1253
1251 #endif // Layer_h 1254 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698