chromium/third_party/blink/renderer/core/style/position_try_fallbacks.h

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

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_STYLE_POSITION_TRY_FALLBACKS_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_STYLE_POSITION_TRY_FALLBACKS_H_

#include <array>

#include "third_party/blink/renderer/core/style/computed_style_constants.h"
#include "third_party/blink/renderer/core/style/position_area.h"
#include "third_party/blink/renderer/core/style/scoped_css_name.h"
#include "third_party/blink/renderer/platform/wtf/hash_set.h"

namespace blink {

// https://drafts.csswg.org/css-anchor-position-1/#typedef-position-try-fallbacks-try-tactic
//
// Note that we have to preserve the individual "flips"
// in the order they were specified.
TryTacticList;

static inline constexpr TryTacticList kNoTryTactics =;

class CORE_EXPORT PositionTryFallback {};

class CORE_EXPORT PositionTryFallbacks
    : public GarbageCollected<PositionTryFallbacks> {};

}  // namespace blink

namespace WTF {

template <>
struct VectorTraits<blink::PositionTryFallback>
    : VectorTraitsBase<blink::PositionTryFallback> {};

}  // namespace WTF

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_STYLE_POSITION_TRY_FALLBACKS_H_