Index: components/mus/ws/ids.h |
diff --git a/components/mus/ws/ids.h b/components/mus/ws/ids.h |
deleted file mode 100644 |
index 3cdf4b29b8781175923886859e4b30393ba9572b..0000000000000000000000000000000000000000 |
--- a/components/mus/ws/ids.h |
+++ /dev/null |
@@ -1,113 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef COMPONENTS_MUS_WS_IDS_H_ |
-#define COMPONENTS_MUS_WS_IDS_H_ |
- |
-#include <stdint.h> |
- |
-#include <tuple> |
- |
-#include "base/containers/hash_tables.h" |
-#include "base/hash.h" |
-#include "components/mus/common/types.h" |
-#include "components/mus/common/util.h" |
- |
-namespace mus { |
-namespace ws { |
- |
-// A client id used to indicate no client. That is, no WindowTree ever gets this |
-// id. |
-const ClientSpecificId kInvalidClientId = 0; |
- |
-// Every window has a unique id associated with it (WindowId). The id is a |
-// combination of the id assigned to the client (the high order bits) and |
-// a unique id for the window. Each client (WindowTree) refers to the window |
-// by an id assigned by the client (ClientWindowId). To facilitate this |
-// WindowTree maintains a mapping between WindowId and ClientWindowId. |
-// |
-// This model works when the client initiates creation of windows, which is |
-// the typical use case. Embed roots and the WindowManager are special, they |
-// get access to windows created by other clients. These clients see the |
-// id assigned on the server. Such clients have to take care that they only |
-// create windows using their client id. To do otherwise could result in |
-// multiple windows having the same ClientWindowId. WindowTree enforces |
-// that embed roots use the client id in creating the window id to avoid |
-// possible conflicts. |
-struct WindowId { |
- WindowId(ClientSpecificId client_id, ClientSpecificId window_id) |
- : client_id(client_id), window_id(window_id) {} |
- WindowId() : client_id(0), window_id(0) {} |
- |
- bool operator==(const WindowId& other) const { |
- return other.client_id == client_id && other.window_id == window_id; |
- } |
- |
- bool operator!=(const WindowId& other) const { return !(*this == other); } |
- |
- bool operator<(const WindowId& other) const { |
- return std::tie(client_id, window_id) < |
- std::tie(other.client_id, other.window_id); |
- } |
- |
- ClientSpecificId client_id; |
- ClientSpecificId window_id; |
-}; |
- |
-// Used for ids assigned by the client. |
-struct ClientWindowId { |
- explicit ClientWindowId(Id id) : id(id) {} |
- ClientWindowId() : id(0u) {} |
- |
- bool operator==(const ClientWindowId& other) const { return other.id == id; } |
- |
- bool operator!=(const ClientWindowId& other) const { |
- return !(*this == other); |
- } |
- |
- bool operator<(const ClientWindowId& other) const { return id < other.id; } |
- |
- Id id; |
-}; |
- |
-inline WindowId WindowIdFromTransportId(Id id) { |
- return WindowId(HiWord(id), LoWord(id)); |
-} |
-inline Id WindowIdToTransportId(const WindowId& id) { |
- return (id.client_id << 16) | id.window_id; |
-} |
- |
-// Returns a WindowId that is reserved to indicate no window. That is, no window |
-// will ever be created with this id. |
-inline WindowId InvalidWindowId() { |
- return WindowId(kInvalidClientId, 0); |
-} |
- |
-// Returns a root window id with a given index offset. |
-inline WindowId RootWindowId(uint16_t index) { |
- return WindowId(kInvalidClientId, 2 + index); |
-} |
- |
-} // namespace ws |
-} // namespace mus |
- |
-namespace BASE_HASH_NAMESPACE { |
- |
-template <> |
-struct hash<mus::ws::ClientWindowId> { |
- size_t operator()(const mus::ws::ClientWindowId& id) const { |
- return hash<mus::Id>()(id.id); |
- } |
-}; |
- |
-template <> |
-struct hash<mus::ws::WindowId> { |
- size_t operator()(const mus::ws::WindowId& id) const { |
- return hash<mus::Id>()(WindowIdToTransportId(id)); |
- } |
-}; |
- |
-} // namespace BASE_HASH_NAMESPACE |
- |
-#endif // COMPONENTS_MUS_WS_IDS_H_ |