#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/core/css/counter_style.h"
#include "base/auto_reset.h"
#include "third_party/blink/renderer/core/css/counter_style_map.h"
#include "third_party/blink/renderer/core/css/css_custom_ident_value.h"
#include "third_party/blink/renderer/core/css/css_identifier_value.h"
#include "third_party/blink/renderer/core/css/css_string_value.h"
#include "third_party/blink/renderer/core/css/css_value_list.h"
#include "third_party/blink/renderer/core/css/css_value_pair.h"
#include "third_party/blink/renderer/core/css/style_rule_counter_style.h"
#include "third_party/blink/renderer/core/css_value_keywords.h"
#include "third_party/blink/renderer/core/keywords.h"
#include "third_party/blink/renderer/platform/text/text_break_iterator.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
namespace {
const wtf_size_t kCounterLengthLimit = …;
const CounterStyle& GetDisc() { … }
bool HasSymbols(CounterStyleSystem system) { … }
String SymbolToString(const CSSValue& value) { … }
std::pair<int, int> BoundsToIntegerPair(const CSSValuePair& bounds) { … }
Vector<wtf_size_t> CyclicAlgorithm(int value, wtf_size_t num_symbols) { … }
Vector<wtf_size_t> FixedAlgorithm(int value,
int first_symbol_value,
wtf_size_t num_symbols) { … }
Vector<wtf_size_t> SymbolicAlgorithm(unsigned value, wtf_size_t num_symbols) { … }
Vector<wtf_size_t> AlphabeticAlgorithm(unsigned value, wtf_size_t num_symbols) { … }
Vector<wtf_size_t> NumericAlgorithm(unsigned value, wtf_size_t num_symbols) { … }
Vector<wtf_size_t> AdditiveAlgorithm(unsigned value,
const Vector<unsigned>& weights) { … }
enum CJKLang { … };
enum CJKStyle { … };
String CJKIdeoGraphicAlgorithm(unsigned number,
const UChar table[21],
CJKStyle cjk_style) { … }
String SimpChineseInformalAlgorithm(unsigned value) { … }
String SimpChineseFormalAlgorithm(unsigned value) { … }
String TradChineseInformalAlgorithm(unsigned value) { … }
String TradChineseFormalAlgorithm(unsigned value) { … }
String KoreanHangulFormalAlgorithm(unsigned value) { … }
String KoreanHanjaInformalAlgorithm(unsigned value) { … }
String KoreanHanjaFormalAlgorithm(unsigned value) { … }
String HebrewAlgorithmUnder1000(unsigned number) { … }
String HebrewAlgorithm(unsigned number) { … }
String ArmenianAlgorithmUnder10000(unsigned number,
bool upper,
bool add_circumflex) { … }
String ArmenianAlgorithm(unsigned number, bool upper) { … }
String EthiopicNumericAlgorithm(unsigned value) { … }
}
CounterStyle& CounterStyle::GetDecimal() { … }
CounterStyleSystem CounterStyle::ToCounterStyleSystemEnum(
const CSSValue* value) { … }
CounterStyleSpeakAs ToCounterStyleSpeakAsEnum(
const CSSIdentifierValue& keyword) { … }
CounterStyle::~CounterStyle() = default;
AtomicString CounterStyle::GetName() const { … }
CounterStyle* CounterStyle::Create(const StyleRuleCounterStyle& rule) { … }
CounterStyle::CounterStyle(const StyleRuleCounterStyle& rule)
: … { … }
void CounterStyle::ResolveExtends(CounterStyle& extended) { … }
bool CounterStyle::RangeContains(int value) const { … }
bool CounterStyle::NeedsNegativeSign(int value) const { … }
String CounterStyle::GenerateFallbackRepresentation(int value) const { … }
String CounterStyle::GenerateRepresentation(int value) const { … }
String CounterStyle::GenerateInitialRepresentation(int value) const { … }
String CounterStyle::IndexesToString(
const Vector<wtf_size_t>& symbol_indexes) const { … }
void CounterStyle::TraverseAndMarkDirtyIfNeeded(
HeapHashSet<Member<CounterStyle>>& visited_counter_styles) { … }
CounterStyleSpeakAs CounterStyle::EffectiveSpeakAs() const { … }
String CounterStyle::GenerateTextAlternative(int value) const { … }
String CounterStyle::GenerateTextAlternativeWithoutPrefixSuffix(
int value) const { … }
void CounterStyle::Trace(Visitor* visitor) const { … }
}