Store last committed FrameNavigationEntry on RenderFrameHost.

This allows us to more accurately decide whether a given frame needs
to navigate during a session history navigation.

For now, this may be null in some cases, but fixing that in
https://crbug.com/608402 may allow us to later eliminate duplication
with RenderFrameHost's last committed URL and origin.

Bug: 1301985, 1304466
Change-Id: I1dc15e3f678f6854d73711000aa45ab73c0fbb66
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3511829
Reviewed-by: Nate Chapin <[email protected]>
Commit-Queue: Charlie Reis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#982004}
diff --git a/content/browser/renderer_host/frame_navigation_entry.h b/content/browser/renderer_host/frame_navigation_entry.h
index adfb832..cd879aa 100644
--- a/content/browser/renderer_host/frame_navigation_entry.h
+++ b/content/browser/renderer_host/frame_navigation_entry.h
@@ -30,6 +30,11 @@
 // 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> {
  public: