Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 6dd026c31e925f139a192013df44f1db078e2704..d5fc6d79a56993d2d9e96c043ac274c59dafd2a3 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -626,8 +626,11 @@ void RenderThreadImpl::IdleHandlerInForegroundTab() { |
} else { |
int cpu_usage = 0; |
Send(new ViewHostMsg_GetCPUUsage(&cpu_usage)); |
+ // Idle notification hint roughly specifies the expected duration of the |
+ // idle pause. We set it proportional to the idle timer delay. |
+ int idle_hint = static_cast<int>(new_delay_ms / 10); |
if (cpu_usage < kIdleCPUUsageThresholdInPercents && |
- v8::V8::IdleNotification()) { |
+ v8::V8::IdleNotification(idle_hint)) { |
// V8 finished collecting garbage. |
new_delay_ms = kLongIdleHandlerDelayMs; |
} |