| Index: ui/aura/mus/window_port_mus.h
|
| diff --git a/ui/aura/mus/window_port_mus.h b/ui/aura/mus/window_port_mus.h
|
| index a77095c869b1770edb18419020d12bda7332ac2a..32770cab064c2b94fdf158fb0761072f65f89304 100644
|
| --- a/ui/aura/mus/window_port_mus.h
|
| +++ b/ui/aura/mus/window_port_mus.h
|
| @@ -113,12 +113,18 @@ class AURA_EXPORT WindowPortMus : public WindowPort, public WindowMus {
|
| REMOVE,
|
| REMOVE_TRANSIENT,
|
| REORDER,
|
| + // This is used when a REORDER *may* occur as the result of a transient
|
| + // child being added or removed. As there is no guarantee the move will
|
| + // actually happen (the window may be in place already) this change is not
|
| + // automatically removed. Instead the change is explicitly removed.
|
| + TRANSIENT_REORDER,
|
| VISIBLE,
|
| };
|
|
|
| // Contains data needed to identify a change from the server.
|
| struct ServerChangeData {
|
| - // Applies to ADD, ADD_TRANSIENT, REMOVE, REMOVE_TRANSIENT and REORDER.
|
| + // Applies to ADD, ADD_TRANSIENT, REMOVE, REMOVE_TRANSIENT, REORDER and
|
| + // TRANSIENT_REORDER.
|
| Id child_id;
|
| // Applies to BOUNDS.
|
| gfx::Rect bounds;
|
| @@ -137,6 +143,8 @@ class AURA_EXPORT WindowPortMus : public WindowPort, public WindowMus {
|
| ServerChangeData data;
|
| };
|
|
|
| + using ServerChanges = std::vector<ServerChange>;
|
| +
|
| // Convenience for adding/removing a ScopedChange.
|
| class ScopedServerChange {
|
| public:
|
| @@ -175,6 +183,9 @@ class AURA_EXPORT WindowPortMus : public WindowPort, public WindowMus {
|
| bool RemoveChangeByTypeAndData(const ServerChangeType type,
|
| const ServerChangeData& data);
|
|
|
| + ServerChanges::iterator FindChangeByTypeAndData(const ServerChangeType type,
|
| + const ServerChangeData& data);
|
| +
|
| PropertyConverter* GetPropertyConverter();
|
|
|
| // WindowMus:
|
| @@ -202,6 +213,8 @@ class AURA_EXPORT WindowPortMus : public WindowPort, public WindowMus {
|
| const gfx::Rect& bounds) override;
|
| std::unique_ptr<WindowMusChangeData> PrepareForServerVisibilityChange(
|
| bool value) override;
|
| + void PrepareForTransientRestack(WindowMus* window) override;
|
| + void OnTransientRestackDone(WindowMus* window) override;
|
| void NotifyEmbeddedAppDisconnected() override;
|
|
|
| // WindowPort:
|
| @@ -223,7 +236,7 @@ class AURA_EXPORT WindowPortMus : public WindowPort, public WindowMus {
|
| Window* window_ = nullptr;
|
|
|
| ServerChangeIdType next_server_change_id_ = 0;
|
| - std::vector<ServerChange> server_changes_;
|
| + ServerChanges server_changes_;
|
|
|
| SurfaceIdHandler* surface_id_handler_;
|
| std::unique_ptr<SurfaceInfo> surface_info_;
|
|
|