Index: mash/wm/window_manager_impl.cc |
diff --git a/mash/wm/window_manager_impl.cc b/mash/wm/window_manager_impl.cc |
index dd649c5192d58eb512ae409f2f38d1c05aecb2db..ad225248af0599f232105f14c10e3a270bdfd8c2 100644 |
--- a/mash/wm/window_manager_impl.cc |
+++ b/mash/wm/window_manager_impl.cc |
@@ -8,7 +8,6 @@ |
#include <utility> |
#include "components/mus/common/types.h" |
-#include "components/mus/public/cpp/property_type_converters.h" |
#include "components/mus/public/cpp/window.h" |
#include "components/mus/public/cpp/window_property.h" |
#include "components/mus/public/cpp/window_tree_connection.h" |
@@ -22,22 +21,11 @@ |
#include "mojo/converters/geometry/geometry_type_converters.h" |
#include "mojo/shell/public/cpp/application_impl.h" |
-namespace mojo { |
- |
-template <> |
-struct TypeConverter<const std::vector<uint8_t>, Array<uint8_t>> { |
- static const std::vector<uint8_t> Convert(const Array<uint8_t>& input) { |
- return input.storage(); |
- } |
-}; |
- |
-} // namespace mojo |
- |
namespace mash { |
namespace wm { |
WindowManagerImpl::WindowManagerImpl() |
- : state_(nullptr) {} |
+ : state_(nullptr), window_manager_client_(nullptr) {} |
WindowManagerImpl::~WindowManagerImpl() { |
if (!state_) |
@@ -59,6 +47,22 @@ void WindowManagerImpl::Initialize(WindowManagerApplication* state) { |
for (auto child : container->children()) |
child->AddObserver(this); |
} |
+ |
+ // The insets are roughly what is needed by CustomFrameView. The expectation |
+ // is at some point we'll write our own NonClientFrameView and get the insets |
+ // from it. |
+ mus::mojom::FrameDecorationValuesPtr frame_decoration_values = |
+ mus::mojom::FrameDecorationValues::New(); |
+ const gfx::Insets client_area_insets = |
+ NonClientFrameController::GetPreferredClientAreaInsets(); |
+ frame_decoration_values->normal_client_area_insets = |
+ mojo::Insets::From(client_area_insets); |
+ frame_decoration_values->maximized_client_area_insets = |
+ mojo::Insets::From(client_area_insets); |
+ frame_decoration_values->max_title_bar_button_width = |
+ NonClientFrameController::GetMaxTitleBarButtonWidth(); |
+ window_manager_client_->SetFrameDecorationValues( |
+ std::move(frame_decoration_values)); |
} |
gfx::Rect WindowManagerImpl::CalculateDefaultBounds(mus::Window* window) const { |
@@ -137,34 +141,9 @@ void WindowManagerImpl::OpenWindow( |
NewTopLevelWindow(&properties, std::move(client)); |
} |
-void WindowManagerImpl::GetConfig(const GetConfigCallback& callback) { |
- DCHECK(state_); |
- mus::mojom::WindowManagerConfigPtr config( |
- mus::mojom::WindowManagerConfig::New()); |
- config->displays = mojo::Array<mus::mojom::DisplayPtr>::New(1); |
- config->displays[0] = mus::mojom::Display::New(); |
- config->displays[0]->id = 2001; |
- config->displays[0]->bounds = mojo::Rect::New(); |
- config->displays[0]->bounds->y = 0; |
- config->displays[0]->bounds->width = state_->root()->bounds().width(); |
- config->displays[0]->bounds->height = state_->root()->bounds().width(); |
- config->displays[0]->work_area = config->displays[0]->bounds.Clone(); |
- config->displays[0]->device_pixel_ratio = |
- state_->root()->viewport_metrics().device_pixel_ratio; |
- |
- // The insets are roughly what is needed by CustomFrameView. The expectation |
- // is at some point we'll write our own NonClientFrameView and get the insets |
- // from it. |
- const gfx::Insets client_area_insets = |
- NonClientFrameController::GetPreferredClientAreaInsets(); |
- config->normal_client_area_insets = mojo::Insets::From(client_area_insets); |
- |
- config->maximized_client_area_insets = mojo::Insets::From(client_area_insets); |
- |
- config->max_title_bar_button_width = |
- NonClientFrameController::GetMaxTitleBarButtonWidth(); |
- |
- callback.Run(std::move(config)); |
+void WindowManagerImpl::SetWindowManagerClient( |
+ mus::WindowManagerClient* client) { |
+ window_manager_client_ = client; |
} |
bool WindowManagerImpl::OnWmSetBounds(mus::Window* window, gfx::Rect* bounds) { |