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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/GraphicsLayer.h

Issue 2423513002: Simplify incremental paint invalidation (Closed)
Patch Set: Update test and rebaseline layout tests Created 4 years, 2 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) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 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 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 #include <memory> 55 #include <memory>
56 56
57 namespace blink { 57 namespace blink {
58 58
59 class CompositorFilterOperations; 59 class CompositorFilterOperations;
60 class FloatRect; 60 class FloatRect;
61 class Image; 61 class Image;
62 class JSONObject; 62 class JSONObject;
63 class LinkHighlight; 63 class LinkHighlight;
64 class PaintController; 64 class PaintController;
65 struct RasterInvalidationTracking;
65 class ScrollableArea; 66 class ScrollableArea;
66 class WebLayer; 67 class WebLayer;
67 68
68 typedef Vector<GraphicsLayer*, 64> GraphicsLayerVector; 69 typedef Vector<GraphicsLayer*, 64> GraphicsLayerVector;
69 70
70 // GraphicsLayer is an abstraction for a rendering surface with backing store, 71 // GraphicsLayer is an abstraction for a rendering surface with backing store,
71 // which may have associated transformation and animations. 72 // which may have associated transformation and animations.
72 73
73 class PLATFORM_EXPORT GraphicsLayer : public WebLayerScrollClient, 74 class PLATFORM_EXPORT GraphicsLayer : public WebLayerScrollClient,
74 public cc::LayerClient, 75 public cc::LayerClient,
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 std::unique_ptr<JSONObject> layerTreeAsJSON(LayerTreeFlags) const; 224 std::unique_ptr<JSONObject> layerTreeAsJSON(LayerTreeFlags) const;
224 225
225 void setTracksRasterInvalidations(bool); 226 void setTracksRasterInvalidations(bool);
226 bool isTrackingOrCheckingRasterInvalidations() const { 227 bool isTrackingOrCheckingRasterInvalidations() const {
227 return RuntimeEnabledFeatures::paintUnderInvalidationCheckingEnabled() || 228 return RuntimeEnabledFeatures::paintUnderInvalidationCheckingEnabled() ||
228 m_isTrackingRasterInvalidations; 229 m_isTrackingRasterInvalidations;
229 } 230 }
230 231
231 void resetTrackedRasterInvalidations(); 232 void resetTrackedRasterInvalidations();
232 bool hasTrackedRasterInvalidations() const; 233 bool hasTrackedRasterInvalidations() const;
234 const RasterInvalidationTracking* getRasterInvalidationTracking() const;
233 void trackRasterInvalidation(const DisplayItemClient&, 235 void trackRasterInvalidation(const DisplayItemClient&,
234 const IntRect&, 236 const IntRect&,
235 PaintInvalidationReason); 237 PaintInvalidationReason);
236 238
237 void addLinkHighlight(LinkHighlight*); 239 void addLinkHighlight(LinkHighlight*);
238 void removeLinkHighlight(LinkHighlight*); 240 void removeLinkHighlight(LinkHighlight*);
239 // Exposed for tests 241 // Exposed for tests
240 unsigned numLinkHighlights() { return m_linkHighlights.size(); } 242 unsigned numLinkHighlights() { return m_linkHighlights.size(); }
241 LinkHighlight* getLinkHighlight(int i) { return m_linkHighlights[i]; } 243 LinkHighlight* getLinkHighlight(int i) { return m_linkHighlights[i]; }
242 244
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 }; 406 };
405 407
406 } // namespace blink 408 } // namespace blink
407 409
408 #ifndef NDEBUG 410 #ifndef NDEBUG
409 // Outside the blink namespace for ease of invocation from gdb. 411 // Outside the blink namespace for ease of invocation from gdb.
410 void PLATFORM_EXPORT showGraphicsLayerTree(const blink::GraphicsLayer*); 412 void PLATFORM_EXPORT showGraphicsLayerTree(const blink::GraphicsLayer*);
411 #endif 413 #endif
412 414
413 #endif // GraphicsLayer_h 415 #endif // GraphicsLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698