summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorjbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-16 06:07:45 +0000
committerjbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-16 06:07:45 +0000
commitbcd23b9fba08663b59e79a2c61dc8aa512ee7b6f (patch)
tree8b47c23a049f5e6d9e00e7f970637e0acc7fd908 /ui
parent53c58b8a88a6bf6e7a4e22408d958132ee103101 (diff)
downloadchromium_src-bcd23b9fba08663b59e79a2c61dc8aa512ee7b6f.zip
chromium_src-bcd23b9fba08663b59e79a2c61dc8aa512ee7b6f.tar.gz
chromium_src-bcd23b9fba08663b59e79a2c61dc8aa512ee7b6f.tar.bz2
Enqueuing new frames in a Surface should cause Displays to reaggregate it
Keep track of which Surfaces were included in a Display last frame, so if a new frame is enqueued in a Surface the Displays containing it will tell their clients to redraw. This way the browser compositor doesn't have to commit if only the renderer contents changed. BUG= Review URL: https://codereview.chromium.org/432093003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290103 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/compositor/compositor.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
index 0e4ac8a..bfc0ce2 100644
--- a/ui/compositor/compositor.h
+++ b/ui/compositor/compositor.h
@@ -192,6 +192,12 @@ class COMPOSITOR_EXPORT Compositor
// Returns the vsync manager for this compositor.
scoped_refptr<CompositorVSyncManager> vsync_manager() const;
+ // Returns the main thread task runner this compositor uses. Users of the
+ // compositor generally shouldn't use this.
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner() const {
+ return task_runner_;
+ }
+
// Compositor does not own observers. It is the responsibility of the
// observer to remove itself when it is done observing.
void AddObserver(CompositorObserver* observer);