#include "third_party/blink/renderer/core/css/resolver/style_adjuster.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/renderer/core/css/properties/longhands.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver_state.h"
#include "third_party/blink/renderer/core/css/style_change_reason.h"
#include "third_party/blink/renderer/core/css/style_engine.h"
#include "third_party/blink/renderer/core/dom/container_node.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/dom/flat_tree_traversal.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/dom/pseudo_element.h"
#include "third_party/blink/renderer/core/dom/shadow_root.h"
#include "third_party/blink/renderer/core/frame/event_handler_registry.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/frame/settings.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/core/fullscreen/fullscreen.h"
#include "third_party/blink/renderer/core/html/canvas/html_canvas_element.h"
#include "third_party/blink/renderer/core/html/fenced_frame/html_fenced_frame_element.h"
#include "third_party/blink/renderer/core/html/forms/html_field_set_element.h"
#include "third_party/blink/renderer/core/html/forms/html_input_element.h"
#include "third_party/blink/renderer/core/html/forms/html_legend_element.h"
#include "third_party/blink/renderer/core/html/forms/html_select_element.h"
#include "third_party/blink/renderer/core/html/forms/html_text_area_element.h"
#include "third_party/blink/renderer/core/html/html_body_element.h"
#include "third_party/blink/renderer/core/html/html_br_element.h"
#include "third_party/blink/renderer/core/html/html_dialog_element.h"
#include "third_party/blink/renderer/core/html/html_frame_element.h"
#include "third_party/blink/renderer/core/html/html_frame_set_element.h"
#include "third_party/blink/renderer/core/html/html_html_element.h"
#include "third_party/blink/renderer/core/html/html_iframe_element.h"
#include "third_party/blink/renderer/core/html/html_image_element.h"
#include "third_party/blink/renderer/core/html/html_marquee_element.h"
#include "third_party/blink/renderer/core/html/html_meter_element.h"
#include "third_party/blink/renderer/core/html/html_olist_element.h"
#include "third_party/blink/renderer/core/html/html_plugin_element.h"
#include "third_party/blink/renderer/core/html/html_progress_element.h"
#include "third_party/blink/renderer/core/html/html_script_element.h"
#include "third_party/blink/renderer/core/html/html_span_element.h"
#include "third_party/blink/renderer/core/html/html_style_element.h"
#include "third_party/blink/renderer/core/html/html_table_cell_element.h"
#include "third_party/blink/renderer/core/html/html_table_element.h"
#include "third_party/blink/renderer/core/html/html_ulist_element.h"
#include "third_party/blink/renderer/core/html/html_wbr_element.h"
#include "third_party/blink/renderer/core/html/media/html_media_element.h"
#include "third_party/blink/renderer/core/html/shadow/shadow_element_names.h"
#include "third_party/blink/renderer/core/html_names.h"
#include "third_party/blink/renderer/core/input_type_names.h"
#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
#include "third_party/blink/renderer/core/layout/layout_theme.h"
#include "third_party/blink/renderer/core/layout/list/list_marker.h"
#include "third_party/blink/renderer/core/mathml/mathml_element.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/style_intrinsic_length.h"
#include "third_party/blink/renderer/core/svg/svg_foreign_object_element.h"
#include "third_party/blink/renderer/core/svg/svg_g_element.h"
#include "third_party/blink/renderer/core/svg/svg_svg_element.h"
#include "third_party/blink/renderer/core/svg/svg_text_element.h"
#include "third_party/blink/renderer/core/svg/svg_tspan_element.h"
#include "third_party/blink/renderer/core/svg/svg_use_element.h"
#include "third_party/blink/renderer/core/svg_names.h"
#include "third_party/blink/renderer/platform/geometry/length.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/transforms/transform_operations.h"
#include "ui/base/ui_base_features.h"
namespace blink {
FormControlType;
namespace {
bool IsOverflowClipOrVisible(EOverflow overflow) { … }
TouchAction AdjustTouchActionForElement(TouchAction touch_action,
const ComputedStyleBuilder& builder,
const ComputedStyle& parent_style,
Element* element) { … }
bool HostIsInputFile(const Element* element) { … }
void AdjustStyleForSvgElement(const SVGElement& element,
ComputedStyleBuilder& builder) { … }
bool ElementForcesStackingContext(Element* element) { … }
}
static EDisplay EquivalentBlockDisplay(EDisplay display) { … }
static EDisplay EquivalentInlineDisplay(EDisplay display) { … }
static bool IsOutermostSVGElement(const Element* element) { … }
static bool IsAtMediaUAShadowBoundary(const Element* element) { … }
static bool StopPropagateTextDecorations(const ComputedStyleBuilder& builder,
const Element* element) { … }
static bool LayoutParentStyleForcesZIndexToCreateStackingContext(
const ComputedStyle& layout_parent_style) { … }
void StyleAdjuster::AdjustStyleForEditing(ComputedStyleBuilder& builder,
Element* element) { … }
void StyleAdjuster::AdjustStyleForTextCombine(ComputedStyleBuilder& builder) { … }
void StyleAdjuster::AdjustStyleForCombinedText(ComputedStyleBuilder& builder) { … }
static void AdjustStyleForFirstLetter(ComputedStyleBuilder& builder) { … }
static void AdjustStyleForMarker(ComputedStyleBuilder& builder,
const ComputedStyle& parent_style,
const Element& parent_element) { … }
static void AdjustStyleForHTMLElement(ComputedStyleBuilder& builder,
HTMLElement& element) { … }
void StyleAdjuster::AdjustOverflow(ComputedStyleBuilder& builder,
Element* element) { … }
static void AdjustStyleForDisplay(ComputedStyleBuilder& builder,
const ComputedStyle& layout_parent_style,
const Element* element,
Document* document) { … }
bool StyleAdjuster::IsEditableElement(Element* element,
const ComputedStyleBuilder& builder) { … }
bool StyleAdjuster::IsPasswordFieldWithUnrevealedPassword(Element* element) { … }
void StyleAdjuster::AdjustEffectiveTouchAction(
ComputedStyleBuilder& builder,
const ComputedStyle& parent_style,
Element* element,
bool is_svg_root) { … }
static void AdjustStyleForInert(ComputedStyleBuilder& builder,
Element* element) { … }
void StyleAdjuster::AdjustForForcedColorsMode(ComputedStyleBuilder& builder,
Document& document) { … }
void StyleAdjuster::AdjustForSVGTextElement(ComputedStyleBuilder& builder) { … }
void StyleAdjuster::AdjustComputedStyle(StyleResolverState& state,
Element* element) { … }
}