#include "content/browser/renderer_host/navigation_policy_container_builder.h"
#include <utility>
#include "content/browser/renderer_host/frame_navigation_entry.h"
#include "content/browser/renderer_host/navigation_state_keep_alive.h"
#include "content/browser/renderer_host/policy_container_host.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "services/network/public/cpp/web_sandbox_flags.h"
#include "services/network/public/mojom/content_security_policy.mojom-forward.h"
#include "services/network/public/mojom/ip_address_space.mojom.h"
#include "services/network/public/mojom/web_sandbox_flags.mojom.h"
namespace content {
namespace {
std::unique_ptr<PolicyContainerPolicies> GetParentPolicies(
RenderFrameHostImpl* parent) { … }
std::unique_ptr<PolicyContainerPolicies> GetInitiatorPolicies(
const blink::LocalFrameToken* frame_token,
int initiator_process_id,
StoragePartitionImpl* storage_partition) { … }
std::unique_ptr<PolicyContainerPolicies> GetHistoryPolicies(
const FrameNavigationEntry* entry) { … }
}
NavigationPolicyContainerBuilder::NavigationPolicyContainerBuilder(
RenderFrameHostImpl* parent,
const blink::LocalFrameToken* initiator_frame_token,
int initiator_process_id,
StoragePartition* storage_partition,
const FrameNavigationEntry* history_entry)
: … { … }
NavigationPolicyContainerBuilder::~NavigationPolicyContainerBuilder() = default;
const PolicyContainerPolicies*
NavigationPolicyContainerBuilder::InitiatorPolicies() const { … }
const PolicyContainerPolicies*
NavigationPolicyContainerBuilder::ParentPolicies() const { … }
const PolicyContainerPolicies*
NavigationPolicyContainerBuilder::HistoryPolicies() const { … }
void NavigationPolicyContainerBuilder::SetIPAddressSpace(
network::mojom::IPAddressSpace address_space) { … }
void NavigationPolicyContainerBuilder::SetIsOriginPotentiallyTrustworthy(
bool value) { … }
void NavigationPolicyContainerBuilder::SetAllowCrossOriginIsolation(
bool value) { … }
void NavigationPolicyContainerBuilder::AddContentSecurityPolicy(
network::mojom::ContentSecurityPolicyPtr policy) { … }
void NavigationPolicyContainerBuilder::AddContentSecurityPolicies(
std::vector<network::mojom::ContentSecurityPolicyPtr> policies) { … }
void NavigationPolicyContainerBuilder::SetCrossOriginOpenerPolicy(
network::CrossOriginOpenerPolicy coop) { … }
void NavigationPolicyContainerBuilder::SetCrossOriginEmbedderPolicy(
network::CrossOriginEmbedderPolicy coep) { … }
void NavigationPolicyContainerBuilder::SetDocumentIsolationPolicy(
const network::DocumentIsolationPolicy& dip) { … }
const PolicyContainerPolicies&
NavigationPolicyContainerBuilder::DeliveredPoliciesForTesting() const { … }
void NavigationPolicyContainerBuilder::ComputePoliciesForError() { … }
void NavigationPolicyContainerBuilder::ComputeIsWebSecureContext() { … }
void NavigationPolicyContainerBuilder::ComputeSandboxFlags(
bool is_inside_mhtml,
network::mojom::WebSandboxFlags frame_sandbox_flags,
PolicyContainerPolicies& policies) { … }
void NavigationPolicyContainerBuilder::IncorporateDeliveredPolicies(
const GURL& url,
PolicyContainerPolicies& policies) { … }
PolicyContainerPolicies
NavigationPolicyContainerBuilder::ComputeInheritedPolicies(const GURL& url) { … }
PolicyContainerPolicies NavigationPolicyContainerBuilder::ComputeFinalPolicies(
const GURL& url,
bool is_inside_mhtml,
network::mojom::WebSandboxFlags frame_sandbox_flags,
bool is_credentialless) { … }
void NavigationPolicyContainerBuilder::ComputePolicies(
const GURL& url,
bool is_inside_mhtml,
network::mojom::WebSandboxFlags frame_sandbox_flags,
bool is_credentialless) { … }
bool NavigationPolicyContainerBuilder::HasComputedPolicies() const { … }
void NavigationPolicyContainerBuilder::SetAllowTopNavigationWithoutUserGesture(
bool allow_top) { … }
void NavigationPolicyContainerBuilder::SetFinalPolicies(
PolicyContainerPolicies policies) { … }
const PolicyContainerPolicies& NavigationPolicyContainerBuilder::FinalPolicies()
const { … }
blink::mojom::PolicyContainerPtr
NavigationPolicyContainerBuilder::CreatePolicyContainerForBlink() { … }
scoped_refptr<PolicyContainerHost>
NavigationPolicyContainerBuilder::GetPolicyContainerHost() { … }
scoped_refptr<PolicyContainerHost>
NavigationPolicyContainerBuilder::TakePolicyContainerHost() && { … }
void NavigationPolicyContainerBuilder::ResetForCrossDocumentRestart() { … }
}