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

Unified Diff: content/renderer/render_thread_impl.h

Issue 8513008: Schedule idle handler in the foreground tab based on CPU usage and user activity. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 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
Index: content/renderer/render_thread_impl.h
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index e3fdac37a5c6174232a56b006338176ff29e7f88..61836dde3e342281ddbbe72642b698a9132a2a56 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -43,6 +43,7 @@ class WebStorageEventDispatcher;
}
namespace base {
+class ProcessMetrics;
class MessageLoopProxy;
class Thread;
namespace win {
@@ -113,6 +114,7 @@ class CONTENT_EXPORT RenderThreadImpl : public content::RenderThread,
virtual int64 GetIdleNotificationDelayInMs() const OVERRIDE;
virtual void SetIdleNotificationDelayInMs(
int64 idle_notification_delay_in_ms) OVERRIDE;
+ virtual void PostponeIdleNotification() OVERRIDE;
#if defined(OS_WIN)
virtual void PreCacheFont(const LOGFONT& log_font) OVERRIDE;
virtual void ReleaseCachedFonts() OVERRIDE;
@@ -184,6 +186,8 @@ class CONTENT_EXPORT RenderThreadImpl : public content::RenderThread,
void OnGetAccessibilityTree();
void OnTempCrashWithData(const GURL& data);
+ void IdleHandlerInForegroundTab();
+
// These objects live solely on the render thread.
scoped_ptr<ScopedRunnableMethodFactory<RenderThreadImpl> > task_factory_;
scoped_ptr<AppCacheDispatcher> appcache_dispatcher_;
@@ -218,12 +222,17 @@ class CONTENT_EXPORT RenderThreadImpl : public content::RenderThread,
// The current value of the idle notification timer delay.
int64 idle_notification_delay_in_ms_;
+ // The number of idle handler calls that skip sending idle notifications.
+ int idle_notifications_to_skip_;
+
bool suspend_webkit_shared_timer_;
bool notify_webkit_of_modal_loop_;
// Timer that periodically calls IdleHandler.
base::RepeatingTimer<RenderThreadImpl> idle_timer_;
+ scoped_ptr<base::ProcessMetrics> process_metrics_;
+
// The channel from the renderer process to the GPU process.
scoped_refptr<GpuChannelHost> gpu_channel_;

Powered by Google App Engine
This is Rietveld 408576698