Closed Bug 1650095 Opened 4 years ago Closed 4 years ago

Implement SessionHistoryEntry::Get/SetHasUserInteraction

Categories

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

task

Tracking

()

RESOLVED FIXED
85 Branch
Fission Milestone Future
Tracking Status
firefox85 --- fixed

People

(Reporter: peterv, Assigned: johannh)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

No description provided.
Severity: -- → N/A
Type: defect → task
Fission Milestone: M6a → M6b
Priority: -- → P2

Get/SetHasUserInteraction is no longer shipping so not a Fission blocker right now.

Fission Milestone: M6b → Future

Peter, I assume it's okay for me to take this?

Assignee: peterv → jhofmann

This will ensure we reflect changes that were made to that entry after it was added, see
https://phabricator.services.mozilla.com/D93346#inline-535006 for more context.

Attachment #9181289 - Attachment description: Bug 1650095 - Implement SessionHistoryEntry::Get/SetHasUserInteraction. r=peterv → Bug 1650095 - Implement SessionHistoryEntry::Get/SetHasUserInteraction. r=peterv,smaug

This is more consistent than an assertion and it should be safe, considering that the field
should be unused on child entries anyway, so we might as well return the value from the root.

Depends on D93346

Attachment #9184497 - Attachment description: Bug 1650095 - Collect current entry when partially updating session history. r=kashav,Gijs → Bug 1650095 - Part 1 - Collect current entry when partially updating session history. r=kashav,Gijs
Attachment #9181289 - Attachment description: Bug 1650095 - Implement SessionHistoryEntry::Get/SetHasUserInteraction. r=peterv,smaug → Bug 1650095 - Part 2 - Implement SessionHistoryEntry::Get/SetHasUserInteraction. r=peterv,smaug
Attachment #9184771 - Attachment description: Bug 1650095 - Make nsISHEntry.hasUserInteraction consistently forward to the root entry. r=smaug → Bug 1650095 - Part 3 - Make nsISHEntry.hasUserInteraction consistently forward to the root entry. r=smaug

When re-enabling the test case blocked by bug 1670933 it became apparent that we were not allowing
session history entries to be marked with user interaction when the SH entry was created by navigation
through a sub-frame. The code that we had for this only covered updating SH entries after pushState etc.,
not adding new entries for document loads.

When SH lives in the child this is easier to manage in nsDocShell, but with Fission it probably makes sense
to move this code to the parent.

Depends on D95300

Pushed by jhofmann@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bb32728a96fc
Part 1 - Collect current entry when partially updating session history. r=kashav,Gijs
https://hg.mozilla.org/integration/autoland/rev/adf238e6c606
Part 2 - Implement SessionHistoryEntry::Get/SetHasUserInteraction. r=smaug
https://hg.mozilla.org/integration/autoland/rev/2acf8a782450
Part 3 - Make nsISHEntry.hasUserInteraction consistently forward to the root entry. r=smaug
https://hg.mozilla.org/integration/autoland/rev/53c001f92253
Part 4 - For Fission, reset SHEntryHasUserInteraction cache in the parent when adding/updating SH entries. r=smaug
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: