#include "content/browser/renderer_host/browsing_context_state.h"
#include "base/memory/ptr_util.h"
#include "content/browser/renderer_host/frame_tree_node.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/renderer_host/render_view_host_impl.h"
#include "content/browser/site_instance_impl.h"
#include "content/common/content_navigation_policy.h"
#include "services/network/public/cpp/web_sandbox_flags.h"
#include "services/network/public/mojom/web_sandbox_flags.mojom.h"
namespace features {
BASE_FEATURE(…);
BrowsingContextStateImplementationType GetBrowsingContextMode() { … }
}
namespace content {
ChromeTrackEvent;
BrowsingContextState::BrowsingContextState(
blink::mojom::FrameReplicationStatePtr replication_state,
RenderFrameHostImpl* parent,
std::optional<BrowsingInstanceId> browsing_instance_id,
std::optional<base::UnguessableToken> coop_related_group_token)
: … { … }
BrowsingContextState::~BrowsingContextState() { … }
RenderFrameProxyHost* BrowsingContextState::GetRenderFrameProxyHost(
SiteInstanceGroup* site_instance_group,
ProxyAccessMode proxy_access_mode) const { … }
RenderFrameProxyHost* BrowsingContextState::GetRenderFrameProxyHostImpl(
SiteInstanceGroup* site_instance_group,
ProxyAccessMode proxy_access_mode) const { … }
void BrowsingContextState::DeleteRenderFrameProxyHost(
SiteInstanceGroup* site_instance_group,
ProxyAccessMode proxy_access_mode) { … }
RenderFrameProxyHost* BrowsingContextState::CreateRenderFrameProxyHost(
SiteInstanceGroup* site_instance_group,
const scoped_refptr<RenderViewHostImpl>& rvh,
FrameTreeNode* frame_tree_node,
ProxyAccessMode proxy_access_mode,
const blink::RemoteFrameToken& frame_token) { … }
RenderFrameProxyHost* BrowsingContextState::CreateOuterDelegateProxy(
SiteInstanceGroup* outer_contents_site_instance_group,
FrameTreeNode* frame_tree_node,
const blink::RemoteFrameToken& frame_token) { … }
size_t BrowsingContextState::GetProxyCount() { … }
bool BrowsingContextState::UpdateFramePolicyHeaders(
network::mojom::WebSandboxFlags sandbox_flags,
const blink::ParsedPermissionsPolicy& parsed_header) { … }
bool BrowsingContextState::CommitFramePolicy(
const blink::FramePolicy& new_frame_policy) { … }
void BrowsingContextState::SetFrameName(const std::string& name,
const std::string& unique_name) { … }
void BrowsingContextState::SetCurrentOrigin(
const url::Origin& origin,
bool is_potentially_trustworthy_unique_origin) { … }
void BrowsingContextState::SetInsecureRequestPolicy(
blink::mojom::InsecureRequestPolicy policy) { … }
void BrowsingContextState::SetInsecureNavigationsSet(
const std::vector<uint32_t>& insecure_navigations_set) { … }
void BrowsingContextState::OnSetHadStickyUserActivationBeforeNavigation(
bool value) { … }
void BrowsingContextState::SetIsAdFrame(bool is_ad_frame) { … }
void BrowsingContextState::ActiveFrameCountIsZero(
SiteInstanceGroup* site_instance_group) { … }
void BrowsingContextState::KeepAliveCountIsZero(
SiteInstanceGroup* site_instance_group) { … }
void BrowsingContextState::CheckIfSiteInstanceGroupIsUnused(
SiteInstanceGroup* site_instance_group,
RefCountType ref_count_type) { … }
void BrowsingContextState::RenderProcessGone(
SiteInstanceGroup* site_instance_group,
const ChildProcessTerminationInfo& info) { … }
void BrowsingContextState::SendFramePolicyUpdatesToProxies(
SiteInstanceGroup* parent_group,
const blink::FramePolicy& frame_policy) { … }
void BrowsingContextState::OnDidStartLoading() { … }
void BrowsingContextState::OnDidStopLoading() { … }
void BrowsingContextState::ResetProxyHosts() { … }
void BrowsingContextState::UpdateOpener(
SiteInstanceGroup* source_site_instance_group) { … }
void BrowsingContextState::OnDidUpdateFrameOwnerProperties(
const blink::mojom::FrameOwnerProperties& properties) { … }
void BrowsingContextState::ExecuteRemoteFramesBroadcastMethod(
base::RepeatingCallback<void(RenderFrameProxyHost*)> callback,
SiteInstanceGroup* group_to_skip,
RenderFrameProxyHost* outer_delegate_proxy) { … }
void BrowsingContextState::WriteIntoTrace(
perfetto::TracedProto<TraceProto> proto) const { … }
base::SafeRef<BrowsingContextState> BrowsingContextState::GetSafeRef() { … }
}