#include "third_party/blink/renderer/core/paint/replaced_painter.h"
#include <optional>
#include "base/metrics/histogram_macros.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/core/highlight/highlight_style_utils.h"
#include "third_party/blink/renderer/core/layout/layout_replaced.h"
#include "third_party/blink/renderer/core/layout/layout_theme.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_root.h"
#include "third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.h"
#include "third_party/blink/renderer/core/paint/box_background_paint_context.h"
#include "third_party/blink/renderer/core/paint/box_decoration_data.h"
#include "third_party/blink/renderer/core/paint/box_model_object_painter.h"
#include "third_party/blink/renderer/core/paint/box_painter.h"
#include "third_party/blink/renderer/core/paint/box_painter_base.h"
#include "third_party/blink/renderer/core/paint/object_painter.h"
#include "third_party/blink/renderer/core/paint/paint_auto_dark_mode.h"
#include "third_party/blink/renderer/core/paint/paint_info.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
#include "third_party/blink/renderer/core/paint/rounded_border_geometry.h"
#include "third_party/blink/renderer/core/paint/scoped_paint_state.h"
#include "third_party/blink/renderer/core/paint/scrollable_area_painter.h"
#include "third_party/blink/renderer/core/paint/selection_bounds_recorder.h"
#include "third_party/blink/renderer/core/paint/theme_painter.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context_state_saver.h"
#include "third_party/blink/renderer/platform/graphics/paint/display_item_cache_skipper.h"
#include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.h"
#include "third_party/blink/renderer/platform/graphics/paint/scoped_paint_chunk_properties.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
namespace blink {
namespace {
class ScopedReplacedContentPaintState : public ScopedPaintState { … };
ScopedReplacedContentPaintState::ScopedReplacedContentPaintState(
const ScopedPaintState& input,
const LayoutReplaced& replaced)
: … { … }
}
bool ReplacedPainter::ShouldPaintBoxDecorationBackground(
const PaintInfo& paint_info) { … }
void ReplacedPainter::Paint(const PaintInfo& paint_info) { … }
bool ReplacedPainter::ShouldPaint(const ScopedPaintState& paint_state) const { … }
void ReplacedPainter::MeasureOverflowMetrics() const { … }
void ReplacedPainter::PaintBoxDecorationBackground(
const PaintInfo& paint_info,
const PhysicalOffset& paint_offset) { … }
void ReplacedPainter::PaintBoxDecorationBackgroundWithRect(
const PaintInfo& paint_info,
const gfx::Rect& visual_rect,
const PhysicalRect& paint_rect,
const DisplayItemClient& background_client) { … }
void ReplacedPainter::PaintBackground(
const PaintInfo& paint_info,
const PhysicalRect& paint_rect,
const Color& background_color,
BackgroundBleedAvoidance bleed_avoidance) { … }
void ReplacedPainter::PaintMask(const PaintInfo& paint_info,
const PhysicalOffset& paint_offset) { … }
void ReplacedPainter::PaintMaskImages(const PaintInfo& paint_info,
const PhysicalRect& paint_rect) { … }
}