#include "third_party/blink/renderer/core/layout/list/list_marker.h"
#include "third_party/blink/renderer/core/accessibility/ax_object_cache.h"
#include "third_party/blink/renderer/core/css/counter_style.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/layout/geometry/logical_rect.h"
#include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
#include "third_party/blink/renderer/core/layout/layout_image_resource_style_image.h"
#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
#include "third_party/blink/renderer/core/layout/layout_text_fragment.h"
#include "third_party/blink/renderer/core/layout/list/layout_inline_list_item.h"
#include "third_party/blink/renderer/core/layout/list/layout_inside_list_marker.h"
#include "third_party/blink/renderer/core/layout/list/layout_list_item.h"
#include "third_party/blink/renderer/core/layout/list/layout_list_marker_image.h"
#include "third_party/blink/renderer/core/layout/list/layout_outside_list_marker.h"
#include "third_party/blink/renderer/core/style/list_style_type_data.h"
namespace blink {
const int kCMarkerPaddingPx = …;
const int kCUAMarkerMarginEm = …;
const float kClosureMarkerMarginEm = …;
namespace {
LayoutUnit DisclosureSymbolSize(const ComputedStyle& style) { … }
void DestroyLayoutObject(LayoutObject* layout_object) { … }
}
ListMarker::ListMarker() : … { … }
const ListMarker* ListMarker::Get(const LayoutObject* marker) { … }
ListMarker* ListMarker::Get(LayoutObject* marker) { … }
LayoutObject* ListMarker::MarkerFromListItem(const LayoutObject* list_item) { … }
LayoutObject* ListMarker::ListItem(const LayoutObject& marker) const { … }
int ListMarker::ListItemValue(const LayoutObject& list_item) const { … }
void ListMarker::ListStyleTypeChanged(LayoutObject& marker) { … }
void ListMarker::CounterStyleChanged(LayoutObject& marker) { … }
void ListMarker::OrdinalValueChanged(LayoutObject& marker) { … }
LayoutObject* ListMarker::GetContentChild(const LayoutObject& marker) const { … }
LayoutTextFragment& ListMarker::GetTextChild(const LayoutObject& marker) const { … }
void ListMarker::UpdateMarkerText(LayoutObject& marker) { … }
ListMarker::MarkerTextType ListMarker::MarkerText(
const LayoutObject& marker,
StringBuilder* text,
MarkerTextFormat format) const { … }
String ListMarker::MarkerTextWithSuffix(const LayoutObject& marker) const { … }
String ListMarker::MarkerTextWithoutSuffix(const LayoutObject& marker) const { … }
String ListMarker::TextAlternative(const LayoutObject& marker) const { … }
void ListMarker::UpdateMarkerContentIfNeeded(LayoutObject& marker) { … }
LayoutObject* ListMarker::SymbolMarkerLayoutText(
const LayoutObject& marker) const { … }
bool ListMarker::IsMarkerImage(const LayoutObject& marker) const { … }
LayoutUnit ListMarker::WidthOfSymbol(const ComputedStyle& style,
const AtomicString& list_style) { … }
std::pair<LayoutUnit, LayoutUnit> ListMarker::InlineMarginsForInside(
Document& document,
const ComputedStyleBuilder& marker_style_builder,
const ComputedStyle& list_item_style) { … }
std::pair<LayoutUnit, LayoutUnit> ListMarker::InlineMarginsForOutside(
Document& document,
const ComputedStyle& marker_style,
const ComputedStyle& list_item_style,
LayoutUnit marker_inline_size) { … }
PhysicalRect ListMarker::RelativeSymbolMarkerRect(
const ComputedStyle& style,
const AtomicString& list_style,
LayoutUnit width) { … }
const CounterStyle& ListMarker::GetCounterStyle(Document& document,
const ComputedStyle& style) { … }
ListMarker::ListStyleCategory ListMarker::GetListStyleCategory(
Document& document,
const ComputedStyle& style) { … }
}