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

Side by Side Diff: ui/views/widget/desktop_aura/desktop_screen_unittest.cc

Issue 2207043002: SetDeviceScaleFactorForTest Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: SetDeviceScaleFactorForTest Created 4 years, 4 months 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ui/views/widget/desktop_aura/desktop_screen.h"
6
7 #include "ui/aura/window.h"
8 #include "ui/compositor/layer.h"
9 #include "ui/compositor/layer_delegate.h"
10 #include "ui/display/screen.h"
11 #include "ui/views/test/views_test_base.h"
12 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h"
13 #include "ui/views/widget/widget.h"
14
15 namespace views {
16
17 class DesktopScreenTest : public ViewsTestBase {
18 public:
19 DesktopScreenTest() {}
20 ~DesktopScreenTest() override {}
21
22 // VIewsTestBase::
23 void SetUp() override {
24 display::Screen::SetScreenInstance(views::CreateDesktopScreen());
25 ViewsTestBase::SetUp();
26 }
27
28 private:
29 DISALLOW_COPY_AND_ASSIGN(DesktopScreenTest);
30 };
31
32 namespace {
33 class TestLayerDelegate : public ui::LayerDelegate {
34 public:
35 TestLayerDelegate() {}
36 ~TestLayerDelegate() override {}
37
38 // ui::LayerDelegate:
39 void OnPaintLayer(const ui::PaintContext& context) override {}
40 void OnDelegatedFrameDamage(const gfx::Rect& damage_rect_in_dip) override {}
41 void OnDeviceScaleFactorChanged(float device_scale_factor) override {
42 changed_device_scale_factor_ = device_scale_factor;
43 }
44 base::Closure PrepareForLayerBoundsChange() override {
45 return base::Closure();
46 }
47
48 float changed_device_scale_factor() const {
49 return changed_device_scale_factor_;
50 }
51
52 private:
53 float changed_device_scale_factor_ = 0.0;
54 DISALLOW_COPY_AND_ASSIGN(TestLayerDelegate);
55 };
56
57 } // namespace
58
59 TEST_F(DesktopScreenTest, SetDeviceScaleFactorForTest) {
60 Widget widget;
61 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_WINDOW);
62 params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
63 params.native_widget = new DesktopNativeWidgetAura(&widget);
64 params.bounds = gfx::Rect(200, 100);
65 widget.Init(params);
66 widget.Show();
67 ui::Layer* widget_layer = widget.GetNativeWindow()->layer();
68 EXPECT_EQ(1.0f, widget_layer->GetCompositor()->device_scale_factor());
69
70 TestLayerDelegate delegate;
71 ui::Layer layer;
72 layer.set_delegate(&delegate);
73 widget_layer->Add(&layer);
74
75 display::Screen::GetScreen()->SetDeviceScaleFactorForTest(2.0);
76 EXPECT_EQ(2.0f, widget_layer->GetCompositor()->device_scale_factor());
77 EXPECT_EQ(2.0f, delegate.changed_device_scale_factor());
78 }
79
80 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/widget/desktop_aura/desktop_native_widget_aura_unittest.cc ('k') | ui/views/widget/desktop_aura/desktop_screen_x11.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698