зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1688712, when replacing a LoadingSessionHistoryInfo, initialize member variables using values from the old object, r=annyG
Differential Revision: https://phabricator.services.mozilla.com/D117362
This commit is contained in:
Родитель
a22ca7007a
Коммит
e74620fbda
|
@ -522,8 +522,7 @@ CanonicalBrowsingContext::ReplaceLoadingSessionHistoryEntryForLoad(
|
|||
}
|
||||
loadingEntry->SetDocshellID(GetHistoryID());
|
||||
loadingEntry->SetIsDynamicallyAdded(CreatedDynamically());
|
||||
return MakeUnique<LoadingSessionHistoryInfo>(loadingEntry,
|
||||
aInfo->mLoadId);
|
||||
return MakeUnique<LoadingSessionHistoryInfo>(loadingEntry, aInfo);
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
|
|
|
@ -344,10 +344,15 @@ LoadingSessionHistoryInfo::LoadingSessionHistoryInfo(
|
|||
}
|
||||
|
||||
LoadingSessionHistoryInfo::LoadingSessionHistoryInfo(
|
||||
SessionHistoryEntry* aEntry, uint64_t aLoadId)
|
||||
: mInfo(aEntry->Info()), mLoadId(aLoadId) {
|
||||
SessionHistoryEntry* aEntry, LoadingSessionHistoryInfo* aInfo)
|
||||
: mInfo(aEntry->Info()),
|
||||
mLoadId(aInfo->mLoadId),
|
||||
mLoadIsFromSessionHistory(aInfo->mLoadIsFromSessionHistory),
|
||||
mRequestedIndex(aInfo->mRequestedIndex),
|
||||
mSessionHistoryLength(aInfo->mSessionHistoryLength),
|
||||
mLoadingCurrentActiveEntry(aInfo->mLoadingCurrentActiveEntry) {
|
||||
MOZ_ASSERT(SessionHistoryEntry::sLoadIdToEntry &&
|
||||
SessionHistoryEntry::sLoadIdToEntry->Get(aLoadId) == aEntry);
|
||||
SessionHistoryEntry::sLoadIdToEntry->Get(mLoadId) == aEntry);
|
||||
}
|
||||
|
||||
already_AddRefed<nsDocShellLoadState>
|
||||
|
|
|
@ -213,7 +213,9 @@ class SessionHistoryInfo {
|
|||
struct LoadingSessionHistoryInfo {
|
||||
LoadingSessionHistoryInfo() = default;
|
||||
explicit LoadingSessionHistoryInfo(SessionHistoryEntry* aEntry);
|
||||
LoadingSessionHistoryInfo(SessionHistoryEntry* aEntry, uint64_t aLoadId);
|
||||
// Initializes mInfo using aEntry and otherwise copies the values from aInfo.
|
||||
LoadingSessionHistoryInfo(SessionHistoryEntry* aEntry,
|
||||
LoadingSessionHistoryInfo* aInfo);
|
||||
|
||||
already_AddRefed<nsDocShellLoadState> CreateLoadInfo() const;
|
||||
|
||||
|
|
|
@ -144,8 +144,6 @@ support-files = file_sessionhistory_iframe_removal.html
|
|||
[test_scrollRestoration.html]
|
||||
[test_bug1609475.html]
|
||||
[test_bug1300461.html]
|
||||
skip-if =
|
||||
fission # Bug 1688712
|
||||
[test_bug1326251.html]
|
||||
skip-if = toolkit == 'android' || sessionHistoryInParent # It relies on the bfcache
|
||||
[test_bug1379762.html]
|
||||
|
|
Загрузка…
Ссылка в новой задаче