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

Issue 1415603018: OOPIF: Support session restore by combining/splitting frame states.

Created:
5 years, 1 month ago by Charlie Reis
Modified:
5 years ago
Reviewers:
CC:
chromium-reviews, darin-cc_chromium.org, nasko+codewatch_chromium.org, jam, creis+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

OOPIF: Support session restore by combining/splitting frame states. In OOPIF-enabled modes, each FrameNavigationEntry has a per-frame ExplodedFrameState object. The states for each frame in the tree need to be combined into a single PageState for GetPageState, and a single PageState needs to be split into individual FrameNavigationEntries (with ExplodedFrameStates) for SetPageState. Because GetPageState is const and returns a const ref, we need to cache the combined PageState each time it could change. BUG=545219 TEST=Close and restore a tab or session with OOPIFs.

Patch Set 1 #

Patch Set 2 : Try switching to ExplodedFrameState #

Patch Set 3 : Clean up and fix bugs #

Unified diffs Side-by-side diffs Delta from patch set Stats (+324 lines, -111 lines) Patch
M content/browser/frame_host/frame_navigation_entry.h View 1 5 chunks +9 lines, -5 lines 0 comments Download
M content/browser/frame_host/frame_navigation_entry.cc View 1 2 chunks +3 lines, -3 lines 0 comments Download
M content/browser/frame_host/navigation_controller_impl.cc View 1 2 5 chunks +15 lines, -8 lines 0 comments Download
M content/browser/frame_host/navigation_entry_impl.h View 1 2 4 chunks +13 lines, -1 line 0 comments Download
M content/browser/frame_host/navigation_entry_impl.cc View 1 2 7 chunks +89 lines, -17 lines 0 comments Download
M content/browser/frame_host/navigation_request.cc View 1 1 chunk +13 lines, -12 lines 0 comments Download
M content/browser/frame_host/render_frame_host_delegate.h View 1 2 chunks +3 lines, -3 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 chunks +2 lines, -1 line 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 1 chunk +3 lines, -3 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 chunks +2 lines, -1 line 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 chunks +10 lines, -5 lines 0 comments Download
M content/common/frame_messages.h View 1 2 6 chunks +49 lines, -1 line 0 comments Download
M content/common/navigation_params.h View 1 2 3 chunks +7 lines, -0 lines 0 comments Download
M content/common/navigation_params.cc View 1 2 chunks +2 lines, -0 lines 0 comments Download
M content/renderer/history_serialization.h View 1 2 chunks +6 lines, -0 lines 0 comments Download
M content/renderer/history_serialization.cc View 1 2 5 chunks +24 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 8 chunks +62 lines, -47 lines 0 comments Download
M content/test/test_render_view_host.cc View 1 1 chunk +5 lines, -2 lines 0 comments Download
M third_party/WebKit/public/platform/WebHTTPBody.h View 1 1 chunk +5 lines, -1 line 0 comments Download
M third_party/WebKit/public/platform/WebHistoryScrollRestorationType.h View 1 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 1 (1 generated)
Charlie Reis
5 years ago (2015-12-02 18:08:14 UTC) #1
Description was changed from

==========
OOPIF: Support session restore by combining/splitting frame PageStates.

In OOPIF-enabled modes, each FrameNavigationEntry has a per-frame
PageState object.  The states for each frame in the tree need to be
combined into a single PageState for GetPageState, and a single
PageState needs to be split into individual FrameNavigationEntries for
SetPageState.

Because GetPageState is const and returns a const ref, we need to
cache the combined PageState each time it could change.

BUG=545219
TEST=Close and restore a tab or session with OOPIFs.
==========

to

==========
OOPIF: Support session restore by combining/splitting frame states.

In OOPIF-enabled modes, each FrameNavigationEntry has a per-frame
ExplodedFrameState object.  The states for each frame in the tree
need to be combined into a single PageState for GetPageState, and a
single PageState needs to be split into individual
FrameNavigationEntries (with ExplodedFrameStates) for
SetPageState.

Because GetPageState is const and returns a const ref, we need to
cache the combined PageState each time it could change.

BUG=545219
TEST=Close and restore a tab or session with OOPIFs.
==========

Powered by Google App Engine
This is Rietveld 408576698