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

Unified Diff: ui/compositor/compositor.cc

Issue 423773002: Unified BeginFrame scheduling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Working on aura with --enable-begin-frame-scheduling Created 6 years, 4 months 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: ui/compositor/compositor.cc
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
index 9c0a5134318ca49b99ff17c17ebd313bd0c65e9f..e32185059947c49c6b27d7c970fc8ad6009a3e83 100644
--- a/ui/compositor/compositor.cc
+++ b/ui/compositor/compositor.cc
@@ -23,7 +23,6 @@
#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 +68,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 BeginFrameManager(this)),
device_scale_factor_(0.0f),
disable_schedule_composite_(false),
compositor_lock_(NULL),
@@ -90,6 +89,8 @@ Compositor::Compositor(gfx::AcceleratedWidget widget,
#if !defined(OS_MACOSX)
settings.partial_swap_enabled =
!command_line->HasSwitch(cc::switches::kUIDisablePartialSwap);
+ settings.begin_frame_publisher =
+ command_line->HasSwitch(cc::switches::kEnableBeginFrameScheduling);
#endif
#if defined(OS_CHROMEOS)
settings.per_tile_painting_enabled = true;
@@ -228,10 +229,6 @@ void Compositor::SetBackgroundColor(SkColor color) {
ScheduleDraw();
}
-scoped_refptr<CompositorVSyncManager> Compositor::vsync_manager() const {
- return vsync_manager_;
-}
-
void Compositor::AddObserver(CompositorObserver* observer) {
observer_list_.AddObserver(observer);
}
@@ -303,6 +300,10 @@ void Compositor::DidCompleteSwapBuffers() {
CompositorObserver, observer_list_, OnCompositingEnded(this));
}
+void Compositor::SendBeginFrame(const cc::BeginFrameArgs& args) {
+ begin_frame_manager_->SendBeginFrame(args);
+}
+
void Compositor::DidPostSwapBuffers() {
base::TimeTicks start_time = gfx::FrameTime::Now();
FOR_EACH_OBSERVER(CompositorObserver,
@@ -316,6 +317,10 @@ void Compositor::DidAbortSwapBuffers() {
OnCompositingAborted(this));
}
+void Compositor::RequestBeginFrame() {
+ host_->RequestBeginFrame();
+}
+
const cc::LayerTreeDebugState& Compositor::GetLayerTreeDebugState() const {
return host_->debug_state();
}

Powered by Google App Engine
This is Rietveld 408576698