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

Unified Diff: cc/trees/layer_tree_host.h

Issue 53153006: Simplify rate limiting since it's main thread shared context only (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment Created 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/scheduler/rate_limiter.cc ('k') | cc/trees/layer_tree_host.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host.h
diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h
index c79f3e515f15a5c54dfaaef35ca4da8ff370caf5..5a3ca045a91f03f85703438a21c6eb54e49b8bde 100644
--- a/cc/trees/layer_tree_host.h
+++ b/cc/trees/layer_tree_host.h
@@ -17,6 +17,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
+#include "base/timer/timer.h"
#include "cc/animation/animation_events.h"
#include "cc/base/cc_export.h"
#include "cc/base/scoped_ptr_vector.h"
@@ -31,7 +32,6 @@
#include "cc/resources/scoped_ui_resource.h"
#include "cc/resources/ui_resource_bitmap.h"
#include "cc/resources/ui_resource_client.h"
-#include "cc/scheduler/rate_limiter.h"
#include "cc/trees/layer_tree_host_client.h"
#include "cc/trees/layer_tree_host_common.h"
#include "cc/trees/layer_tree_settings.h"
@@ -41,19 +41,6 @@
#include "ui/events/latency_info.h"
#include "ui/gfx/rect.h"
-namespace WebKit { class WebGraphicsContext3D; }
-
-#if defined(COMPILER_GCC)
-namespace BASE_HASH_NAMESPACE {
-template <>
-struct hash<WebKit::WebGraphicsContext3D*> {
- size_t operator()(WebKit::WebGraphicsContext3D* ptr) const {
- return hash<size_t>()(reinterpret_cast<size_t>(ptr));
- }
-};
-} // namespace BASE_HASH_NAMESPACE
-#endif // COMPILER
-
namespace cc {
class AnimationRegistrar;
@@ -122,7 +109,7 @@ class CC_EXPORT UIResourceRequest {
scoped_ptr<UIResourceBitmap> bitmap_;
};
-class CC_EXPORT LayerTreeHost : NON_EXPORTED_BASE(public RateLimiterClient) {
+class CC_EXPORT LayerTreeHost {
public:
// The SharedBitmapManager will be used on the compositor thread.
static scoped_ptr<LayerTreeHost> Create(
@@ -276,11 +263,11 @@ class CC_EXPORT LayerTreeHost : NON_EXPORTED_BASE(public RateLimiterClient) {
void SetImplTransform(const gfx::Transform& transform);
void SetLatencyInfo(const ui::LatencyInfo& latency_info);
- virtual void StartRateLimiter(WebKit::WebGraphicsContext3D* context3d);
- virtual void StopRateLimiter(WebKit::WebGraphicsContext3D* context3d);
+ // Virtual for tests.
+ virtual void StartRateLimiter();
+ virtual void StopRateLimiter();
- // RateLimiterClient implementation.
- virtual void RateLimit() OVERRIDE;
+ void RateLimit();
bool AlwaysUsePartialTextureUpdates();
size_t MaxPartialTextureUpdates() const;
@@ -417,9 +404,7 @@ class CC_EXPORT LayerTreeHost : NON_EXPORTED_BASE(public RateLimiterClient) {
bool visible_;
- typedef base::hash_map<WebKit::WebGraphicsContext3D*,
- scoped_refptr<RateLimiter> > RateLimiterMap;
- RateLimiterMap rate_limiters_;
+ base::OneShotTimer<LayerTreeHost> rate_limit_timer_;
float page_scale_factor_;
float min_page_scale_factor_;
« no previous file with comments | « cc/scheduler/rate_limiter.cc ('k') | cc/trees/layer_tree_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698