Record telemetry when restoring into a mismatched window
Categories
(Firefox :: Session Restore, task, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox158 | --- | fixed |
People
(Reporter: sthompson, Assigned: sthompson)
References
(Blocks 1 open bug)
Details
(Whiteboard: [fidefe-session-restore])
Attachments
(1 file)
Bug 2065228 fixes SessionStore.restoreLastSession() so that we don't attempt to restore a saved window state into an existing window unless the existing window already has all of the window features declared by the saved window state.
However, this does not address the more general SessionStore.#restoreWindows() path that runs in more scenarios. I'm less sure about what might break if I try to prevent any attempts to reuse existing windows, even if they are not in the right state. I figure that adding telemetry might help assess:
- which paths through the code can lead to this problem
- which types of windows/window features might be affected
- how many people might be affected
- what the impact might be
Updated•1 month ago
|
| Assignee | ||
Comment 1•1 month ago
|
||
This patch records when SessionRestore.#restoreWindows was asked to restore state into a window that has immutable window features. In these cases, affected windows won't be fully restored to the desired state, so there may be bugs or other issues that result. This patch only provides a warning log and records the window features so that we can learn more about any code paths or window features need to be updated before we can fully prevent SessionStore from reusing unsuitable windows.
After bug 2060396 and bug 2064683, it's no longer possible to change some window features on existing windows. Manual session restore ("restore last session") has long had additional logic to avoid unsuitable existing windows to restore into, and the previous patch in this stack hardens that code.
However, that code path is separate from the general "restore windows" path. The "restore windows" path seems like it has guaranteed to callers that SessionStore will make a window fully conform to a session state. Even though we can't guarantee that anymore, I'm reluctant to make a broad change here because I don't fully understand all of the potential impacts.
Comment 2•1 month ago
|
||
Adding to bug 2066295's list of telemetry improvements for session restore.
Updated•28 days ago
|
| Assignee | ||
Updated•25 days ago
|
Comment 5•24 days ago
|
||
Backed out for causing debug marionette failures at sessionstore
Backout Link
Push with failures
Failure Log
Failure line TEST-UNEXPECTED-ERROR | browser/components/sessionstore/test/marionette/test_close_last_nonpopup_window.py TestCloseLastNonPopupWindow.test_close_last_nonpopup_window | TypeError: SessionStoreTestCase.open_window_with_extra_options() missing 1 required positional argument: 'extra_options'
Comment 7•23 days ago
|
||
| bugherder | ||
Updated•18 days ago
|
Updated•1 day ago
|
Description
•