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

Unified Diff: content/renderer/render_widget.cc

Issue 11348033: Initialize device scale factor correctly on Android (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use min(hdpi, vdpi). Make sure device_scale_factor >= 1. Created 8 years, 1 month 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: content/renderer/render_widget.cc
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 9e723b5cc14f45f8ac68f62d6c46b406f2156fd9..d5751d8f862f2cf7780da7c384c1bf89353a5c9b 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -35,6 +35,7 @@
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
#include "third_party/skia/include/core/SkShader.h"
#include "ui/base/ui_base_switches.h"
+#include "ui/gfx/display.h"
#include "ui/gfx/rect_conversions.h"
#include "ui/gfx/size_conversions.h"
#include "ui/gfx/skia_util.h"
@@ -118,18 +119,15 @@ RenderWidget::RenderWidget(WebKit::WebPopupType popup_type,
DCHECK(RenderThread::Get());
has_disable_gpu_vsync_switch_ = CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableGpuVsync);
-#if defined(OS_CHROMEOS) || defined(OS_MACOSX)
- device_scale_factor_ = screen_info.verticalDPI / kStandardDPI;
- // Unless an explicit scale factor was provided for testing, ensure the scale
- // is integral.
- if (!CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kForceDeviceScaleFactor))
- device_scale_factor_ = static_cast<int>(device_scale_factor_);
- device_scale_factor_ = std::max(1.0f, device_scale_factor_);
-#endif
is_threaded_compositing_enabled_ =
CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableThreadedCompositing);
+
+ scoped_ptr<gfx::Display> display(new gfx::Display());
jamesr 2012/11/06 18:36:14 why heap allocate? can't this go on the stack?
+ display->SetScaleAndBounds(
+ std::min(screen_info.horizontalDPI, screen_info.verticalDPI) /
+ kStandardDPI, display->bounds());
+ device_scale_factor_ = display->device_scale_factor();
}
RenderWidget::~RenderWidget() {
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | ui/gfx/display.cc » ('j') | ui/gfx/display.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698