OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 RateLimiter_h | 5 #ifndef RateLimiter_h |
6 #define RateLimiter_h | 6 #define RateLimiter_h |
7 | 7 |
8 #if USE(ACCELERATED_COMPOSITING) | 8 #if USE(ACCELERATED_COMPOSITING) |
9 | 9 |
10 #include <wtf/PassRefPtr.h> | 10 #include <wtf/PassRefPtr.h> |
11 #include <wtf/RefCounted.h> | 11 #include <wtf/RefCounted.h> |
12 | 12 |
13 namespace WebKit { | 13 namespace WebKit { |
14 class WebGraphicsContext3D; | 14 class WebGraphicsContext3D; |
15 } | 15 } |
16 | 16 |
17 namespace WebCore { | 17 namespace cc { |
18 | 18 |
19 class RateLimiterClient { | 19 class RateLimiterClient { |
20 public: | 20 public: |
21 virtual void rateLimit() = 0; | 21 virtual void rateLimit() = 0; |
22 }; | 22 }; |
23 | 23 |
24 // A RateLimiter can be used to make sure that a single context does not dominat
e all execution time. | 24 // A RateLimiter can be used to make sure that a single context does not dominat
e all execution time. |
25 // To use, construct a RateLimiter class around the context and call start() whe
never calls are made on the | 25 // To use, construct a RateLimiter class around the context and call start() whe
never calls are made on the |
26 // context outside of normal flow control. RateLimiter will block if the context
is too far ahead of the | 26 // context outside of normal flow control. RateLimiter will block if the context
is too far ahead of the |
27 // compositor. | 27 // compositor. |
(...skipping 16 matching lines...) Expand all Loading... |
44 | 44 |
45 WebKit::WebGraphicsContext3D* m_context; | 45 WebKit::WebGraphicsContext3D* m_context; |
46 bool m_active; | 46 bool m_active; |
47 RateLimiterClient *m_client; | 47 RateLimiterClient *m_client; |
48 }; | 48 }; |
49 | 49 |
50 } | 50 } |
51 #endif // USE(ACCELERATED_COMPOSITING) | 51 #endif // USE(ACCELERATED_COMPOSITING) |
52 | 52 |
53 #endif | 53 #endif |
OLD | NEW |