chromium/components/performance_manager/graph/frame_node_impl.cc

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/performance_manager/graph/frame_node_impl.h"

#include <utility>

#include "base/containers/contains.h"
#include "base/dcheck_is_on.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "components/performance_manager/graph/graph_impl.h"
#include "components/performance_manager/graph/initializing_frame_node_observer.h"
#include "components/performance_manager/graph/page_node_impl.h"
#include "components/performance_manager/graph/process_node_impl.h"
#include "components/performance_manager/graph/worker_node_impl.h"
#include "components/performance_manager/public/v8_memory/web_memory.h"
#include "content/public/browser/browser_thread.h"

namespace performance_manager {

// static
constexpr char FrameNodeImpl::kDefaultPriorityReason[] =;

PriorityAndReason;

FrameNodeImpl::FrameNodeImpl(
    ProcessNodeImpl* process_node,
    PageNodeImpl* page_node,
    FrameNodeImpl* parent_frame_node,
    FrameNodeImpl* outer_document_for_fenced_frame,
    int render_frame_id,
    const blink::LocalFrameToken& frame_token,
    content::BrowsingInstanceId browsing_instance_id,
    content::SiteInstanceGroupId site_instance_group_id,
    bool is_current)
    :{}

FrameNodeImpl::~FrameNodeImpl() {}

void FrameNodeImpl::Bind(
    mojo::PendingReceiver<mojom::DocumentCoordinationUnit> receiver) {}

void FrameNodeImpl::SetNetworkAlmostIdle() {}

void FrameNodeImpl::SetLifecycleState(mojom::LifecycleState state) {}

void FrameNodeImpl::SetHasNonEmptyBeforeUnload(bool has_nonempty_beforeunload) {}

void FrameNodeImpl::SetIsAdFrame(bool is_ad_frame) {}

void FrameNodeImpl::SetHadFormInteraction() {}

void FrameNodeImpl::SetHadUserEdits() {}

void FrameNodeImpl::OnStartedUsingWebRTC() {}

void FrameNodeImpl::OnStoppedUsingWebRTC() {}

void FrameNodeImpl::OnNonPersistentNotificationCreated() {}

void FrameNodeImpl::OnFirstContentfulPaint(
    base::TimeDelta time_since_navigation_start) {}

void FrameNodeImpl::OnWebMemoryMeasurementRequested(
    mojom::WebMemoryMeasurement::Mode mode,
    OnWebMemoryMeasurementRequestedCallback callback) {}

const blink::LocalFrameToken& FrameNodeImpl::GetFrameToken() const {}

content::BrowsingInstanceId FrameNodeImpl::GetBrowsingInstanceId() const {}

content::SiteInstanceGroupId FrameNodeImpl::GetSiteInstanceGroupId() const {}

resource_attribution::FrameContext FrameNodeImpl::GetResourceContext() const {}

bool FrameNodeImpl::IsMainFrame() const {}

FrameNodeImpl::LifecycleState FrameNodeImpl::GetLifecycleState() const {}

bool FrameNodeImpl::HasNonemptyBeforeUnload() const {}

const GURL& FrameNodeImpl::GetURL() const {}

const std::optional<url::Origin>& FrameNodeImpl::GetOrigin() const {}

bool FrameNodeImpl::IsCurrent() const {}

const PriorityAndReason& FrameNodeImpl::GetPriorityAndReason() const {}

bool FrameNodeImpl::GetNetworkAlmostIdle() const {}

bool FrameNodeImpl::IsAdFrame() const {}

bool FrameNodeImpl::IsHoldingWebLock() const {}

bool FrameNodeImpl::IsHoldingIndexedDBLock() const {}

bool FrameNodeImpl::UsesWebRTC() const {}

bool FrameNodeImpl::HadUserActivation() const {}

bool FrameNodeImpl::HadFormInteraction() const {}

bool FrameNodeImpl::HadUserEdits() const {}

bool FrameNodeImpl::IsAudible() const {}

bool FrameNodeImpl::IsCapturingMediaStream() const {}

std::optional<ViewportIntersectionState>
FrameNodeImpl::GetViewportIntersectionState() const {}

FrameNode::Visibility FrameNodeImpl::GetVisibility() const {}

const RenderFrameHostProxy& FrameNodeImpl::GetRenderFrameHostProxy() const {}

uint64_t FrameNodeImpl::GetResidentSetKbEstimate() const {}

uint64_t FrameNodeImpl::GetPrivateFootprintKbEstimate() const {}

FrameNodeImpl* FrameNodeImpl::parent_frame_node() const {}

FrameNodeImpl* FrameNodeImpl::parent_or_outer_document_or_embedder() const {}

PageNodeImpl* FrameNodeImpl::page_node() const {}

ProcessNodeImpl* FrameNodeImpl::process_node() const {}

int FrameNodeImpl::render_frame_id() const {}

FrameNode::NodeSetView<FrameNodeImpl*> FrameNodeImpl::child_frame_nodes()
    const {}

FrameNode::NodeSetView<PageNodeImpl*> FrameNodeImpl::opened_page_nodes() const {}

FrameNode::NodeSetView<PageNodeImpl*> FrameNodeImpl::embedded_page_nodes()
    const {}

FrameNode::NodeSetView<WorkerNodeImpl*> FrameNodeImpl::child_worker_nodes()
    const {}

// static
void FrameNodeImpl::UpdateCurrentFrame(FrameNodeImpl* previous_frame_node,
                                       FrameNodeImpl* current_frame_node,
                                       GraphImpl* graph) {}

void FrameNodeImpl::SetHadUserActivation() {}

void FrameNodeImpl::SetIsHoldingWebLock(bool is_holding_weblock) {}

void FrameNodeImpl::SetIsHoldingIndexedDBLock(bool is_holding_indexeddb_lock) {}

void FrameNodeImpl::SetIsAudible(bool is_audible) {}

void FrameNodeImpl::SetIsCapturingMediaStream(bool is_capturing_media_stream) {}

void FrameNodeImpl::SetViewportIntersectionState(
    ViewportIntersectionState viewport_intersection_state) {}

void FrameNodeImpl::SetInitialVisibility(Visibility visibility) {}

void FrameNodeImpl::SetVisibility(Visibility visibility) {}

void FrameNodeImpl::SetResidentSetKbEstimate(uint64_t rss_estimate) {}

void FrameNodeImpl::SetPrivateFootprintKbEstimate(
    uint64_t private_footprint_estimate) {}

void FrameNodeImpl::OnNavigationCommitted(
    GURL url,
    url::Origin origin,
    bool same_document,
    bool is_served_from_back_forward_cache) {}

void FrameNodeImpl::AddChildWorker(WorkerNodeImpl* worker_node) {}

void FrameNodeImpl::RemoveChildWorker(WorkerNodeImpl* worker_node) {}

void FrameNodeImpl::SetPriorityAndReason(
    const PriorityAndReason& priority_and_reason) {}

base::WeakPtr<FrameNodeImpl> FrameNodeImpl::GetWeakPtrOnUIThread() {}

base::WeakPtr<FrameNodeImpl> FrameNodeImpl::GetWeakPtr() {}

void FrameNodeImpl::AddOpenedPage(base::PassKey<PageNodeImpl>,
                                  PageNodeImpl* page_node) {}

void FrameNodeImpl::RemoveOpenedPage(base::PassKey<PageNodeImpl>,
                                     PageNodeImpl* page_node) {}

void FrameNodeImpl::AddEmbeddedPage(base::PassKey<PageNodeImpl>,
                                    PageNodeImpl* page_node) {}

void FrameNodeImpl::RemoveEmbeddedPage(base::PassKey<PageNodeImpl>,
                                       PageNodeImpl* page_node) {}

const FrameNode* FrameNodeImpl::GetParentFrameNode() const {}

const FrameNode* FrameNodeImpl::GetParentOrOuterDocumentOrEmbedder() const {}

const PageNode* FrameNodeImpl::GetPageNode() const {}

const ProcessNode* FrameNodeImpl::GetProcessNode() const {}

FrameNode::NodeSetView<const FrameNode*> FrameNodeImpl::GetChildFrameNodes()
    const {}

FrameNode::NodeSetView<const PageNode*> FrameNodeImpl::GetOpenedPageNodes()
    const {}

FrameNode::NodeSetView<const PageNode*> FrameNodeImpl::GetEmbeddedPageNodes()
    const {}

FrameNode::NodeSetView<const WorkerNode*> FrameNodeImpl::GetChildWorkerNodes()
    const {}

void FrameNodeImpl::AddChildFrame(FrameNodeImpl* child_frame_node) {}

void FrameNodeImpl::RemoveChildFrame(FrameNodeImpl* child_frame_node) {}

void FrameNodeImpl::OnJoiningGraph() {}

void FrameNodeImpl::OnBeforeLeavingGraph() {}

void FrameNodeImpl::RemoveNodeAttachedData() {}

void FrameNodeImpl::SeverPageRelationshipsAndMaybeReparent() {}

FrameNodeImpl* FrameNodeImpl::GetFrameTreeRoot() const {}

bool FrameNodeImpl::HasFrameNodeInAncestors(FrameNodeImpl* frame_node) const {}

bool FrameNodeImpl::HasFrameNodeInDescendants(FrameNodeImpl* frame_node) const {}

bool FrameNodeImpl::HasFrameNodeInTree(FrameNodeImpl* frame_node) const {}

bool FrameNodeImpl::SetIsCurrent(bool is_current) {}

FrameNodeImpl::DocumentProperties::DocumentProperties() = default;
FrameNodeImpl::DocumentProperties::~DocumentProperties() = default;

void FrameNodeImpl::DocumentProperties::Reset(FrameNodeImpl* frame_node,
                                              GURL url_in,
                                              url::Origin origin_in) {}

}  // namespace performance_manager