summaryrefslogtreecommitdiffstats
path: root/ui/aura/test
diff options
context:
space:
mode:
authorspang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-20 18:58:38 +0000
committerspang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-20 18:58:38 +0000
commit5af19380d53cdb163afe92a0006eb02f040b970f (patch)
tree2a2b85b0bb5fd4a6ab502c06a3d0411029e68747 /ui/aura/test
parent183e28d67e650ad4c019daeacd3eaf4ccb23f103 (diff)
downloadchromium_src-5af19380d53cdb163afe92a0006eb02f040b970f.zip
chromium_src-5af19380d53cdb163afe92a0006eb02f040b970f.tar.gz
chromium_src-5af19380d53cdb163afe92a0006eb02f040b970f.tar.bz2
aura: Fix unit conversion in test_screen
There's a couple of unit issues here that cause really strange behavior in highdpi mode: - The root window is created using scaled pixels, but CreateParams is actually defined to contain unscaled pixels. So the root window dimensions are always off by a factor of 2 in highdpi mode. - The screen resizes the display using the wrong units. The screen bounds are in scaled pixels, but Display::SetSize takes pixels. BUG=335713 TEST=ozone content_shell with --force-device-scale-factor=2 Review URL: https://codereview.chromium.org/142123002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245933 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/aura/test')
-rw-r--r--ui/aura/test/test_screen.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/ui/aura/test/test_screen.cc b/ui/aura/test/test_screen.cc
index 484a478..5eab457 100644
--- a/ui/aura/test/test_screen.cc
+++ b/ui/aura/test/test_screen.cc
@@ -9,6 +9,7 @@
#include "ui/aura/root_window.h"
#include "ui/aura/window.h"
#include "ui/aura/window_tree_host.h"
+#include "ui/gfx/geometry/size_conversions.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/gfx/rect_conversions.h"
#include "ui/gfx/screen.h"
@@ -32,7 +33,8 @@ TestScreen::~TestScreen() {
RootWindow* TestScreen::CreateRootWindowForPrimaryDisplay() {
DCHECK(!root_window_);
- root_window_ = new RootWindow(RootWindow::CreateParams(display_.bounds()));
+ root_window_ = new RootWindow(
+ RootWindow::CreateParams(gfx::Rect(display_.GetSizeInPixel())));
root_window_->window()->AddObserver(this);
root_window_->Init();
return root_window_;
@@ -98,7 +100,8 @@ bool TestScreen::IsDIPEnabled() {
void TestScreen::OnWindowBoundsChanged(
Window* window, const gfx::Rect& old_bounds, const gfx::Rect& new_bounds) {
DCHECK_EQ(root_window_->window(), window);
- display_.SetSize(new_bounds.size());
+ display_.SetSize(gfx::ToFlooredSize(
+ gfx::ScaleSize(new_bounds.size(), display_.device_scale_factor())));
}
void TestScreen::OnWindowDestroying(Window* window) {