#include "chrome/browser/extensions/corrupted_extension_reinstaller.h"
#include "base/functional/bind.h"
#include "base/metrics/histogram_functions.h"
#include "base/task/single_thread_task_runner.h"
#include "chrome/browser/extensions/extension_service.h"
#include "content/public/browser/browser_context.h"
#include "extensions/browser/extension_system.h"
namespace extensions {
namespace {
CorruptedExtensionReinstaller::ReinstallCallback* g_reinstall_action_for_test = …;
const net::BackoffEntry::Policy kCorruptedReinstallBackoffPolicy = …;
}
CorruptedExtensionReinstaller::CorruptedExtensionReinstaller(
content::BrowserContext* context)
: … { … }
CorruptedExtensionReinstaller::~CorruptedExtensionReinstaller() { … }
void CorruptedExtensionReinstaller::set_reinstall_action_for_test(
ReinstallCallback* action) { … }
void CorruptedExtensionReinstaller::RecordPolicyReinstallReason(
PolicyReinstallReason reason_for_uma) { … }
void CorruptedExtensionReinstaller::ExpectReinstallForCorruption(
const ExtensionId& id,
std::optional<PolicyReinstallReason> reason_for_uma,
mojom::ManifestLocation manifest_location_for_uma) { … }
void CorruptedExtensionReinstaller::MarkResolved(const ExtensionId& id) { … }
bool CorruptedExtensionReinstaller::IsReinstallForCorruptionExpected(
const ExtensionId& id) const { … }
bool CorruptedExtensionReinstaller::HasAnyReinstallForCorruption() const { … }
const std::map<ExtensionId, base::TimeTicks>&
CorruptedExtensionReinstaller::GetExpectedReinstalls() const { … }
void CorruptedExtensionReinstaller::NotifyExtensionDisabledDueToCorruption() { … }
void CorruptedExtensionReinstaller::Shutdown() { … }
void CorruptedExtensionReinstaller::Fire() { … }
base::TimeDelta CorruptedExtensionReinstaller::GetNextFireDelay() { … }
void CorruptedExtensionReinstaller::ScheduleNextReinstallAttempt() { … }
}