#include "third_party/blink/renderer/core/html/list_item_ordinal.h"
#include "base/numerics/safe_conversions.h"
#include "third_party/blink/renderer/core/dom/flat_tree_traversal.h"
#include "third_party/blink/renderer/core/dom/layout_tree_builder_traversal.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/html/html_menu_element.h"
#include "third_party/blink/renderer/core/html/html_olist_element.h"
#include "third_party/blink/renderer/core/html/html_ulist_element.h"
#include "third_party/blink/renderer/core/layout/list/layout_inline_list_item.h"
#include "third_party/blink/renderer/core/layout/list/layout_list_item.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
namespace blink {
ListItemOrdinal::ListItemOrdinal() : … { … }
bool ListItemOrdinal::IsListOwner(const Node& node) { … }
bool ListItemOrdinal::IsListItem(const LayoutObject* layout_object) { … }
bool ListItemOrdinal::IsListItem(const Node& node) { … }
bool ListItemOrdinal::IsInReversedOrderedList(const Node& node) { … }
ListItemOrdinal* ListItemOrdinal::Get(const Node& item_node) { … }
bool ListItemOrdinal::HasStyleContainment(const Node& node) { … }
Node* ListItemOrdinal::EnclosingList(const Node* list_item_node) { … }
ListItemOrdinal::NodeAndOrdinal ListItemOrdinal::NextListItem(
const Node* list_node,
const Node* item) { … }
ListItemOrdinal::NodeAndOrdinal ListItemOrdinal::PreviousListItem(
const Node* list_node,
const Node* item) { … }
ListItemOrdinal::NodeAndOrdinal ListItemOrdinal::NextOrdinalItem(
bool is_list_reversed,
const Node* list,
const Node* item) { … }
std::optional<int> ListItemOrdinal::ExplicitValue() const { … }
int ListItemOrdinal::CalcValue(const Node& item_node) const { … }
int ListItemOrdinal::Value(const Node& item_node) const { … }
void ListItemOrdinal::InvalidateSelf(const Node& item_node, ValueType type) { … }
void ListItemOrdinal::InvalidateAfter(const Node* list_node,
const Node* item_node) { … }
void ListItemOrdinal::InvalidateOrdinalsAfter(bool is_reversed,
const Node* list_node,
const Node* item_node) { … }
void ListItemOrdinal::SetExplicitValue(int value, const Node& item_node) { … }
void ListItemOrdinal::ClearExplicitValue(const Node& item_node) { … }
unsigned ListItemOrdinal::ItemCountForOrderedList(
const HTMLOListElement* list_node) { … }
void ListItemOrdinal::InvalidateAllItemsForOrderedList(
const HTMLOListElement* list_node) { … }
void ListItemOrdinal::ItemUpdated(const LayoutObject* layout_list_item,
UpdateType type) { … }
void ListItemOrdinal::ItemInsertedOrRemoved(
const LayoutObject* layout_list_item) { … }
void ListItemOrdinal::ItemCounterStyleUpdated(
const LayoutObject& layout_list_item) { … }
}