Index: ui/views/mus/window_manager_connection.cc |
diff --git a/ui/views/mus/window_manager_connection.cc b/ui/views/mus/window_manager_connection.cc |
index b13c09e931576b0dedf92d707bd40d17f7d42136..defc7e419227c81dfc744de85ba1cd103f3f1abe 100644 |
--- a/ui/views/mus/window_manager_connection.cc |
+++ b/ui/views/mus/window_manager_connection.cc |
@@ -15,55 +15,12 @@ |
#include "mojo/converters/network/network_type_converters.h" |
#include "mojo/shell/public/cpp/application_connection.h" |
#include "mojo/shell/public/cpp/application_impl.h" |
-#include "ui/gfx/display.h" |
-#include "ui/gfx/geometry/point_conversions.h" |
-#include "ui/gfx/geometry/rect.h" |
-#include "ui/mojo/init/ui_init.h" |
#include "ui/views/mus/native_widget_mus.h" |
+#include "ui/views/mus/screen_mus.h" |
#include "ui/views/mus/window_manager_frame_values.h" |
#include "ui/views/views_delegate.h" |
-namespace mojo { |
- |
-gfx::Display::Rotation GFXRotationFromMojomRotation( |
- mus::mojom::Rotation input) { |
- switch (input) { |
- case mus::mojom::Rotation::VALUE_0: |
- return gfx::Display::ROTATE_0; |
- case mus::mojom::Rotation::VALUE_90: |
- return gfx::Display::ROTATE_90; |
- case mus::mojom::Rotation::VALUE_180: |
- return gfx::Display::ROTATE_180; |
- case mus::mojom::Rotation::VALUE_270: |
- return gfx::Display::ROTATE_270; |
- } |
- return gfx::Display::ROTATE_0; |
-} |
- |
-template <> |
-struct TypeConverter<gfx::Display, mus::mojom::DisplayPtr> { |
- static gfx::Display Convert(const mus::mojom::DisplayPtr& input) { |
- gfx::Display result; |
- result.set_id(input->id); |
- result.SetScaleAndBounds(input->device_pixel_ratio, |
- input->bounds.To<gfx::Rect>()); |
- gfx::Rect work_area( |
- gfx::ScaleToFlooredPoint( |
- gfx::Point(input->work_area->x, input->work_area->y), |
- 1.0f / input->device_pixel_ratio), |
- gfx::ScaleToFlooredSize( |
- gfx::Size(input->work_area->width, input->work_area->height), |
- 1.0f / input->device_pixel_ratio)); |
- result.set_work_area(work_area); |
- result.set_rotation(GFXRotationFromMojomRotation(input->rotation)); |
- return result; |
- } |
-}; |
- |
-} // namespace mojo |
- |
namespace views { |
- |
namespace { |
using WindowManagerConnectionPtr = |
@@ -73,14 +30,11 @@ using WindowManagerConnectionPtr = |
base::LazyInstance<WindowManagerConnectionPtr>::Leaky lazy_tls_ptr = |
LAZY_INSTANCE_INITIALIZER; |
-std::vector<gfx::Display> GetDisplaysFromWindowManager( |
- mus::mojom::WindowManagerPtr* window_manager) { |
+void GetWindowManagerFrameValues(mus::mojom::WindowManagerPtr* window_manager) { |
+ // TODO(sky): maybe this should be associated with Display? |
WindowManagerFrameValues frame_values; |
- std::vector<gfx::Display> displays; |
(*window_manager) |
- ->GetConfig([&displays, |
- &frame_values](mus::mojom::WindowManagerConfigPtr results) { |
- displays = results->displays.To<std::vector<gfx::Display>>(); |
+ ->GetConfig([&frame_values](mus::mojom::WindowManagerConfigPtr results) { |
frame_values.normal_insets = |
results->normal_client_area_insets.To<gfx::Insets>(); |
frame_values.maximized_insets = |
@@ -90,7 +44,6 @@ std::vector<gfx::Display> GetDisplaysFromWindowManager( |
}); |
CHECK(window_manager->WaitForIncomingResponse()); |
WindowManagerFrameValues::SetInstance(frame_values); |
- return displays; |
} |
} // namespace |
@@ -133,8 +86,10 @@ WindowManagerConnection::WindowManagerConnection(mojo::ApplicationImpl* app) |
: app_(app), window_tree_connection_(nullptr) { |
app->ConnectToService("mojo:mus", &window_manager_); |
- ui_init_.reset(new ui::mojo::UIInit( |
- GetDisplaysFromWindowManager(&window_manager_))); |
+ GetWindowManagerFrameValues(&window_manager_); |
+ |
+ screen_.reset(new ScreenMus); |
+ screen_->Init(app); |
ViewsDelegate::GetInstance()->set_native_widget_factory( |
base::Bind(&WindowManagerConnection::CreateNativeWidget, |
base::Unretained(this))); |