diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-15 21:53:34 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-15 21:53:34 +0000 |
commit | 040bb3131856d2ba69c0c50390c4c3ec64983c3b (patch) | |
tree | 9c5a6c64a210ce2112e2fca5b5ef2fb163656d6a | |
parent | 06e639cdc5cf9b7d3e97c7d7c57920b56b4b6e17 (diff) | |
download | chromium_src-040bb3131856d2ba69c0c50390c4c3ec64983c3b.zip chromium_src-040bb3131856d2ba69c0c50390c4c3ec64983c3b.tar.gz chromium_src-040bb3131856d2ba69c0c50390c4c3ec64983c3b.tar.bz2 |
Prepare for WebKitClient rename setSharedTimerFireTime->setSharedTimerFireInterval
WebKit side is https://bugs.webkit.org/show_bug.cgi?id=64544
BUG=71256
TEST=none
Review URL: http://codereview.chromium.org/7388003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92750 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | webkit/glue/webkitclient_impl.cc | 27 | ||||
-rw-r--r-- | webkit/glue/webkitclient_impl.h | 5 |
2 files changed, 23 insertions, 9 deletions
diff --git a/webkit/glue/webkitclient_impl.cc b/webkit/glue/webkitclient_impl.cc index 157b3d7..8dc0d3a 100644 --- a/webkit/glue/webkitclient_impl.cc +++ b/webkit/glue/webkitclient_impl.cc @@ -498,8 +498,18 @@ void WebKitClientImpl::setSharedTimerFiredFunction(void (*func)()) { shared_timer_func_ = func; } +#ifndef WEBKIT_USE_MONOTONIC_CLOCK_FOR_TIMER_SCHEDULING void WebKitClientImpl::setSharedTimerFireTime(double fire_time) { - shared_timer_fire_time_ = fire_time; + setSharedTimerFireInterval(fire_time - currentTime()); +} +#endif + +void WebKitClientImpl::setSharedTimerFireInterval(double interval_seconds) { +#ifdef WEBKIT_USE_MONOTONIC_CLOCK_FOR_TIMER_SCHEDULING + shared_timer_fire_time_ = interval_seconds + monotonicallyIncreasingTime(); +#else + shared_timer_fire_time_ = interval_seconds + currentTime(); +#endif if (shared_timer_suspended_) return; @@ -513,14 +523,10 @@ void WebKitClientImpl::setSharedTimerFireTime(double fire_time) { // needlessly looping if sleep times are too short even by small amounts. // This results in measurable performance degradation unless we use ceil() to // always round up the sleep times. -#ifdef WEBKIT_USE_MONOTONIC_CLOCK_FOR_TIMER_SCHEDULING - double intervalSeconds = fire_time - monotonicallyIncreasingTime(); int64 interval = static_cast<int64>( - ceil(intervalSeconds) * base::Time::kMicrosecondsPerSecond); -#else - int64 interval = static_cast<int64>( - ceil((fire_time - currentTime()) * base::Time::kMicrosecondsPerSecond)); -#endif + ceil(interval_seconds * base::Time::kMillisecondsPerSecond) + * base::Time::kMicrosecondsPerMillisecond); + if (interval < 0) interval = 0; @@ -644,7 +650,12 @@ void WebKitClientImpl::SuspendSharedTimer() { void WebKitClientImpl::ResumeSharedTimer() { // The shared timer may have fired or been adjusted while we were suspended. if (--shared_timer_suspended_ == 0 && !shared_timer_.IsRunning()) +#ifdef WEBKIT_USE_MONOTONIC_CLOCK_FOR_TIMER_SCHEDULING + setSharedTimerFireInterval( + monotonicallyIncreasingTime() - shared_timer_fire_time_); +#else setSharedTimerFireTime(shared_timer_fire_time_); +#endif } } // namespace webkit_glue diff --git a/webkit/glue/webkitclient_impl.h b/webkit/glue/webkitclient_impl.h index 6761a27..eb8f484 100644 --- a/webkit/glue/webkitclient_impl.h +++ b/webkit/glue/webkitclient_impl.h @@ -74,7 +74,10 @@ class WebKitClientImpl : public WebKit::WebKitClient { virtual void cryptographicallyRandomValues( unsigned char* buffer, size_t length); virtual void setSharedTimerFiredFunction(void (*func)()); - virtual void setSharedTimerFireTime(double fireTime); + virtual void setSharedTimerFireInterval(double interval_seconds); +#ifndef WEBKIT_USE_MONOTONIC_CLOCK_FOR_TIMER_SCHEDULING + virtual void setSharedTimerFireTime(double fire_time); +#endif virtual void stopSharedTimer(); virtual void callOnMainThread(void (*func)(void*), void* context); |