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

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

Issue 1639563003: Renames WindowManagerConfig to FrameDecorationValues and moves to Display (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: ui/views/mus/screen_mus.cc
diff --git a/ui/views/mus/screen_mus.cc b/ui/views/mus/screen_mus.cc
index 2a0234905120ea293ec0375ee1066afaa94c9868..88311b6c62d45fddc277aa58956e056340e7cebc 100644
--- a/ui/views/mus/screen_mus.cc
+++ b/ui/views/mus/screen_mus.cc
@@ -4,11 +4,14 @@
#include "ui/views/mus/screen_mus.h"
+// #include "components/mus/public/interfaces/window_manager_constants.mojom.h"
#include "mojo/converters/geometry/geometry_type_converters.h"
#include "mojo/shell/public/cpp/application_connection.h"
#include "mojo/shell/public/cpp/application_impl.h"
#include "ui/gfx/display_finder.h"
#include "ui/gfx/display_observer.h"
+#include "ui/views/mus/screen_mus_delegate.h"
+#include "ui/views/mus/window_manager_frame_values.h"
namespace mojo {
@@ -47,12 +50,28 @@ struct TypeConverter<gfx::Display, mus::mojom::DisplayPtr> {
}
};
+template <>
+struct TypeConverter<views::WindowManagerFrameValues,
+ mus::mojom::FrameDecorationValuesPtr> {
+ static views::WindowManagerFrameValues Convert(
+ const mus::mojom::FrameDecorationValuesPtr& input) {
+ views::WindowManagerFrameValues result;
+ result.normal_insets = input->normal_client_area_insets.To<gfx::Insets>();
+ result.maximized_insets =
+ input->maximized_client_area_insets.To<gfx::Insets>();
+ result.max_title_bar_button_width = input->max_title_bar_button_width;
+ return result;
+ }
+};
+
} // namespace mojo
namespace views {
-ScreenMus::ScreenMus()
- : primary_display_index_(0), display_manager_observer_binding_(this) {}
+ScreenMus::ScreenMus(ScreenMusDelegate* delegate)
+ : delegate_(delegate),
+ primary_display_index_(0),
+ display_manager_observer_binding_(this) {}
ScreenMus::~ScreenMus() {}
@@ -176,8 +195,13 @@ void ScreenMus::OnDisplays(mojo::Array<mus::mojom::DisplayPtr> displays) {
DCHECK(displays_.empty());
displays_ = displays.To<std::vector<gfx::Display>>();
for (size_t i = 0; i < displays.size(); ++i) {
- if (displays[i]->is_primary)
+ if (displays[i]->is_primary) {
primary_display_index_ = static_cast<int>(i);
+ // TODO(sky): Make WindowManagerFrameValues per display.
+ WindowManagerFrameValues frame_values =
+ displays[i]->frame_decoration_values.To<WindowManagerFrameValues>();
+ WindowManagerFrameValues::SetInstance(frame_values);
+ }
}
}
@@ -186,6 +210,13 @@ void ScreenMus::OnDisplaysChanged(
for (size_t i = 0; i < transport_displays.size(); ++i) {
const bool is_primary = transport_displays[i]->is_primary;
ProcessDisplayChanged(transport_displays[i].To<gfx::Display>(), is_primary);
+ if (is_primary) {
+ WindowManagerFrameValues frame_values =
+ transport_displays[i]
+ ->frame_decoration_values.To<WindowManagerFrameValues>();
+ WindowManagerFrameValues::SetInstance(frame_values);
+ delegate_->OnWindowManagerFrameValuesChanged();
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698