| // Copyright 2019 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_RENDERER_HOST_SHOULD_SWAP_BROWSING_INSTANCE_H_ |
| #define CONTENT_BROWSER_RENDERER_HOST_SHOULD_SWAP_BROWSING_INSTANCE_H_ |
| |
| namespace content { |
| |
| // This is the enumeration of the reasons why we might not swap the |
| // BrowsingInstance for navigations. |
| // This enum is used for histograms and should not be renumbered. |
| // TODO(crbug.com/1026101): Remove after the investigations are complete. |
| enum class ShouldSwapBrowsingInstance { |
| kYes_ForceSwap = 0, |
| kNo_ProactiveSwapDisabled = 1, |
| kNo_NotMainFrame = 2, |
| kNo_HasRelatedActiveContents = 3, |
| kNo_DoesNotHaveSite = 4, |
| kNo_SourceURLSchemeIsNotHTTPOrHTTPS = 5, |
| // 6: kNo_DestinationURLSchemeIsNotHTTPOrHTTPS was removed as the scheme of |
| // the destination URL should not affect back-forward cache eligibility, so |
| // we don't need to avoid doing a proactive BrowsingInstance swap due to it. |
| kNo_SameSiteNavigation = 7, |
| // 8: kNo_ReloadingErrorPage was removed as the special case that forced |
| // reusing a SiteInstance for auto-reload was fixed. (see |
| // https://crbug.com/1045524). |
| kNo_AlreadyHasMatchingBrowsingInstance = 9, |
| kNo_RendererDebugURL = 10, |
| kNo_NotNeededForBackForwardCache = 11, |
| kYes_CrossSiteProactiveSwap = 12, |
| kYes_SameSiteProactiveSwap = 13, |
| kNo_SameDocumentNavigation = 14, |
| kNo_SameUrlNavigation = 15, |
| kNo_WillReplaceEntry = 16, |
| kNo_Reload = 17, |
| kNo_Guest = 18, |
| kNo_HasNotComittedAnyNavigation = 19, |
| // 20: kNo_UnloadHandlerExistsOnSameSiteNavigation was removed as it's not |
| // triggering BrowsingInstance swap anymore. See |
| // https://groups.google.com/a/google.com/g/chrome-bfcache/c/L-ZreZDY4n0 |
| kNo_NotPrimaryMainFrame = 21, |
| |
| kMaxValue = kNo_NotPrimaryMainFrame |
| }; |
| |
| } // namespace content |
| |
| #endif // CONTENT_BROWSER_RENDERER_HOST_SHOULD_SWAP_BROWSING_INSTANCE_H_ |