| Index: components/mus/example/common/mus_views_init.cc
|
| diff --git a/components/mus/example/common/mus_views_init.cc b/components/mus/example/common/mus_views_init.cc
|
| index bb4087f2fa969b15a779f88a6d581640b6d11805..cd2ba59f31e54ba8362ae985251a3f7207f40a54 100644
|
| --- a/components/mus/example/common/mus_views_init.cc
|
| +++ b/components/mus/example/common/mus_views_init.cc
|
| @@ -9,10 +9,74 @@
|
| #include "components/mus/public/interfaces/window_manager.mojom.h"
|
| #include "mojo/application/public/cpp/application_connection.h"
|
| #include "mojo/application/public/cpp/application_impl.h"
|
| -#include "ui/views/mus/aura_init.h"
|
| +#include "mojo/converters/geometry/geometry_type_converters.h"
|
| +#include "mojo/converters/network/network_type_converters.h"
|
| +#include "ui/gfx/display.h"
|
| +#include "ui/gfx/geometry/point_conversions.h"
|
| +#include "ui/gfx/geometry/rect.h"
|
| #include "ui/views/mus/native_widget_view_manager.h"
|
|
|
| -MUSViewsInit::MUSViewsInit(mojo::ApplicationImpl* app) : app_(app) {}
|
| +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::ToFlooredPoint(gfx::ScalePoint(
|
| + 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 {
|
| +
|
| +std::vector<gfx::Display> GetDisplaysFromWindowManager(
|
| + mojo::ApplicationImpl* app) {
|
| + mus::mojom::WindowManagerPtr window_manager;
|
| + app->ConnectToService(mojo::URLRequest::From(std::string("mojo:example_wm")),
|
| + &window_manager);
|
| + std::vector<gfx::Display> displays;
|
| + window_manager->GetDisplays(
|
| + [&displays](mojo::Array<mus::mojom::DisplayPtr> mojom_displays) {
|
| + displays = mojom_displays.To<std::vector<gfx::Display>>();
|
| + });
|
| + CHECK(window_manager.WaitForIncomingResponse());
|
| + return displays;
|
| +}
|
| +}
|
| +
|
| +MUSViewsInit::MUSViewsInit(mojo::ApplicationImpl* app)
|
| + : app_(app),
|
| + aura_init_(app,
|
| + "example_resources.pak",
|
| + GetDisplaysFromWindowManager(app)) {}
|
|
|
| MUSViewsInit::~MUSViewsInit() {}
|
|
|
| @@ -44,10 +108,6 @@ void MUSViewsInit::OnBeforeWidgetInit(
|
| views::internal::NativeWidgetDelegate* delegate) {}
|
|
|
| void MUSViewsInit::OnEmbed(mus::View* root) {
|
| - if (!aura_init_) {
|
| - aura_init_.reset(
|
| - new views::AuraInit(root, app_->shell(), "example_resources.pak"));
|
| - }
|
| }
|
|
|
| void MUSViewsInit::OnConnectionLost(mus::ViewTreeConnection* connection) {}
|
|
|