| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 module mus.mojom; | 5 module mus.mojom; |
| 6 | 6 |
| 7 import "components/mus/public/interfaces/window_manager_constants.mojom"; | 7 import "components/mus/public/interfaces/window_manager_constants.mojom"; |
| 8 import "components/mus/public/interfaces/window_tree.mojom"; | 8 import "components/mus/public/interfaces/window_tree.mojom"; |
| 9 import "ui/mojo/geometry/geometry.mojom"; | 9 import "ui/mojo/geometry/geometry.mojom"; |
| 10 | 10 |
| 11 struct WindowManagerConfig { |
| 12 array<Display> displays; |
| 13 mojo.Insets normal_client_area_insets; |
| 14 mojo.Insets maximized_client_area_insets; |
| 15 }; |
| 16 |
| 11 // Represents a core interface that should be implemented by any window manager | 17 // Represents a core interface that should be implemented by any window manager |
| 12 // built on top of Mus. | 18 // built on top of Mus. |
| 13 // For security reasons, methods that take window_ids can only pass window ids | 19 // For security reasons, methods that take window_ids can only pass window ids |
| 14 // created by calls to OpenWindow() from the *same connection* to the window | 20 // created by calls to OpenWindow() from the *same connection* to the window |
| 15 // manager. The callback indicates success or failure. | 21 // manager. The callback indicates success or failure. |
| 16 interface WindowManager { | 22 interface WindowManager { |
| 17 // The window bounds as set by user input. Type: gfx::Rect. | 23 // The window bounds as set by user input. Type: gfx::Rect. |
| 18 const string kUserSetBounds_Property = "prop:user-set-bounds"; | 24 const string kUserSetBounds_Property = "prop:user-set-bounds"; |
| 19 // The window's preferred size as defined by its content. Type: gfx::Size. | 25 // The window's preferred size as defined by its content. Type: gfx::Size. |
| 20 const string kPreferredSize_Property = "prop:preferred-size"; | 26 const string kPreferredSize_Property = "prop:preferred-size"; |
| 21 // The window's show state. Type: ShowState. | 27 // The window's show state. Type: ShowState. |
| 22 const string kShowState_Property = "prop:show-state"; | 28 const string kShowState_Property = "prop:show-state"; |
| 23 | 29 |
| 24 OpenWindow(WindowTreeClient client, | 30 OpenWindow(WindowTreeClient client, |
| 25 map<string, array<uint8>> properties); | 31 map<string, array<uint8>> properties); |
| 26 | 32 |
| 27 // Updates the window's preferred size and triggers a relayout of the window | 33 // Updates the window's preferred size and triggers a relayout of the window |
| 28 // within its container. | 34 // within its container. |
| 29 SetPreferredSize(uint32 window_id, mojo.Size size) => | 35 SetPreferredSize(uint32 window_id, mojo.Size size) => |
| 30 (WindowManagerErrorCode result); | 36 (WindowManagerErrorCode result); |
| 31 | 37 |
| 32 SetBounds(uint32 window_id, mojo.Rect bounds) => | 38 SetBounds(uint32 window_id, mojo.Rect bounds) => |
| 33 (WindowManagerErrorCode result); | 39 (WindowManagerErrorCode result); |
| 34 | 40 |
| 35 SetShowState(uint32 window_id, ShowState show_state) => | 41 SetShowState(uint32 window_id, ShowState show_state) => |
| 36 (WindowManagerErrorCode result); | 42 (WindowManagerErrorCode result); |
| 37 | 43 |
| 38 GetDisplays() => (array<Display> displays); | 44 GetConfig() => (WindowManagerConfig config); |
| 39 }; | 45 }; |
| OLD | NEW |