#include "content/browser/renderer_host/commit_deferring_condition_runner.h"
#include "base/memory/ptr_util.h"
#include "base/no_destructor.h"
#include "content/browser/preloading/prerender/prerender_commit_deferring_condition.h"
#include "content/browser/preloading/prerender/prerender_no_vary_search_commit_deferring_condition.h"
#include "content/browser/preloading/prerender/prerender_no_vary_search_hint_commit_deferring_condition.h"
#include "content/browser/renderer_host/back_forward_cache_commit_deferring_condition.h"
#include "content/browser/renderer_host/concurrent_navigations_commit_deferring_condition.h"
#include "content/browser/renderer_host/navigation_request.h"
#include "content/browser/renderer_host/navigator_delegate.h"
#include "content/browser/renderer_host/view_transition_commit_deferring_condition.h"
#include "content/common/content_navigation_policy.h"
#include "content/common/features.h"
#include "content/public/browser/commit_deferring_condition.h"
namespace content {
namespace {
GeneratorOrderPair;
std::map<int, GeneratorOrderPair>& GetConditionGenerators() { … }
}
std::unique_ptr<CommitDeferringConditionRunner>
CommitDeferringConditionRunner::Create(
NavigationRequest& navigation_request,
CommitDeferringCondition::NavigationType navigation_type,
std::optional<int> candidate_prerender_frame_tree_node_id) { … }
CommitDeferringConditionRunner::CommitDeferringConditionRunner(
Delegate& delegate,
CommitDeferringCondition::NavigationType navigation_type,
std::optional<int> candidate_prerender_frame_tree_node_id)
: … { … }
CommitDeferringConditionRunner::~CommitDeferringConditionRunner() = default;
void CommitDeferringConditionRunner::ProcessChecks() { … }
void CommitDeferringConditionRunner::AddConditionForTesting(
std::unique_ptr<CommitDeferringCondition> condition) { … }
CommitDeferringCondition*
CommitDeferringConditionRunner::GetDeferringConditionForTesting() const { … }
void CommitDeferringConditionRunner::ResumeProcessing() { … }
void CommitDeferringConditionRunner::RegisterDeferringConditions(
NavigationRequest& navigation_request) { … }
int CommitDeferringConditionRunner::InstallConditionGeneratorForTesting(
ConditionGenerator generator,
InsertOrder order) { … }
void CommitDeferringConditionRunner::UninstallConditionGeneratorForTesting(
int generator_id) { … }
void CommitDeferringConditionRunner::ProcessConditions() { … }
void CommitDeferringConditionRunner::AddCondition(
std::unique_ptr<CommitDeferringCondition> condition,
InsertOrder order) { … }
}