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

Unified Diff: ui/views/mus/screen_mus.cc

Issue 2431473002: Change single-display screens to use ScreenBase and DisplayList. (Closed)
Patch Set: renderer test Created 4 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
« no previous file with comments | « ui/display/test/test_screen.cc ('k') | ui/views/mus/window_manager_connection_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/mus/screen_mus.cc
diff --git a/ui/views/mus/screen_mus.cc b/ui/views/mus/screen_mus.cc
index a7a05ba227598469e204bf3de8bdb9d52cda1090..d6fbbd74494bcc7d7b4c8b2307a913a4bc8d0243 100644
--- a/ui/views/mus/screen_mus.cc
+++ b/ui/views/mus/screen_mus.cc
@@ -37,9 +37,14 @@ namespace views {
using Type = display::DisplayList::Type;
ScreenMus::ScreenMus(ScreenMusDelegate* delegate)
- : delegate_(delegate), display_manager_observer_binding_(this) {}
+ : delegate_(delegate), display_manager_observer_binding_(this) {
+ display::Screen::SetScreenInstance(this);
+}
-ScreenMus::~ScreenMus() {}
+ScreenMus::~ScreenMus() {
+ DCHECK_EQ(this, display::Screen::GetScreen());
+ display::Screen::SetScreenInstance(nullptr);
+}
void ScreenMus::Init(service_manager::Connector* connector) {
connector->ConnectToInterface("service:ui", &display_manager_);
@@ -56,11 +61,11 @@ void ScreenMus::Init(service_manager::Connector* connector) {
// The WaitForIncomingMethodCall() should have supplied the set of Displays,
// unless mus is going down, in which case encountered_error() is true, or the
// call to WaitForIncomingMethodCall() failed.
- if (display_list()->displays().empty()) {
+ if (display_list().displays().empty()) {
DCHECK(display_manager_.encountered_error() || !success);
// In this case we install a default display and assume the process is
// going to exit shortly so that the real value doesn't matter.
- display_list()->AddDisplay(
+ display_list().AddDisplay(
display::Display(0xFFFFFFFF, gfx::Rect(0, 0, 801, 802)), Type::PRIMARY);
}
}
@@ -89,13 +94,13 @@ void ScreenMus::OnDisplays(mojo::Array<ui::mojom::WsDisplayPtr> ws_displays,
int64_t primary_display_id,
int64_t internal_display_id) {
// This should only be called once when ScreenMus is added as an observer.
- DCHECK(display_list()->displays().empty());
+ DCHECK(display_list().displays().empty());
for (size_t i = 0; i < ws_displays.size(); ++i) {
const display::Display& display = ws_displays[i]->display;
const bool is_primary = display.id() == primary_display_id;
- display_list()->AddDisplay(display,
- is_primary ? Type::PRIMARY : Type::NOT_PRIMARY);
+ display_list().AddDisplay(display,
+ is_primary ? Type::PRIMARY : Type::NOT_PRIMARY);
if (is_primary) {
// TODO(sky): Make WindowManagerFrameValues per display.
WindowManagerFrameValues frame_values =
@@ -105,13 +110,13 @@ void ScreenMus::OnDisplays(mojo::Array<ui::mojom::WsDisplayPtr> ws_displays,
}
}
- DCHECK(display_list()->GetPrimaryDisplayIterator() !=
- display_list()->displays().end());
+ DCHECK(display_list().GetPrimaryDisplayIterator() !=
+ display_list().displays().end());
if (internal_display_id != display::Display::kInvalidDisplayID)
display::Display::SetInternalDisplayId(internal_display_id);
- DCHECK(!display_list()->displays().empty());
+ DCHECK(!display_list().displays().empty());
}
void ScreenMus::OnDisplaysChanged(
@@ -119,7 +124,7 @@ void ScreenMus::OnDisplaysChanged(
for (size_t i = 0; i < ws_displays.size(); ++i) {
const display::Display& display = ws_displays[i]->display;
const bool is_primary =
- display.id() == display_list()->GetPrimaryDisplayIterator()->id();
+ display.id() == display_list().GetPrimaryDisplayIterator()->id();
ProcessDisplayChanged(display, is_primary);
if (is_primary) {
WindowManagerFrameValues frame_values =
@@ -133,7 +138,7 @@ void ScreenMus::OnDisplaysChanged(
}
void ScreenMus::OnDisplayRemoved(int64_t display_id) {
- display_list()->RemoveDisplay(display_id);
+ display_list().RemoveDisplay(display_id);
}
void ScreenMus::OnPrimaryDisplayChanged(int64_t primary_display_id) {
@@ -142,7 +147,7 @@ void ScreenMus::OnPrimaryDisplayChanged(int64_t primary_display_id) {
if (primary_display_id == display::Display::kInvalidDisplayID)
return;
- ProcessDisplayChanged(*display_list()->FindDisplayById(primary_display_id),
+ ProcessDisplayChanged(*display_list().FindDisplayById(primary_display_id),
true);
}
« no previous file with comments | « ui/display/test/test_screen.cc ('k') | ui/views/mus/window_manager_connection_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698