Closed Bug 1536471 Opened 10 months ago Closed 9 months ago

Consolidate calls to nsISHEntry::GetChildAt

Categories

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

Other Branch
enhancement

Tracking

()

RESOLVED FIXED
Fission Milestone M2

People

(Reporter: annyG, Assigned: annyG)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

No description provided.
Blocks: 1438272
Fission Milestone: --- → M2
No longer depends on: 1438272
Summary: Add new sync IPC call RemoveChildWithIDs in nsISHEntry to reduce the number of IPC calls in nsISHistory::RemoveEntries → Add new sync IPC call ClearFrameEntries in nsISHistory to reduce the number of IPC calls in nsDocShell::ClearFrameHistory

I changed the bug description as we realized that nsISHistory::RemoveEntries is in the parent process already.

Blocks: fission-history
No longer blocks: 1438272
Status: NEW → ASSIGNED
Depends on: 1438272
Priority: -- → P2

Currently, nsDocShell repeatedly calls nsISHEntry::GetChildAt and
nsISHEntry::RemoveChild in nsDocShell::AddToSessionHistory,
which results in twice as many IPC calls as the number of children
a session history entry has. Additionally, there is one extra
IPC sync call to nsISHEntry::AbandonBFCacheEntry after the loop.

With the proposed solution, there will only be 1 sync IPC call.

Depends on D24977

Currently, nsDocShell repeatedly calls nsISHEntry::GetChildAt, which
results in as many IPC sync calls as the number of children
a session history entry has. Calling nsISHEntry::GetChildCount
and ChildSHistory::LEgacySHistory::RemoveEntries incurs additional
extra 2 sync IPC calls.

With the proposed solution, there will only be 1 sync IPC call.

Summary: Add new sync IPC call ClearFrameEntries in nsISHistory to reduce the number of IPC calls in nsDocShell::ClearFrameHistory → Consolidate calls to nsISHEntry::GetChildAt
Whiteboard: [4/25] patches r+, blocked on bug 1438272 to land
Whiteboard: [4/25] patches r+, blocked on bug 1438272 to land → [5/3] patches r+, waiting on try run to land
Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Whiteboard: [5/3] patches r+, waiting on try run to land
Version: unspecified → Other Branch
Regressions: 1593183
Pushed by pvanderbeken@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/4c45890e566b
Consolidate calls to nsISHEntry::GetChildAt in nsDocShell::ClearFrameHistory by adding a new sync IPC call nsISHistory::RemoveFrameEntries, r=peterv, r=nika for adding sync IPC messages
https://hg.mozilla.org/integration/mozilla-inbound/rev/8d5396434bb4
Write tests for nsISHistory::RemoveFrameEntries, r=peterv
https://hg.mozilla.org/integration/mozilla-inbound/rev/d5388b03ad03
Consolidate calls to nsISHEntry::GetChildAt in nsDocShell::AddToSessionHistory by adding nsSHEntry::ClearEntry method, r=peterv, r=nika for adding sync IPC messages
You need to log in before you can comment on or make changes to this bug.