Closed Bug 1689601 Opened 4 years ago Closed 4 years ago

BFCache in parent, skeleton

Categories

(Core :: DOM: Navigation, defect, P2)

defect

Tracking

()

RESOLVED FIXED
88 Branch
Fission Milestone M7a
Tracking Status
firefox88 --- fixed

People

(Reporter: smaug, Assigned: smaug)

References

(Blocks 1 open bug)

Details

(Whiteboard: fission-bfcache)

Attachments

(17 files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
No description provided.
Severity: -- → N/A
Status: NEW → ASSIGNED
Fission Milestone: --- → M7
Priority: -- → P2
Flags: needinfo?(bugs)
Flags: needinfo?(bugs)
Flags: needinfo?(bugs)
Flags: needinfo?(bugs)
Whiteboard: fission-bfcache

The name RemotenessChangeState uses same the convention as the related methods, even though there might
not be a remoteness change happening, only a browsing context switch. But the naming
inconsistency exists there even without any bfcache work.

Depends on D105228

EvictOutOfRangeContentViewers call in SetFrameLoader doesn't do anything in this patch, but will
work with some followups.

Depends on D105234

There are quite a few different logging modules for session history, but while developing
SHIP BFCache, I'd prefer to add some specific one for it. Later we can perhaps
merge various modules to some generic session history related.

SHIPBFCache log module will be used more in the followup patches.

Depends on D105236

Non-SHIP bfcache seems to be rather complicated here, since it needs to explicitly store inner windows and what not.
SHIP should be able to handle this in a simpler way.
It is possible that some ordering needs still tweaking.

Depends on D105239

Depends on: 1694651
Attachment #9203283 - Attachment description: Bug 1689601, make it easy to access DocumentChannelParent from DocumentLoadListener, r=peterv → Bug 1689601, Add DocumentChannel ID to DocumentLoadListener, r=peterv
Attachment #9203284 - Attachment description: Bug 1689601, add a pref to endable bfcache in parent process, r=peterv → Bug 1689601, add a pref to enable bfcache in parent process, r=peterv

Moving all M7 Fission BFCache work to M7a.

Fission Milestone: M7 → M7a
Pushed by opettay@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6d02e59ddc51 set active entry only when session history runs in the parent process, r=peterv https://hg.mozilla.org/integration/autoland/rev/63295b3a62d0 pass various states of remoteness change / browsing context swap using a helper struct, r=peterv https://hg.mozilla.org/integration/autoland/rev/6138bfc6c08d add a comment about missing LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL, r=peterv https://hg.mozilla.org/integration/autoland/rev/7e8022e5696a Add DocumentChannel ID to DocumentLoadListener, r=peterv https://hg.mozilla.org/integration/autoland/rev/c261c243a64d add a pref to enable bfcache in parent process, r=peterv https://hg.mozilla.org/integration/autoland/rev/278db692aa8b remove an assertion in SessionStorageManager.cpp since it isn't valid anymore with bfcache, r=peterv,ttung https://hg.mozilla.org/integration/autoland/rev/701eccb34772 add assertions to ensure SessionHistoryEntry objects are created only when session history in parent is enabled, r=peterv https://hg.mozilla.org/integration/autoland/rev/04aadec67ce2 store nsFrameLoader in SessionHistoryEntry/SHEntrySharedParentState, r=peterv https://hg.mozilla.org/integration/autoland/rev/307bde43cc96 make it possible to call Document::CanSavePresentation non-recursively, r=peterv https://hg.mozilla.org/integration/autoland/rev/2b2081a15d67 add a log module for SHIP BFCache, r=peterv https://hg.mozilla.org/integration/autoland/rev/334aeb627855 try to use bfcache for top level pages, r=peterv https://hg.mozilla.org/integration/autoland/rev/2fca23521891 evict frameloaders from bfcache (missing still the time based eviction), r=peterv https://hg.mozilla.org/integration/autoland/rev/0c5fe977ced6 nested freeze/thaw, r=peterv https://hg.mozilla.org/integration/autoland/rev/a594bd02b8b6 Rename RemotenessChangeState to RemotenessChangeOptions, r=peterv https://hg.mozilla.org/integration/autoland/rev/745eaa468c74 hide fission.bfcacheInParent pref access behind a function which checks that also SHIP is enabled, r=peterv,necko-reviewers https://hg.mozilla.org/integration/autoland/rev/6e5523a7210d sync fields when loading a page from bfcache, r=peterv
Backout by malexandru@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/46614681fd5d Backed out 16 changesets for causing cpp bustages in nsFrameLoader.

Backed out 16 changesets (Bug 1689601) for causing cpp bustages in nsFrameLoader.

Backout link: https://hg.mozilla.org/integration/autoland/rev/46614681fd5d96fc75ef2c7033abe96d402dcba4
Push with failures, failure log.

Flags: needinfo?(bugs)

Huh, odd. I had just pushed to try.

Flags: needinfo?(bugs)
Pushed by opettay@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/094c4ba34fd1 set active entry only when session history runs in the parent process, r=peterv https://hg.mozilla.org/integration/autoland/rev/1502dc96c13f pass various states of remoteness change / browsing context swap using a helper struct, r=peterv https://hg.mozilla.org/integration/autoland/rev/c1ff2ca96a32 add a comment about missing LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL, r=peterv https://hg.mozilla.org/integration/autoland/rev/0f5fe8762bd6 Add DocumentChannel ID to DocumentLoadListener, r=peterv https://hg.mozilla.org/integration/autoland/rev/46bcd4860216 add a pref to enable bfcache in parent process, r=peterv https://hg.mozilla.org/integration/autoland/rev/07595dc11e77 remove an assertion in SessionStorageManager.cpp since it isn't valid anymore with bfcache, r=peterv,ttung https://hg.mozilla.org/integration/autoland/rev/e74a62e11d2d add assertions to ensure SessionHistoryEntry objects are created only when session history in parent is enabled, r=peterv https://hg.mozilla.org/integration/autoland/rev/53d514bab3e8 store nsFrameLoader in SessionHistoryEntry/SHEntrySharedParentState, r=peterv https://hg.mozilla.org/integration/autoland/rev/42d89fdeef20 make it possible to call Document::CanSavePresentation non-recursively, r=peterv https://hg.mozilla.org/integration/autoland/rev/b32ce9ca1137 add a log module for SHIP BFCache, r=peterv https://hg.mozilla.org/integration/autoland/rev/37793ca0cd36 try to use bfcache for top level pages, r=peterv https://hg.mozilla.org/integration/autoland/rev/20f2436c594c evict frameloaders from bfcache (missing still the time based eviction), r=peterv https://hg.mozilla.org/integration/autoland/rev/fc52b96ee244 nested freeze/thaw, r=peterv https://hg.mozilla.org/integration/autoland/rev/0b82d215b4ea Rename RemotenessChangeState to RemotenessChangeOptions, r=peterv https://hg.mozilla.org/integration/autoland/rev/6ed03eb5b7fb hide fission.bfcacheInParent pref access behind a function which checks that also SHIP is enabled, r=peterv,necko-reviewers https://hg.mozilla.org/integration/autoland/rev/d683ade21deb sync fields when loading a page from bfcache, r=peterv
See Also: → 1695999
Regressions: 1696266
Regressions: 1721306
Regressions: 1745730
Regressions: 1765248
See Also: → 1952676
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: