#include "third_party/blink/renderer/core/frame/remote_frame_view.h"
#include <algorithm>
#include "components/paint_preview/common/paint_preview_tracker.h"
#include "printing/buildflags/buildflags.h"
#include "third_party/blink/public/common/frame/frame_owner_element_type.h"
#include "third_party/blink/public/common/page/page_zoom.h"
#include "third_party/blink/renderer/core/dom/document.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/remote_frame.h"
#include "third_party/blink/renderer/core/frame/remote_frame_client.h"
#include "third_party/blink/renderer/core/html/html_frame_owner_element.h"
#include "third_party/blink/renderer/core/layout/layout_embedded_content.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
#include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.h"
#include "third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.h"
#include "third_party/blink/renderer/platform/widget/frame_widget.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/transform_util.h"
#if BUILDFLAG(ENABLE_PRINTING)
#include "printing/metafile_skia.h"
#endif
namespace blink {
RemoteFrameView::RemoteFrameView(RemoteFrame* remote_frame)
: … { … }
RemoteFrameView::~RemoteFrameView() = default;
LocalFrameView* RemoteFrameView::ParentFrameView() const { … }
LayoutEmbeddedContent* RemoteFrameView::GetLayoutEmbeddedContent() const { … }
LocalFrameView* RemoteFrameView::ParentLocalRootFrameView() const { … }
void RemoteFrameView::AttachToLayout() { … }
void RemoteFrameView::DetachFromLayout() { … }
bool RemoteFrameView::UpdateViewportIntersectionsForSubtree(
unsigned parent_flags,
ComputeIntersectionsContext&) { … }
void RemoteFrameView::SetViewportIntersection(
const mojom::blink::ViewportIntersectionState& intersection_state) { … }
void RemoteFrameView::SetNeedsOcclusionTracking(bool needs_tracking) { … }
gfx::Rect RemoteFrameView::ComputeCompositingRect() const { … }
void RemoteFrameView::UpdateCompositingRect() { … }
void RemoteFrameView::UpdateCompositingScaleFactor() { … }
void RemoteFrameView::Dispose() { … }
void RemoteFrameView::SetFrameRect(const gfx::Rect& rect) { … }
void RemoteFrameView::UpdateFrozenSize() { … }
void RemoteFrameView::ZoomFactorChanged(float zoom_factor) { … }
void RemoteFrameView::PropagateFrameRects() { … }
void RemoteFrameView::Paint(GraphicsContext& context,
PaintFlags flags,
const CullRect& rect,
const gfx::Vector2d& paint_offset) const { … }
void RemoteFrameView::UpdateGeometry() { … }
void RemoteFrameView::Hide() { … }
void RemoteFrameView::Show() { … }
void RemoteFrameView::ParentVisibleChanged() { … }
void RemoteFrameView::VisibilityForThrottlingChanged() { … }
void RemoteFrameView::VisibilityChanged(
blink::mojom::FrameVisibility visibility) { … }
bool RemoteFrameView::CanThrottleRendering() const { … }
void RemoteFrameView::SetIntrinsicSizeInfo(
const IntrinsicSizingInfo& size_info) { … }
bool RemoteFrameView::GetIntrinsicSizingInfo(
IntrinsicSizingInfo& sizing_info) const { … }
bool RemoteFrameView::HasIntrinsicSizingInfo() const { … }
uint32_t RemoteFrameView::Print(const gfx::Rect& rect,
cc::PaintCanvas* canvas) const { … }
uint32_t RemoteFrameView::CapturePaintPreview(const gfx::Rect& rect,
cc::PaintCanvas* canvas) const { … }
void RemoteFrameView::Trace(Visitor* visitor) const { … }
}