| 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_
|
|
|