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

Side by Side Diff: headless/lib/browser/headless_screen.h

Issue 1674263002: headless: Initial headless embedder API implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fine, no console logging Mr. Presubmit. Created 4 years, 9 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
« no previous file with comments | « headless/lib/browser/headless_devtools.cc ('k') | headless/lib/browser/headless_screen.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_AURA_TEST_TEST_SCREEN_H_ 5 #ifndef HEADLESS_LIB_BROWSER_HEADLESS_SCREEN_H_
6 #define UI_AURA_TEST_TEST_SCREEN_H_ 6 #define HEADLESS_LIB_BROWSER_HEADLESS_SCREEN_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "ui/aura/window_observer.h" 10 #include "ui/aura/window_observer.h"
11 #include "ui/gfx/display.h" 11 #include "ui/gfx/display.h"
12 #include "ui/gfx/screen.h" 12 #include "ui/gfx/screen.h"
13 13
14 namespace gfx { 14 namespace gfx {
15 class Insets; 15 class Insets;
16 class Rect; 16 class Rect;
17 class Transform; 17 class Transform;
18 } 18 }
19 19
20 namespace aura { 20 namespace aura {
21 class Window; 21 class Window;
22 class WindowTreeHost; 22 class WindowTreeHost;
23 }
23 24
24 // A minimal, testing Aura implementation of gfx::Screen. 25 namespace headless {
25 // TODO(bruthig): Consider extending gfx::test::TestScreen. 26
26 class TestScreen : public gfx::Screen, 27 class HeadlessScreen : public gfx::Screen, public aura::WindowObserver {
27 public WindowObserver {
28 public: 28 public:
29 // Creates a gfx::Screen of the specified size. If no size is specified, then 29 // Creates a gfx::Screen of the specified size. If no size is specified, then
30 // creates a 800x600 screen. |size| is in physical pixels. 30 // creates a 800x600 screen. |size| is in physical pixels.
31 static TestScreen* Create(const gfx::Size& size); 31 static HeadlessScreen* Create(const gfx::Size& size);
32 ~TestScreen() override; 32 ~HeadlessScreen() override;
33 33
34 WindowTreeHost* CreateHostForPrimaryDisplay(); 34 aura::WindowTreeHost* CreateHostForPrimaryDisplay();
35 35
36 void SetDeviceScaleFactor(float device_scale_fator); 36 void SetDeviceScaleFactor(float device_scale_fator);
37 void SetDisplayRotation(gfx::Display::Rotation rotation); 37 void SetDisplayRotation(gfx::Display::Rotation rotation);
38 void SetUIScale(float ui_scale); 38 void SetUIScale(float ui_scale);
39 void SetWorkAreaInsets(const gfx::Insets& insets); 39 void SetWorkAreaInsets(const gfx::Insets& insets);
40 40
41 protected: 41 protected:
42 gfx::Transform GetRotationTransform() const; 42 gfx::Transform GetRotationTransform() const;
43 gfx::Transform GetUIScaleTransform() const; 43 gfx::Transform GetUIScaleTransform() const;
44 44
45 // WindowObserver overrides: 45 // WindowObserver overrides:
46 void OnWindowBoundsChanged(Window* window, 46 void OnWindowBoundsChanged(aura::Window* window,
47 const gfx::Rect& old_bounds, 47 const gfx::Rect& old_bounds,
48 const gfx::Rect& new_bounds) override; 48 const gfx::Rect& new_bounds) override;
49 void OnWindowDestroying(Window* window) override; 49 void OnWindowDestroying(aura::Window* window) override;
50 50
51 // gfx::Screen overrides: 51 // gfx::Screen overrides:
52 gfx::Point GetCursorScreenPoint() override; 52 gfx::Point GetCursorScreenPoint() override;
53 gfx::NativeWindow GetWindowUnderCursor() override; 53 gfx::NativeWindow GetWindowUnderCursor() override;
54 gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override; 54 gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override;
55 int GetNumDisplays() const override; 55 int GetNumDisplays() const override;
56 std::vector<gfx::Display> GetAllDisplays() const override; 56 std::vector<gfx::Display> GetAllDisplays() const override;
57 gfx::Display GetDisplayNearestWindow(gfx::NativeView view) const override; 57 gfx::Display GetDisplayNearestWindow(gfx::NativeView view) const override;
58 gfx::Display GetDisplayNearestPoint(const gfx::Point& point) const override; 58 gfx::Display GetDisplayNearestPoint(const gfx::Point& point) const override;
59 gfx::Display GetDisplayMatching(const gfx::Rect& match_rect) const override; 59 gfx::Display GetDisplayMatching(const gfx::Rect& match_rect) const override;
60 gfx::Display GetPrimaryDisplay() const override; 60 gfx::Display GetPrimaryDisplay() const override;
61 void AddObserver(gfx::DisplayObserver* observer) override; 61 void AddObserver(gfx::DisplayObserver* observer) override;
62 void RemoveObserver(gfx::DisplayObserver* observer) override; 62 void RemoveObserver(gfx::DisplayObserver* observer) override;
63 63
64 private: 64 private:
65 explicit TestScreen(const gfx::Rect& screen_bounds); 65 explicit HeadlessScreen(const gfx::Rect& screen_bounds);
66 66
67 aura::WindowTreeHost* host_; 67 aura::WindowTreeHost* host_;
68
69 gfx::Display display_; 68 gfx::Display display_;
70
71 float ui_scale_; 69 float ui_scale_;
72 70
73 DISALLOW_COPY_AND_ASSIGN(TestScreen); 71 DISALLOW_COPY_AND_ASSIGN(HeadlessScreen);
74 }; 72 };
75 73
76 } // namespace aura 74 } // namespace headless
77 75
78 #endif // UI_AURA_TEST_TEST_SCREEN_H_ 76 #endif // HEADLESS_LIB_BROWSER_HEADLESS_SCREEN_H_
OLDNEW
« no previous file with comments | « headless/lib/browser/headless_devtools.cc ('k') | headless/lib/browser/headless_screen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698