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

Unified Diff: ui/compositor/compositor.cc

Issue 285373012: Temporarily adds another constructor to Compositor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tweak Created 6 years, 7 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
« no previous file with comments | « ui/compositor/compositor.h ('k') | ui/compositor/layer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/compositor/compositor.cc
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
index 866e5265b738e87f435a216f5633f446a3f0efc8..e399de327bf423fe5d72081c84fd56d72585f41b 100644
--- a/ui/compositor/compositor.cc
+++ b/ui/compositor/compositor.cc
@@ -83,7 +83,8 @@ namespace {
namespace ui {
Compositor::Compositor(gfx::AcceleratedWidget widget)
- : root_layer_(NULL),
+ : context_factory_(g_context_factory),
+ root_layer_(NULL),
widget_(widget),
compositor_thread_loop_(g_context_factory->GetCompositorMessageLoop()),
vsync_manager_(new CompositorVSyncManager()),
@@ -97,6 +98,32 @@ Compositor::Compositor(gfx::AcceleratedWidget widget)
draw_on_compositing_end_(false),
swap_state_(SWAP_NONE),
schedule_draw_factory_(this) {
+ Init();
+}
+
+Compositor::Compositor(gfx::AcceleratedWidget widget,
+ ui::ContextFactory* context_factory)
+ : context_factory_(context_factory),
+ root_layer_(NULL),
+ widget_(widget),
+ compositor_thread_loop_(context_factory->GetCompositorMessageLoop()),
+ vsync_manager_(new CompositorVSyncManager()),
+ device_scale_factor_(0.0f),
+ last_started_frame_(0),
+ last_ended_frame_(0),
+ disable_schedule_composite_(false),
+ compositor_lock_(NULL),
+ defer_draw_scheduling_(false),
+ waiting_on_compositing_end_(false),
+ draw_on_compositing_end_(false),
+ swap_state_(SWAP_NONE),
+ schedule_draw_factory_(this) {
+ Init();
+}
+
+// Yes, this is the wrong place. I'm leaving here to minimize diffs since this
+// function will be nuked soonish.
+void Compositor::Init() {
root_web_layer_ = cc::Layer::Create();
root_web_layer_->SetAnchorPoint(gfx::PointF(0.f, 0.f));
@@ -104,7 +131,7 @@ Compositor::Compositor(gfx::AcceleratedWidget widget)
cc::LayerTreeSettings settings;
settings.refresh_rate =
- ContextFactory::GetInstance()->DoesCreateTestContexts()
+ context_factory_->DoesCreateTestContexts()
? kTestRefreshRate
: kDefaultRefreshRate;
settings.main_frame_before_draw_enabled = false;
@@ -149,12 +176,12 @@ Compositor::Compositor(gfx::AcceleratedWidget widget)
if (compositor_thread_loop_) {
host_ = cc::LayerTreeHost::CreateThreaded(
this,
- g_context_factory->GetSharedBitmapManager(),
+ context_factory_->GetSharedBitmapManager(),
settings,
compositor_thread_loop_);
} else {
host_ = cc::LayerTreeHost::CreateSingleThreaded(
- this, this, g_context_factory->GetSharedBitmapManager(), settings);
+ this, this, context_factory_->GetSharedBitmapManager(), settings);
}
UMA_HISTOGRAM_TIMES("GPU.CreateBrowserCompositor",
base::TimeTicks::Now() - before_create);
@@ -175,7 +202,7 @@ Compositor::~Compositor() {
// down any contexts that the |host_| may rely upon.
host_.reset();
- ContextFactory::GetInstance()->RemoveCompositor(this);
+ context_factory_->RemoveCompositor(this);
}
void Compositor::ScheduleDraw() {
@@ -300,7 +327,7 @@ void Compositor::Layout() {
}
scoped_ptr<cc::OutputSurface> Compositor::CreateOutputSurface(bool fallback) {
- return ContextFactory::GetInstance()->CreateOutputSurface(this, fallback);
+ return context_factory_->CreateOutputSurface(this, fallback);
}
void Compositor::DidCommit() {
« no previous file with comments | « ui/compositor/compositor.h ('k') | ui/compositor/layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698