1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_BACK_FORWARD_CACHE_DISABLED_REASON_ID_H_
#define COMPONENTS_BACK_FORWARD_CACHE_DISABLED_REASON_ID_H_
#include <cstdint>
namespace back_forward_cache {
// Reasons to disable BackForwardCache for this frame for chrome features.
enum class DisabledReasonId : uint16_t {
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused. kMaxValue is not defined because
// this enum is not logged directly as an enum (see
// BackForwardCache::DisabledSource).
kUnknown = 0,
kPopupBlockerTabHelper = 1,
kSafeBrowsingTriggeredPopupBlocker = 2,
kSafeBrowsingThreatDetails = 3,
// Unblocked by https://crbug.com/1276864
// kAppBannerManager = 4,
kDomDistillerViewerSource = 5,
kDomDistiller_SelfDeletingRequestDelegate = 6,
kOomInterventionTabHelper = 7,
kOfflinePage = 8,
kContentCredentialManager_BindCredentialManager = 9,
kPermissionRequestManager = 10,
// Modal dialog such as form resubmittion or http password dialog is shown for
// the page.
kModalDialog = 11,
// Support for extensions is added in stages (see crbug.com/1110891), each
// with its own enum.
// - kExtensions: All extensions are blocklisted.
// - kExtensionMessaging: Extensions using messaging APIs are blocklisted.
// - kExtensionMessagingForOpenPort: Extensions using long-lived connections
// that don't close the connection before attempting to cache the frame are
// blocklisted.
// - kExtensionSentMessageToCachedFrame: Extensions using long-lived
// connections that attempt to send a message to a frame while it is cached
// (inactive) are blocklisted.
// kExtensions = 12. Removed
kExtensionMessaging = 13,
// kExtensionMessagingForOpenPort = 14. Removed
kExtensionSentMessageToCachedFrame = 15,
// Android WebView client requested to disable BFCache. See
// NavigationWebMessageSender.
kRequestedByWebViewClient = 16,
// Android WebView client sends postMessage on a JavaScriptReplyProxy that's
// associated with a page in BFCache.
kPostMessageByWebViewClient = 17,
// New reasons should be accompanied by a comment as to why BackForwardCache
// cannot be used in this case and a link to a bug to fix that if it is
// fixable.
// Any updates here should be reflected in tools/metrics/histograms/enums.xml
};
} // namespace back_forward_cache
#endif // COMPONENTS_BACK_FORWARD_CACHE_DISABLED_REASON_ID_H_
|