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

Side by Side Diff: Source/web/painting/PaintAggregator.h

Issue 1326693003: Revert of Make classes and structures in web fast-allocated. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « Source/web/WorkerGlobalScopeProxyProviderImpl.h ('k') | Source/web/tests/FakeWebPlugin.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 15 matching lines...) Expand all
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef PaintAggregator_h 31 #ifndef PaintAggregator_h
32 #define PaintAggregator_h 32 #define PaintAggregator_h
33 33
34 #include "platform/geometry/IntPoint.h" 34 #include "platform/geometry/IntPoint.h"
35 #include "platform/geometry/IntRect.h" 35 #include "platform/geometry/IntRect.h"
36 #include "wtf/Allocator.h"
37 #include "wtf/Vector.h" 36 #include "wtf/Vector.h"
38 37
39 namespace blink { 38 namespace blink {
40 39
41 // This class is responsible for aggregating multiple invalidation and scroll 40 // This class is responsible for aggregating multiple invalidation and scroll
42 // commands to produce a scroll and repaint sequence. 41 // commands to produce a scroll and repaint sequence.
43 class PaintAggregator { 42 class PaintAggregator {
44 STACK_ALLOCATED();
45 public: 43 public:
46 // This structure describes an aggregation of invalidateRect and scrollRect 44 // This structure describes an aggregation of invalidateRect and scrollRect
47 // calls. If |scrollRect| is non-empty, then that rect should be scrolled 45 // calls. If |scrollRect| is non-empty, then that rect should be scrolled
48 // by the amount specified by |scrollDelta|. If |paintRects| is non-empty, 46 // by the amount specified by |scrollDelta|. If |paintRects| is non-empty,
49 // then those rects should be repainted. If |scrollRect| and |paintRects| 47 // then those rects should be repainted. If |scrollRect| and |paintRects|
50 // are non-empty, then scrolling should be performed before repainting. 48 // are non-empty, then scrolling should be performed before repainting.
51 // |scrollDelta| can only specify scrolling in one direction (i.e., the x 49 // |scrollDelta| can only specify scrolling in one direction (i.e., the x
52 // and y members cannot both be non-zero). 50 // and y members cannot both be non-zero).
53 struct PendingUpdate { 51 struct PendingUpdate {
54 STACK_ALLOCATED();
55 PendingUpdate(); 52 PendingUpdate();
56 ~PendingUpdate(); 53 ~PendingUpdate();
57 54
58 // Returns the rect damaged by scrolling within |scrollRect| by 55 // Returns the rect damaged by scrolling within |scrollRect| by
59 // |scrollDelta|. This rect must be repainted. 56 // |scrollDelta|. This rect must be repainted.
60 IntRect calculateScrollDamage() const; 57 IntRect calculateScrollDamage() const;
61 58
62 // Returns the smallest rect containing all paint rects. 59 // Returns the smallest rect containing all paint rects.
63 IntRect calculatePaintBounds() const; 60 IntRect calculatePaintBounds() const;
64 61
(...skipping 21 matching lines...) Expand all
86 bool shouldInvalidateScrollRect(const IntRect&) const; 83 bool shouldInvalidateScrollRect(const IntRect&) const;
87 void invalidateScrollRect(); 84 void invalidateScrollRect();
88 void combinePaintRects(); 85 void combinePaintRects();
89 86
90 PendingUpdate m_update; 87 PendingUpdate m_update;
91 }; 88 };
92 89
93 } // namespace blink 90 } // namespace blink
94 91
95 #endif 92 #endif
OLDNEW
« no previous file with comments | « Source/web/WorkerGlobalScopeProxyProviderImpl.h ('k') | Source/web/tests/FakeWebPlugin.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698