#include "components/captive_portal/content/captive_portal_service.h"
#include <memory>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/metrics/histogram_macros.h"
#include "base/notreached.h"
#include "base/time/tick_clock.h"
#include "build/build_config.h"
#include "components/captive_portal/core/captive_portal_types.h"
#include "components/embedder_support/pref_names.h"
#include "components/prefs/pref_service.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/storage_partition.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#if BUILDFLAG(IS_WIN)
#include "base/win/windows_version.h"
#endif
namespace captive_portal {
CaptivePortalService::TestingState CaptivePortalService::testing_state_ = …;
CaptivePortalService::RecheckPolicy::RecheckPolicy()
: … { … }
CaptivePortalService::CaptivePortalService(
content::BrowserContext* browser_context,
PrefService* pref_service,
const base::TickClock* clock_for_testing,
network::mojom::URLLoaderFactory* loader_factory_for_testing)
: … { … }
CaptivePortalService::~CaptivePortalService() { … }
void CaptivePortalService::DetectCaptivePortal() { … }
void CaptivePortalService::DetectCaptivePortalInternal() { … }
void CaptivePortalService::OnPortalDetectionCompleted(
const CaptivePortalDetector::Results& results) { … }
void CaptivePortalService::Shutdown() { … }
void CaptivePortalService::OnResult(CaptivePortalResult result,
const GURL& landing_url) { … }
void CaptivePortalService::ResetBackoffEntry(CaptivePortalResult result) { … }
void CaptivePortalService::UpdateEnabledState() { … }
base::TimeTicks CaptivePortalService::GetCurrentTimeTicks() const { … }
bool CaptivePortalService::DetectionInProgress() const { … }
bool CaptivePortalService::TimerRunning() const { … }
}