// Copyright 2015 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_FRAME_NAVIGATION_ENTRY_H_ #define CONTENT_BROWSER_RENDERER_HOST_FRAME_NAVIGATION_ENTRY_H_ #include <stdint.h> #include <optional> #include "base/memory/ref_counted.h" #include "content/browser/renderer_host/policy_container_host.h" #include "content/browser/site_instance_impl.h" #include "content/common/content_export.h" #include "content/public/common/bindings_policy.h" #include "content/public/common/referrer.h" #include "services/network/public/cpp/shared_url_loader_factory.h" #include "third_party/blink/public/common/page_state/page_state.h" #include "url/gurl.h" #include "url/origin.h" namespace network { class ResourceRequestBody; } namespace content { // Represents a session history item for a particular frame. It is matched with // corresponding FrameTreeNodes using unique name (or by the root position). // There is a tree of FrameNavigationEntries in each NavigationEntry, one per // frame. // // This class is refcounted and can be shared across multiple NavigationEntries. // Each RenderFrameHost also keeps a scoped_refptr to its last committed // FrameNavigationEntry, to accurately track its current state in cases when the // last committed NavigationEntry may not match (e.g., when missing the // relevant FrameNavigationEntry or during a history navigation targeting // multiple frames while only some have committed.) class CONTENT_EXPORT FrameNavigationEntry : public base::RefCounted<FrameNavigationEntry> { … }; } // namespace content #endif // CONTENT_BROWSER_RENDERER_HOST_FRAME_NAVIGATION_ENTRY_H_