#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LOCAL_FRAME_VIEW_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LOCAL_FRAME_VIEW_H_
#include <memory>
#include "base/auto_reset.h"
#include "base/dcheck_is_on.h"
#include "base/functional/callback_forward.h"
#include "base/functional/function_ref.h"
#include "base/gtest_prod_util.h"
#include "base/time/time.h"
#include "third_party/blink/public/common/metrics/document_update_reason.h"
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/frame/viewport_intersection_state.mojom-blink.h"
#include "third_party/blink/public/mojom/scroll/scroll_into_view_params.mojom-blink-forward.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/document_lifecycle.h"
#include "third_party/blink/renderer/core/frame/frame_view.h"
#include "third_party/blink/renderer/core/frame/layout_subtree_root_list.h"
#include "third_party/blink/renderer/core/frame/overlay_interstitial_ad_detector.h"
#include "third_party/blink/renderer/core/frame/sticky_ad_detector.h"
#include "third_party/blink/renderer/core/layout/hit_test_request.h"
#include "third_party/blink/renderer/core/paint/layout_object_counter.h"
#include "third_party/blink/renderer/core/view_transition/view_transition_request_forward.h"
#include "third_party/blink/renderer/platform/graphics/color.h"
#include "third_party/blink/renderer/platform/graphics/compositor_element_id.h"
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
#include "third_party/blink/renderer/platform/graphics/paint_invalidation_reason.h"
#include "third_party/blink/renderer/platform/graphics/subtree_paint_property_update_reason.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_map.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_linked_hash_set.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cancellable_task.h"
#include "third_party/blink/renderer/platform/timer.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "ui/gfx/geometry/point_f.h"
#include "ui/gfx/geometry/rect.h"
namespace cc {
class AnimationHost;
class AnimationTimeline;
class Layer;
class PaintRecord;
enum class PaintHoldingCommitTrigger;
struct PaintBenchmarkResult;
}
namespace gfx {
class SizeF;
}
namespace ui {
class Cursor;
}
namespace blink {
class AXObjectCache;
class ChromeClient;
class DarkModeFilter;
class DocumentLifecycle;
class Element;
class FragmentAnchor;
class Frame;
class FrameViewAutoSizeInfo;
class HTMLVideoElement;
class HitTestLocation;
class HitTestResult;
class JSONObject;
class KURL;
class LayoutBox;
class LayoutBoxModelObject;
class LayoutEmbeddedObject;
class LayoutObject;
class LayoutShiftTracker;
class LayoutSVGRoot;
class LayoutView;
class LocalFrame;
class MobileFriendlinessChecker;
class Page;
class PaginationState;
class PaintArtifact;
class PaintArtifactCompositor;
class PaintController;
class PaintControllerPersistentData;
class PaintLayer;
class PaintLayerScrollableArea;
class PaintTimingDetector;
class RemoteFrameView;
class RootFrameViewport;
class ScrollableArea;
class Scrollbar;
class TapFriendlinessChecker;
class TransformState;
class LocalFrameUkmAggregator;
class WebPluginContainerImpl;
struct DraggableRegionValue;
struct IntrinsicSizingInfo;
struct PhysicalOffset;
struct PhysicalRect;
enum class PaintBenchmarkMode;
DOMTimeStamp;
LayerTreeFlags;
MainThreadScrollingReasons;
struct LifecycleData { … };
class CORE_EXPORT LocalFrameView final
: public GarbageCollected<LocalFrameView>,
public FrameView { … };
inline void LocalFrameView::IncrementVisuallyNonEmptyCharacterCount(
unsigned count) { … }
inline void LocalFrameView::IncrementVisuallyNonEmptyPixelCount(
const gfx::Size& size) { … }
template <>
struct DowncastTraits<LocalFrameView> { … };
}
#endif