I found issue with the backport with WebKitClientImpl::setSharedTimerFiredFunction. It was causing very very high cpu utilization.
It should be changed to this:
-void WebKitClientImpl::setSharedTimerFireTime(double fire_time) {
- shared_timer_fire_time_ = fire_time;
+void WebKitClientImpl::setSharedTimerFireInterval(double fire_interval) {
+ shared_timer_fire_time_ = fire_interval + monotonicallyIncreasingTime();
if (shared_timer_suspended_)
return;
@@ -477,7 +482,7 @@
// This results in measurable performance degradation unless we use ceil() to
// always round up the sleep times.
int64 interval = static_cast<int64>(
- ceil((fire_time - currentTime()) * base::Time::kMicrosecondsPerSecond));
+ ceil((fire_interval * base::Time::kMillisecondsPerSecond) * base::Time::kMicrosecondsPerMillisecond));
if (interval < 0)
interval = 0;
@@ -596,7 +601,7 @@
void WebKitClientImpl::ResumeSharedTimer() {
// The shared timer may have fired or been adjusted while we were suspended.
if (--shared_timer_suspended_ == 0 && !shared_timer_.IsRunning())
- setSharedTimerFireTime(shared_timer_fire_time_);
+ setSharedTimerFireInterval(monotonicallyIncreasingTime() - shared_timer_fire_time_);
}
Do you think that high cpu utilization may have caused the issues that you were seeing ?