blob: 114b1754d703f6f7c9b8b8b535af4e300bbdf05a [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_BROWSER_PRELOADING_PRERENDER_PRERENDER_FINAL_STATUS_H_
#define CONTENT_BROWSER_PRELOADING_PRERENDER_PRERENDER_FINAL_STATUS_H_
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class PrerenderFinalStatus {
kActivated = 0,
kDestroyed = 1,
kLowEndDevice = 2,
// These have been broken down into SameSiteCrossOrigin and CrossSite for
// better understanding of the metrics. kCrossOriginRedirect = 3,
// kCrossOriginNavigation = 4,
kInvalidSchemeRedirect = 5,
kInvalidSchemeNavigation = 6,
kInProgressNavigation = 7,
// kNavigationRequestFailure = 8, // No longer used.
kNavigationRequestBlockedByCsp = 9,
kMainFrameNavigation = 10,
kMojoBinderPolicy = 11,
// kPlugin = 12, // No longer used.
kRendererProcessCrashed = 13,
kRendererProcessKilled = 14,
kDownload = 15,
kTriggerDestroyed = 16,
kNavigationNotCommitted = 17,
kNavigationBadHttpStatus = 18,
kClientCertRequested = 19,
kNavigationRequestNetworkError = 20,
kMaxNumOfRunningPrerendersExceeded = 21,
kCancelAllHostsForTesting = 22,
kDidFailLoad = 23,
kStop = 24,
kSslCertificateError = 25,
kLoginAuthRequested = 26,
kUaChangeRequiresReload = 27,
kBlockedByClient = 28,
kAudioOutputDeviceRequested = 29,
kMixedContent = 30,
kTriggerBackgrounded = 31,
// Break down into kEmbedderTriggeredAndSameOriginRedirected and
// kEmbedderTriggeredAndCrossOriginRedirected for investigation.
// kEmbedderTriggeredAndRedirected = 32,
// Deprecate since same origin redirection is allowed considering that the
// initial prerender origin is a safe site.
// kEmbedderTriggeredAndSameOriginRedirected = 33,
kEmbedderTriggeredAndCrossOriginRedirected = 34,
// Deprecated. This has the same meaning as kTriggerDestroyed because the
// metric's name includes trigger type.
// kEmbedderTriggeredAndDestroyed = 35,
kMemoryLimitExceeded = 36,
kFailToGetMemoryUsage = 37,
kDataSaverEnabled = 38,
kHasEffectiveUrl = 39,
kActivatedBeforeStarted = 40,
kInactivePageRestriction = 41,
kStartFailed = 42,
kTimeoutBackgrounded = 43,
kCrossSiteRedirect = 44,
kCrossSiteNavigation = 45,
kSameSiteCrossOriginRedirect = 46,
kSameSiteCrossOriginNavigation = 47,
kSameSiteCrossOriginRedirectNotOptIn = 48,
kSameSiteCrossOriginNavigationNotOptIn = 49,
// The prediction is correct, and we are almost ready to activate this
// PrerenderHost, but the activation navigation's parameters are different
// from the initial prerendering navigation so Prerender fails to activate it.
kActivationNavigationParameterMismatch = 50,
kMaxValue = kActivationNavigationParameterMismatch,
};
#endif // CONTENT_BROWSER_PRELOADING_PRERENDER_PRERENDER_FINAL_STATUS_H_