#include "third_party/blink/renderer/core/dom/pseudo_element.h"
#include <utility>
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/css/style_containment_scope_tree.h"
#include "third_party/blink/renderer/core/dom/element_rare_data_vector.h"
#include "third_party/blink/renderer/core/dom/first_letter_pseudo_element.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/dom/scroll_button_pseudo_element.h"
#include "third_party/blink/renderer/core/dom/scroll_marker_group_pseudo_element.h"
#include "third_party/blink/renderer/core/dom/scroll_marker_pseudo_element.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/core/html/forms/html_input_element.h"
#include "third_party/blink/renderer/core/input_type_names.h"
#include "third_party/blink/renderer/core/layout/generated_children.h"
#include "third_party/blink/renderer/core/layout/layout_counter.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/layout/layout_quote.h"
#include "third_party/blink/renderer/core/layout/list/list_marker.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/core/style/computed_style.h"
#include "third_party/blink/renderer/core/style/computed_style_constants.h"
#include "third_party/blink/renderer/core/style/content_data.h"
#include "third_party/blink/renderer/core/view_transition/view_transition.h"
#include "third_party/blink/renderer/core/view_transition/view_transition_pseudo_element_base.h"
#include "third_party/blink/renderer/core/view_transition/view_transition_utils.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
namespace blink {
FormControlType;
namespace {
PseudoId ResolvePseudoIdAlias(PseudoId pseudo_id) { … }
}
PseudoElement* PseudoElement::Create(Element* parent,
PseudoId pseudo_id,
const AtomicString& view_transition_name) { … }
const QualifiedName& PseudoElementTagName(PseudoId pseudo_id) { … }
AtomicString PseudoElement::PseudoElementNameForEvents(Element* element) { … }
PseudoId PseudoElement::GetPseudoIdForStyling() const { … }
bool PseudoElement::IsWebExposed(PseudoId pseudo_id, const Node* parent) { … }
PseudoElement::PseudoElement(Element* parent,
PseudoId pseudo_id,
const AtomicString& view_transition_name)
: … { … }
const ComputedStyle* PseudoElement::CustomStyleForLayoutObject(
const StyleRecalcContext& style_recalc_context) { … }
const ComputedStyle* PseudoElement::LayoutStyleForDisplayContents(
const ComputedStyle& style) { … }
void PseudoElement::Dispose() { … }
PseudoElement::AttachLayoutTreeScope::AttachLayoutTreeScope(
PseudoElement* element)
: … { … }
PseudoElement::AttachLayoutTreeScope::~AttachLayoutTreeScope() { … }
void PseudoElement::AttachLayoutTree(AttachContext& context) { … }
bool PseudoElement::CanGenerateContent() const { … }
bool PseudoElement::LayoutObjectIsNeeded(const DisplayStyle& style) const { … }
bool PseudoElement::CanGeneratePseudoElement(PseudoId pseudo_id) const { … }
Node* PseudoElement::InnerNodeForHitTesting() { … }
void PseudoElement::AccessKeyAction(
SimulatedClickCreationScope creation_scope) { … }
Element* PseudoElement::OriginatingElement() const { … }
bool PseudoElementLayoutObjectIsNeeded(PseudoId pseudo_id,
const ComputedStyle* pseudo_style,
const Element* originating_element) { … }
bool PseudoElementLayoutObjectIsNeeded(PseudoId pseudo_id,
const DisplayStyle& pseudo_style,
const Element* originating_element) { … }
}