// Copyright 2024 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_BACK_FORWARD_CACHE_SUBFRAME_NAVIGATION_THROTTLE_H_ #define CONTENT_BROWSER_RENDERER_HOST_BACK_FORWARD_CACHE_SUBFRAME_NAVIGATION_THROTTLE_H_ #include "content/public/browser/navigation_throttle.h" #include "content/public/browser/web_contents_observer.h" namespace content { // BackForwardCacheSubframeNavigationThrottle defers subframe navigation before // commit when the page that the subframe is in is BFCached. For now, this is // only for WillCommitWithoutUrlLoader and WillStartRequest since currently, we // allow no-URLLoader navigations that haven't yet reached the "pending commit" // stage and navigations that use URLLoader that haven't sent network requests. // We disallow any navigations in all other stages when the frame is in // BFCache. This throttle resumes the deferred navigation when a page which // contains the subframe is restored from the BFCache. Find more details in // https://crbug.com/1511153. class BackForwardCacheSubframeNavigationThrottle : public NavigationThrottle, public WebContentsObserver { … }; } // namespace content #endif // CONTENT_BROWSER_RENDERER_HOST_BACK_FORWARD_CACHE_SUBFRAME_NAVIGATION_THROTTLE_H_