Index: content/renderer/gpu/render_widget_compositor.cc |
=================================================================== |
--- content/renderer/gpu/render_widget_compositor.cc (revision 221161) |
+++ content/renderer/gpu/render_widget_compositor.cc (working copy) |
@@ -299,7 +299,8 @@ |
bool threaded) |
: threaded_(threaded), |
suppress_schedule_composite_(false), |
- widget_(widget) { |
+ widget_(widget), |
+ saved_device_scale_factor_(0.f) { |
} |
RenderWidgetCompositor::~RenderWidgetCompositor() {} |
@@ -421,9 +422,22 @@ |
} |
void RenderWidgetCompositor::setDeviceScaleFactor(float device_scale) { |
- layer_tree_host_->SetDeviceScaleFactor(device_scale); |
+ if (saved_device_scale_factor_) |
+ saved_device_scale_factor_ = device_scale; |
+ else |
+ layer_tree_host_->SetDeviceScaleFactor(device_scale); |
} |
+void RenderWidgetCompositor::OverrideDeviceScaleFactor(float device_scale) { |
+ if (device_scale) { |
+ saved_device_scale_factor_ = deviceScaleFactor(); |
+ layer_tree_host_->SetDeviceScaleFactor(device_scale); |
+ } else { |
+ layer_tree_host_->SetDeviceScaleFactor(saved_device_scale_factor_); |
+ saved_device_scale_factor_ = 0.f; |
+ } |
+} |
+ |
float RenderWidgetCompositor::deviceScaleFactor() const { |
return layer_tree_host_->device_scale_factor(); |
} |