#include "content/browser/preloading/prerender/prerender_commit_deferring_condition.h"
#include "base/memory/ptr_util.h"
#include "base/task/sequenced_task_runner.h"
#include "content/browser/preloading/prerender/prerender_host.h"
#include "content/browser/preloading/prerender/prerender_metrics.h"
#include "content/browser/renderer_host/frame_tree.h"
#include "content/browser/renderer_host/frame_tree_node.h"
#include "content/browser/renderer_host/navigation_request.h"
#include "content/public/browser/render_frame_host.h"
namespace content {
namespace {
FrameTreeNode* GetRootPrerenderFrameTreeNode(int prerender_frame_tree_node_id) { … }
}
std::unique_ptr<CommitDeferringCondition>
PrerenderCommitDeferringCondition::MaybeCreate(
NavigationRequest& navigation_request,
NavigationType navigation_type,
std::optional<int> candidate_prerender_frame_tree_node_id) { … }
PrerenderCommitDeferringCondition::~PrerenderCommitDeferringCondition() =
default;
PrerenderCommitDeferringCondition::PrerenderCommitDeferringCondition(
NavigationRequest& navigation_request,
int candidate_prerender_frame_tree_node_id)
: … { … }
CommitDeferringCondition::Result
PrerenderCommitDeferringCondition::WillCommitNavigation(
base::OnceClosure resume) { … }
void PrerenderCommitDeferringCondition::DidFinishNavigation(
NavigationHandle* handle) { … }
}