#include "chrome/browser/first_party_sets/first_party_sets_navigation_throttle.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/metrics/histogram_functions.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
#include "chrome/browser/first_party_sets/first_party_sets_policy_service.h"
#include "chrome/browser/first_party_sets/first_party_sets_policy_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/web_contents.h"
#include "net/base/features.h"
namespace first_party_sets {
namespace {
ThrottleCheckResult;
void RecordResumeOnTimeout(bool is_timeout) { … }
}
FirstPartySetsNavigationThrottle::FirstPartySetsNavigationThrottle(
content::NavigationHandle* navigation_handle,
FirstPartySetsPolicyService& service)
: … { … }
FirstPartySetsNavigationThrottle::~FirstPartySetsNavigationThrottle() = default;
ThrottleCheckResult FirstPartySetsNavigationThrottle::WillStartRequest() { … }
const char* FirstPartySetsNavigationThrottle::GetNameForLogging() { … }
std::unique_ptr<FirstPartySetsNavigationThrottle>
FirstPartySetsNavigationThrottle::MaybeCreateNavigationThrottle(
content::NavigationHandle* navigation_handle) { … }
void FirstPartySetsNavigationThrottle::OnTimeOut() { … }
void FirstPartySetsNavigationThrottle::OnReadyToResume() { … }
void FirstPartySetsNavigationThrottle::Resume() { … }
}