Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index 9c0a5134318ca49b99ff17c17ebd313bd0c65e9f..d8c54d138e3fc355a0d5a7415978966f78fcba34 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -19,11 +19,11 @@ |
#include "cc/input/input_handler.h" |
#include "cc/layers/layer.h" |
#include "cc/output/context_provider.h" |
+#include "cc/scheduler/begin_frame_manager.h" |
#include "cc/trees/layer_tree_host.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/compositor/compositor_observer.h" |
#include "ui/compositor/compositor_switches.h" |
-#include "ui/compositor/compositor_vsync_manager.h" |
#include "ui/compositor/dip_util.h" |
#include "ui/compositor/layer.h" |
#include "ui/compositor/layer_animator_collection.h" |
@@ -69,7 +69,7 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, |
widget_(widget), |
compositor_thread_loop_(context_factory->GetCompositorMessageLoop()), |
task_runner_(task_runner), |
- vsync_manager_(new CompositorVSyncManager()), |
+ begin_frame_manager_(new cc::BeginFrameManager), |
device_scale_factor_(0.0f), |
disable_schedule_composite_(false), |
compositor_lock_(NULL), |
@@ -91,6 +91,10 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, |
settings.partial_swap_enabled = |
!command_line->HasSwitch(cc::switches::kUIDisablePartialSwap); |
#endif |
+#if defined(USE_AURA) |
+ settings.begin_frame_publisher = |
+ command_line->HasSwitch(cc::switches::kEnableBeginFrameScheduling); |
+#endif |
#if defined(OS_CHROMEOS) |
settings.per_tile_painting_enabled = true; |
#endif |
@@ -125,6 +129,8 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, |
base::TimeTicks before_create = base::TimeTicks::Now(); |
if (compositor_thread_loop_) { |
+ // --enable-begin-frame-scheduling is not used with threaded compositing. |
+ DCHECK(!settings.begin_frame_publisher); |
host_ = cc::LayerTreeHost::CreateThreaded( |
this, |
context_factory_->GetSharedBitmapManager(), |
@@ -137,7 +143,8 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, |
this, |
context_factory_->GetSharedBitmapManager(), |
settings, |
- task_runner_); |
+ task_runner_, |
+ begin_frame_manager_.get()); |
} |
UMA_HISTOGRAM_TIMES("GPU.CreateBrowserCompositor", |
base::TimeTicks::Now() - before_create); |
@@ -228,8 +235,9 @@ void Compositor::SetBackgroundColor(SkColor color) { |
ScheduleDraw(); |
} |
-scoped_refptr<CompositorVSyncManager> Compositor::vsync_manager() const { |
- return vsync_manager_; |
+void Compositor::SetAuthoritativeVSyncInterval( |
+ base::TimeDelta interval) const { |
+ begin_frame_manager_->SetAuthoritativeVSyncInterval(interval); |
brianderson
2014/08/28 02:48:07
I think it'll be better to have SetAuthoritativeVS
simonhong
2014/09/03 21:02:23
Done.
|
} |
void Compositor::AddObserver(CompositorObserver* observer) { |