Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(644)

Unified Diff: content/renderer/render_view_impl.h

Issue 2550113002: Send a subtree of same-process PageStates for back/forward child frames.
Patch Set: Rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_view_impl.h
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index 09d45bc64d71e7b0d670a9f08cb5066be0041350..ffa350e5f15413845c47abe9a28416a628eca33c 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -717,6 +717,23 @@ class CONTENT_EXPORT RenderViewImpl
// are gone.
int frames_in_progress_;
+ // Keeps track of the unique names of future subframes that the browser
+ // process has history items for during a history navigation, as well as the
+ // corresponding PageState to use when creating such frames during a
+ // back/forward navigation. This map includes state for any frames in the
+ // page, even when concurrent back/forward navigations affect different
+ // subtrees.
+ //
+ // If the PageState for a frame is empty, the history item needs to load in a
+ // different process, so the renderer process should ask the browser process
+ // to handle it instead
+ //
+ // This state is incrementally cleared as it is used.
+ // TODO(creis): Can it be reset at any point? This seems important, so that a
+ // frame on one page doesn't use an unused history item from the previous
+ // page.
+ std::unordered_map<std::string, PageState> history_page_states_;
+
// UI state ------------------------------------------------------------------
// The state of our target_url transmissions. When we receive a request to

Powered by Google App Engine
This is Rietveld 408576698