#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_DOM_FOCUSGROUP_FLAGS_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_DOM_FOCUSGROUP_FLAGS_H_
#include "base/types/cxx23_to_underlying.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
namespace blink {
class Element;
namespace focusgroup {
enum FocusgroupFlags : uint8_t { … };
inline constexpr FocusgroupFlags operator&(FocusgroupFlags a,
FocusgroupFlags b) { … }
inline constexpr FocusgroupFlags operator|(FocusgroupFlags a,
FocusgroupFlags b) { … }
inline FocusgroupFlags& operator|=(FocusgroupFlags& a, FocusgroupFlags b) { … }
inline FocusgroupFlags& operator&=(FocusgroupFlags& a, FocusgroupFlags b) { … }
inline constexpr FocusgroupFlags operator~(FocusgroupFlags flags) { … }
FocusgroupFlags FindNearestFocusgroupAncestorFlags(const Element* element);
FocusgroupFlags ParseFocusgroup(const Element* element,
const AtomicString& input);
}
FocusgroupFlags;
}
#endif