Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index 5cdd07c6c49f2d8624bcb7f18c0f98b2aec00530..5608c3e6f1389ac007bed87cc746b771fd3a16e1 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -58,7 +58,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), |
@@ -67,6 +68,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) { |
@@ -330,6 +332,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); |
} |