chromium/components/sessions/core/session_types.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SESSIONS_CORE_SESSION_TYPES_H_
#define COMPONENTS_SESSIONS_CORE_SESSION_TYPES_H_

#include <algorithm>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <vector>

#include "base/time/time.h"
#include "base/token.h"
#include "build/chromeos_buildflags.h"
#include "components/sessions/core/serialized_navigation_entry.h"
#include "components/sessions/core/serialized_user_agent_override.h"
#include "components/sessions/core/session_id.h"
#include "components/sessions/core/sessions_export.h"
#include "components/tab_groups/tab_group_id.h"
#include "components/tab_groups/tab_group_visual_data.h"
#include "components/variations/variations_associated_data.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/base/ui_base_types.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/geometry/rect.h"
#include "url/gurl.h"

namespace sessions {

// SessionTab ----------------------------------------------------------------

// SessionTab corresponds to a NavigationController.
struct SESSIONS_EXPORT SessionTab {};

// SessionTabGroup -----------------------------------------------------------

// Describes a tab group referenced by some SessionTab entry in its group
// field. By default, this is initialized with placeholder values that are
// visually obvious.
struct SESSIONS_EXPORT SessionTabGroup {};

// SessionWindow -------------------------------------------------------------

// Describes a saved window.
struct SESSIONS_EXPORT SessionWindow {};

}  // namespace sessions

#endif  // COMPONENTS_SESSIONS_CORE_SESSION_TYPES_H_