Open Bug 2056446 Opened 18 days ago Updated 18 days ago

Do not reload suspended homepage tabs

Categories

(Firefox for Android :: Homepage, task, P3)

All
Android
task

Tracking

()

ASSIGNED

People

(Reporter: gl, Assigned: gl)

References

(Blocks 1 open bug)

Details

STR:

  1. Open a few Homepage tabs from the tabs tray.
  2. Open a lot of tabs to hit memory pressure so the older Homepage tabs will become suspended.
  3. Select a Homepage tab that was opened early on. Internally, this Homepage tab should be suspended.
  4. From the Homepage, navigate to a site. This can be from performing a search, selecting a shortcut or entering a URL.

Actual:

  • Observe that the navigation to the URL doesn't happen and we have navigated to the Homepage. This might appear as if you stayed on the Homepage. This happens intermittently. It is reproducible only when the Homepage tab has been suspended.

Expected:

  • We should be navigating to the URL instead of staying on the Homepage

Internal Details:

Homepage tabs (about:home) can be suspended and discarded under memory pressure by TrimMemoryMiddleware and SessionPrioritizationMiddleware, which will suspend every tab except the selected tab and the 3 most recent active tabs. Suspending a tab will unlink and close the engineSession.

When an user selects a Homepage tab that has been suspended, its engineSession is recreated by CreateEngineSessionMiddleware. When the engineSession cannot be restored and skipLoading = false, it will load tab.content.url (about:home) in LinkingMiddleware, which will get intercepted by AboutHomeBinding or AppRequestInterceptor.interceptAboutHomeRequest and navigate to the Homepage.

Assignee: nobody → gl
Status: NEW → ASSIGNED
You need to log in before you can comment on or make changes to this bug.