#include "third_party/blink/renderer/core/paint/timing/image_element_timing.h"
#include "base/time/time.h"
#include "components/viz/common/frame_timing_details.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/loader/resource/image_resource_content.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/paint/timing/element_timing_utils.h"
#include "third_party/blink/renderer/core/style/style_fetched_image.h"
#include "third_party/blink/renderer/core/timing/dom_window_performance.h"
#include "third_party/blink/renderer/core/timing/window_performance.h"
#include "third_party/blink/renderer/platform/graphics/paint/property_tree_state.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
namespace blink {
namespace internal {
bool CORE_EXPORT
IsExplicitlyRegisteredForTiming(const LayoutObject& layout_object) { … }
}
const char ImageElementTiming::kSupplementName[] = …;
AtomicString ImagePaintString() { … }
ImageElementTiming& ImageElementTiming::From(LocalDOMWindow& window) { … }
ImageElementTiming::ImageElementTiming(LocalDOMWindow& window)
: … { … }
void ImageElementTiming::NotifyImageFinished(
const LayoutObject& layout_object,
const ImageResourceContent* cached_image) { … }
void ImageElementTiming::NotifyBackgroundImageFinished(
const StyleFetchedImage* style_image) { … }
base::TimeTicks ImageElementTiming::GetBackgroundImageLoadTime(
const StyleImage* style_image) { … }
void ImageElementTiming::NotifyImagePainted(
const LayoutObject& layout_object,
const ImageResourceContent& cached_image,
const PropertyTreeStateOrAlias& current_paint_chunk_properties,
const gfx::Rect& image_border) { … }
void ImageElementTiming::NotifyImagePaintedInternal(
Node& node,
const LayoutObject& layout_object,
const ImageResourceContent& cached_image,
const PropertyTreeStateOrAlias& current_paint_chunk_properties,
base::TimeTicks load_time,
const gfx::Rect& image_border) { … }
void ImageElementTiming::NotifyBackgroundImagePainted(
Node& node,
const StyleImage& background_image,
const PropertyTreeStateOrAlias& current_paint_chunk_properties,
const gfx::Rect& image_border) { … }
void ImageElementTiming::ReportImagePaintPresentationTime(
const viz::FrameTimingDetails& presentation_details) { … }
void ImageElementTiming::NotifyImageRemoved(const LayoutObject* layout_object,
const ImageResourceContent* image) { … }
void ImageElementTiming::Trace(Visitor* visitor) const { … }
}