Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index b655726631cfc1ab38a194ed7b6e11ca369bf272..99eb0bcfac3e52d8b9c340a4964d4d35bfceb991 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -57,7 +57,8 @@ Compositor::Compositor(const viz::FrameSinkId& frame_sink_id, |
ui::ContextFactory* context_factory, |
ui::ContextFactoryPrivate* context_factory_private, |
scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
- bool enable_surface_synchronization) |
+ bool enable_surface_synchronization, |
+ bool enable_pixel_canvas) |
: context_factory_(context_factory), |
context_factory_private_(context_factory_private), |
frame_sink_id_(frame_sink_id), |
@@ -66,6 +67,7 @@ Compositor::Compositor(const viz::FrameSinkId& frame_sink_id, |
layer_animator_collection_(this), |
scheduled_timeout_(base::TimeTicks()), |
allow_locks_to_extend_timeout_(false), |
+ is_pixel_canvas_(enable_pixel_canvas), |
weak_ptr_factory_(this), |
lock_timeout_weak_ptr_factory_(this) { |
if (context_factory_private) { |
@@ -325,6 +327,8 @@ void Compositor::SetScaleAndSize(float scale, const gfx::Size& size_in_pixel) { |
if (device_scale_factor_ != scale) { |
device_scale_factor_ = scale; |
host_->SetDeviceScaleFactor(scale); |
+ if (is_pixel_canvas()) |
+ host_->SetRecordingScaleFactor(scale); |
if (root_layer_) |
root_layer_->OnDeviceScaleFactorChanged(scale); |
} |