#include "third_party/blink/renderer/core/layout/layout_tree_as_text.h"
#include "third_party/blink/renderer/core/css/css_property_value_set.h"
#include "third_party/blink/renderer/core/css/css_value_id_mappings.h"
#include "third_party/blink/renderer/core/css/properties/longhands.h"
#include "third_party/blink/renderer/core/display_lock/display_lock_context.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/pseudo_element.h"
#include "third_party/blink/renderer/core/editing/frame_selection.h"
#include "third_party/blink/renderer/core/editing/visible_selection.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/html/html_element.h"
#include "third_party/blink/renderer/core/html_names.h"
#include "third_party/blink/renderer/core/layout/inline/fragment_item.h"
#include "third_party/blink/renderer/core/layout/inline/inline_cursor.h"
#include "third_party/blink/renderer/core/layout/layout_block_flow.h"
#include "third_party/blink/renderer/core/layout/layout_embedded_content.h"
#include "third_party/blink/renderer/core/layout/layout_inline.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/layout/list/layout_list_item.h"
#include "third_party/blink/renderer/core/layout/list/list_marker.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_image.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_inline.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_inline_text.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_root.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_shape.h"
#include "third_party/blink/renderer/core/layout/svg/svg_layout_tree_as_text.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_cell.h"
#include "third_party/blink/renderer/core/page/print_context.h"
#include "third_party/blink/renderer/core/paint/fragment_data_iterator.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/paint_layer_paint_order_iterator.h"
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
#include "third_party/blink/renderer/platform/geometry/layout_unit.h"
#include "third_party/blink/renderer/platform/wtf/text/character_names.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
static void PrintBorderStyle(WTF::TextStream& ts,
const EBorderStyle border_style) { … }
static String GetTagName(Node* n) { … }
String QuoteAndEscapeNonPrintables(const String& s) { … }
WTF::TextStream& operator<<(WTF::TextStream& ts, const Color& c) { … }
WTF::TextStream& operator<<(WTF::TextStream& ts, const LayoutPoint& point) { … }
WTF::TextStream& operator<<(WTF::TextStream& ts, const gfx::Point& p) { … }
WTF::TextStream& operator<<(WTF::TextStream& ts, const gfx::Size& s) { … }
WTF::TextStream& operator<<(WTF::TextStream& ts, const gfx::SizeF& s) { … }
WTF::TextStream& operator<<(WTF::TextStream& ts, const gfx::PointF& p) { … }
WTF::TextStream& operator<<(WTF::TextStream& ts, const gfx::RectF& r) { … }
void LayoutTreeAsText::WriteLayoutObject(WTF::TextStream& ts,
const LayoutObject& o,
LayoutAsTextBehavior behavior) { … }
static void WriteTextFragment(WTF::TextStream& ts,
PhysicalRect rect,
StringView text,
LayoutUnit inline_size) { … }
static void WriteTextFragment(WTF::TextStream& ts, const InlineCursor& cursor) { … }
static void WritePaintProperties(WTF::TextStream& ts,
const LayoutObject& o,
int indent) { … }
void Write(WTF::TextStream& ts,
const LayoutObject& o,
int indent,
LayoutAsTextBehavior behavior) { … }
enum LayerPaintPhase { … };
static void Write(WTF::TextStream& ts,
PaintLayer& layer,
const PhysicalOffset& layer_offset,
LayerPaintPhase paint_phase = kLayerPaintPhaseAll,
int indent = 0,
LayoutAsTextBehavior behavior = kLayoutAsTextBehaviorNormal,
const PaintLayer* marked_layer = nullptr) { … }
static HeapVector<Member<PaintLayer>> ChildLayers(
const PaintLayer* layer,
PaintLayerIteration which_children) { … }
void LayoutTreeAsText::WriteLayers(WTF::TextStream& ts,
PaintLayer* layer,
int indent,
LayoutAsTextBehavior behavior,
const PaintLayer* marked_layer) { … }
static String NodePosition(Node* node) { … }
static void WriteSelection(WTF::TextStream& ts, const LayoutObject* o) { … }
static String ExternalRepresentation(LayoutBox* layout_object,
LayoutAsTextBehavior behavior,
const PaintLayer* marked_layer = nullptr) { … }
String ExternalRepresentation(LocalFrame* frame,
LayoutAsTextBehavior behavior,
const PaintLayer* marked_layer) { … }
String ExternalRepresentation(Element* element, LayoutAsTextBehavior behavior) { … }
static void WriteCounterValuesFromChildren(WTF::TextStream& stream,
LayoutObject* parent,
bool& is_first_counter) { … }
String CounterValueForElement(Element* element) { … }
String MarkerTextForListItem(Element* element) { … }
}