summaryrefslogtreecommitdiffstats
path: root/cc/frame_rate_controller.h
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-30 22:59:56 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-30 22:59:56 +0000
commite5e9c02081e6b37f49febeba87863a1dac598949 (patch)
tree3e2c4fcd2926cc064fd7937e3cdee49e9ef62fd6 /cc/frame_rate_controller.h
parent760d9886b9d56182f6c91944e06f250df6677d33 (diff)
downloadchromium_src-e5e9c02081e6b37f49febeba87863a1dac598949.zip
chromium_src-e5e9c02081e6b37f49febeba87863a1dac598949.tar.gz
chromium_src-e5e9c02081e6b37f49febeba87863a1dac598949.tar.bz2
Remove WebKit::Platform dependencies from cc
This removes all dependencies on the static WebKit::Platform pointer from cc. The biggest change is implementing cc::Thread on top of base::MessageLoopProxy instead of WebKit::WebThread. For the main thread cc::Thread simply binds to the current thread's MessageLoopProxy. For the impl thread, the bindings layer (specifically webkit/compositor_bindings/web_compositor_impl) extracts the MessageLoopProxy out of the passed in WebThread. BUG=144539 Review URL: https://codereview.chromium.org/11344004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165050 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/frame_rate_controller.h')
-rw-r--r--cc/frame_rate_controller.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/cc/frame_rate_controller.h b/cc/frame_rate_controller.h
index d13936d..231ddda 100644
--- a/cc/frame_rate_controller.h
+++ b/cc/frame_rate_controller.h
@@ -7,8 +7,8 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
#include "base/time.h"
-#include "cc/timer.h"
namespace cc {
@@ -26,7 +26,7 @@ protected:
class FrameRateControllerTimeSourceAdapter;
-class FrameRateController : public TimerClient {
+class FrameRateController {
public:
explicit FrameRateController(scoped_refptr<TimeSource>);
// Alternate form of FrameRateController with unthrottled frame-rate.
@@ -59,9 +59,7 @@ protected:
void onTimerTick();
void postManualTick();
-
- // TimerClient implementation (used for unthrottled frame-rate).
- virtual void onTimerFired() OVERRIDE;
+ void manualTick();
FrameRateControllerClient* m_client;
int m_numFramesPending;
@@ -73,7 +71,10 @@ protected:
// Members for unthrottled frame-rate.
bool m_isTimeSourceThrottling;
- scoped_ptr<Timer> m_manualTicker;
+ base::WeakPtrFactory<FrameRateController> m_weakFactory;
+ Thread* m_thread;
+
+ DISALLOW_COPY_AND_ASSIGN(FrameRateController);
};
} // namespace cc