#include "third_party/blink/renderer/core/layout/layout_image.h"
#include "third_party/blink/renderer/core/dom/pseudo_element.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/web_feature.h"
#include "third_party/blink/renderer/core/html/html_area_element.h"
#include "third_party/blink/renderer/core/html/html_image_element.h"
#include "third_party/blink/renderer/core/html/media/html_video_element.h"
#include "third_party/blink/renderer/core/html_names.h"
#include "third_party/blink/renderer/core/inspector/inspector_trace_events.h"
#include "third_party/blink/renderer/core/layout/hit_test_result.h"
#include "third_party/blink/renderer/core/layout/intrinsic_sizing_info.h"
#include "third_party/blink/renderer/core/layout/layout_video.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/loader/resource/image_resource_content.h"
#include "third_party/blink/renderer/core/paint/image_painter.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/timing/image_element_timing.h"
#include "third_party/blink/renderer/core/svg/graphics/svg_image.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "ui/gfx/geometry/size_conversions.h"
namespace blink {
LayoutImage::LayoutImage(Element* element)
: … { … }
LayoutImage* LayoutImage::CreateAnonymous(Document& document) { … }
LayoutImage::~LayoutImage() = default;
void LayoutImage::Trace(Visitor* visitor) const { … }
void LayoutImage::WillBeDestroyed() { … }
void LayoutImage::StyleDidChange(StyleDifference diff,
const ComputedStyle* old_style) { … }
void LayoutImage::SetImageResource(LayoutImageResource* image_resource) { … }
void LayoutImage::ImageChanged(WrappedImagePtr new_image,
CanDeferInvalidation defer) { … }
void LayoutImage::UpdateIntrinsicSizeIfNeeded(const PhysicalSize& new_size) { … }
bool LayoutImage::NeedsLayoutOnIntrinsicSizeChange() const { … }
void LayoutImage::InvalidatePaintAndMarkForLayoutIfNeeded(
CanDeferInvalidation defer) { … }
void LayoutImage::PaintReplaced(const PaintInfo& paint_info,
const PhysicalOffset& paint_offset) const { … }
void LayoutImage::Paint(const PaintInfo& paint_info) const { … }
void LayoutImage::AreaElementFocusChanged(HTMLAreaElement* area_element) { … }
bool LayoutImage::ForegroundIsKnownToBeOpaqueInRect(
const PhysicalRect& local_rect,
unsigned) const { … }
bool LayoutImage::ComputeBackgroundIsKnownToBeObscured() const { … }
HTMLMapElement* LayoutImage::ImageMap() const { … }
bool LayoutImage::NodeAtPoint(HitTestResult& result,
const HitTestLocation& hit_test_location,
const PhysicalOffset& accumulated_offset,
HitTestPhase phase) { … }
bool LayoutImage::CanApplyObjectViewBox() const { … }
void LayoutImage::ComputeIntrinsicSizingInfo(
IntrinsicSizingInfo& intrinsic_sizing_info) const { … }
SVGImage* LayoutImage::EmbeddedSVGImage() const { … }
void LayoutImage::MutableForPainting::UpdatePaintedRect(
const PhysicalRect& paint_rect) { … }
}