blob: 592236c299d4c8cb706e0be8eb60a857bb3f25db [file] [log] [blame]
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_TABS_TABS_MOJOM_TRAITS_H_
#define CHROME_BROWSER_UI_WEBUI_TABS_TABS_MOJOM_TRAITS_H_
#include "chrome/browser/ui/tabs/alert/tab_alert.h"
#include "chrome/browser/ui/tabs/tab_network_state.h"
#include "chrome/browser/ui/webui/tabs/tabs.mojom.h"
// TODO(crbug.com/403572608) Autogenerate traits for simple enum cases.
namespace mojo {
using MojoTabNetworkState = tabs::mojom::TabNetworkState;
using NativeTabNetworkState = enum TabNetworkState;
// TabNetworkState Enum mapping.
template <>
struct EnumTraits<MojoTabNetworkState, NativeTabNetworkState> {
static MojoTabNetworkState ToMojom(NativeTabNetworkState input);
static bool FromMojom(MojoTabNetworkState in, NativeTabNetworkState* out);
};
using MojoTabAlertState = tabs::mojom::TabAlertState;
using NativeTabAlertState = enum tabs::TabAlert;
// TabAlertState Enum mapping.
template <>
struct EnumTraits<MojoTabAlertState, NativeTabAlertState> {
static MojoTabAlertState ToMojom(NativeTabAlertState input);
static bool FromMojom(MojoTabAlertState in, NativeTabAlertState* out);
};
} // namespace mojo
#endif // CHROME_BROWSER_UI_WEBUI_TABS_TABS_MOJOM_TRAITS_H_