Commit Graph

3304 Commits

Author SHA1 Message Date
Anny Gakhokidze
819beec24f Bug 1709136 - Part 2: Update SessionHistoryEntry in ReplaceLoadingSessionHistoryEntryForLoad, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D117238
2021-06-11 20:12:10 +00:00
Anny Gakhokidze
f50e5a2271 Bug 1709136 - Part 1: Remove the explicit remoteness switch that happens during the restore process, r=nika,kashav
Differential Revision: https://phabricator.services.mozilla.com/D116209
2021-06-11 20:12:10 +00:00
Kashav Madan
05ebd073f0 Bug 1715264 - Fix browser_async_remove_tab.js for SHIP, r=farre
Relies on frame script message ordering.

Differential Revision: https://phabricator.services.mozilla.com/D117233
2021-06-10 14:31:00 +00:00
Kashav Madan
a3884cf2cb Bug 1715264 - Fix browser_async_flushes.js for SHIP, r=farre
Relies on frame script message ordering.

Differential Revision: https://phabricator.services.mozilla.com/D117232
2021-06-10 14:31:00 +00:00
Kashav Madan
f333797e09 Bug 1715264 - Remove annotations for browser_sessionHistory.js, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D117231
2021-06-10 14:30:59 +00:00
Kashav Madan
8e1b580c53 Bug 1715264 - Cleanup how Session Store collects SessionHistory, r=farre
This does a few things:

1. Removes the `aImmediately` flag from the RequestSHistoryUpdate path, and
   moves that responsibility to SessionStore
1. Simplifies how and when SessionStore calls SessionHistory.collectFromParent()
1. Attempts to clean-up SessionStore's SHistoryListener (again)

Differential Revision: https://phabricator.services.mozilla.com/D117230
2021-06-10 14:30:59 +00:00
Andreas Farre
7f00bb04af Bug 1710004 - Part 3: Restore session storage from the parent process. r=kashav,asuth
Depends on D116007

Differential Revision: https://phabricator.services.mozilla.com/D116213
2021-06-08 13:42:33 +00:00
Andreas Farre
4ae50334b4 Bug 1710004 - Part 1: Remove dataset concept from Session Storage. r=asuth
Session Storage used to share implementation with Local Storage, where
a distinction of a default data set from a session data set made
sense. In Session Storage all data is actually scoped by the
session. Since Bug 1322316 Session Storage no longer share
implementation with Local Storage, which makes it safe to collapse the
datasets in Session Storage to one dataset, which makes life easier,
especially for Session (Re-)Store.

Differential Revision: https://phabricator.services.mozilla.com/D116609
2021-06-08 13:42:33 +00:00
Butkovits Atila
062f432f2a Bug 1713975 - disable browser_sessionHistory.js on Linux_opt for frequent failures. r=intermittent-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D116944
2021-06-07 20:00:20 +00:00
Andrew Halberstadt
b3eb1cd91a Bug 1714225 - Expand skip annotation in 'browser_async_remove_tab.js' for MacOS fission perma-fail, r=intermittent-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D117019
2021-06-07 15:16:58 +00:00
Andrew Halberstadt
0e38db81bd Bug 1714225 - Skip 'browser/components/sessionstore/test/browser_async_remove_tab.js' on Windows fission for perma-fail, r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D116731
2021-06-03 17:51:38 +00:00
Andrew Halberstadt
cbd804bdc5 Bug 1694824 - [ci] Annotate browser-chrome manifests for new fission failures, r=jmaher,extension-reviewers,preferences-reviewers,zombie
Differential Revision: https://phabricator.services.mozilla.com/D116276
2021-06-02 19:22:25 +00:00
Kashav Madan
e4319dbdca Bug 1706445 - Fix test helpers that use "SessionStore:update", r=nika,perftest-reviewers,sparky
Also skips a frame script OOM test for Fission.

Differential Revision: https://phabricator.services.mozilla.com/D115930
2021-06-01 20:06:48 +00:00
Kashav Madan
fd8c06b448 Bug 1706445 - Stop loading content-sessionStore.js for SHIP, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D116147
2021-06-01 20:06:47 +00:00
Kashav Madan
3ea6f755ce Bug 1706445 - Handle isFinal updates through native code, r=nika
Replaces the `isFinal` bit with a "browser-shutdown-tabstate-updated" observer
notification, which is fired after all frames in the document are flushed.

Differential Revision: https://phabricator.services.mozilla.com/D116146
2021-06-01 20:06:47 +00:00
Kashav Madan
b37ae426cb Bug 1706445 - Merge the two TabState.update() paths, r=nika
This will make it easier to handle isFinal updates.

Differential Revision: https://phabricator.services.mozilla.com/D116145
2021-06-01 20:06:47 +00:00
Kashav Madan
1c4d6d6b38 Bug 1706445 - Stop using "SessionStore:flush" for SHIP, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D116144
2021-06-01 20:06:46 +00:00
Andreas Farre
6363db0f16 Bug 1713098 - Make modifySessionStorage use browsing context to get subframe. r=kashav
Differential Revision: https://phabricator.services.mozilla.com/D116102
2021-05-28 07:48:51 +00:00
Andreas Farre
f48f673e2a Part 3: Bug 1700623 - Used TabStateFlusher.flush to guarantee session store state. r=kashav
Depends on D111429

Differential Revision: https://phabricator.services.mozilla.com/D111430
2021-05-26 07:14:04 +00:00
Mike Conley
81b37a519c Bug 1709050 - Suppress the focus ring in the upgrade dialog and some about: pages when they first load. r=Mardak,Gijs
Using autofocus="true" or programmatically calling .focus() when there is no pre-existing focused
element causes the :focus-visible to match.

This patch avoids using autofocus="true" on some of our about: pages, and uses
Element.focus({ preventFocusRing: true }) to avoid that when these pages and dialog
first load. Note that this doesn't prevent the focus ring from _ever_ appear, it just
stops it from appearing on first load.

Differential Revision: https://phabricator.services.mozilla.com/D115062
2021-05-21 18:13:29 +00:00
Alexandru Michis
26d8e32b13 Backed out 9 changesets (bug 1700623) for causing bc failures in browser_history_menu.js
CLOSED TREE

Backed out changeset 5eae296ad8b5 (bug 1700623)
Backed out changeset 97c3add3b00a (bug 1700623)
Backed out changeset 7ab483627a27 (bug 1700623)
Backed out changeset a4e673640de5 (bug 1700623)
Backed out changeset 513ea16be430 (bug 1700623)
Backed out changeset 88b4add342df (bug 1700623)
Backed out changeset c13bdee1b526 (bug 1700623)
Backed out changeset 26df421dac02 (bug 1700623)
Backed out changeset 6cd0b7a269e5 (bug 1700623)
2021-05-21 11:43:54 +03:00
Andreas Farre
78a8e64c47 Part 3: Bug 1700623 - Used TabStateFlusher.flush to guarantee session store state. r=kashav
Depends on D111429

Differential Revision: https://phabricator.services.mozilla.com/D111430
2021-05-20 12:48:21 +00:00
Anny Gakhokidze
c8002511a8 Bug 1707138 - Don't send session store updates after we start process switching, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D115015
2021-05-18 20:01:55 +00:00
Mike Conley
2d38d7c0db Bug 1709472 - Change error page favicon from warning.svg to info.svg. r=jaws
This also updates the icon used for the "focus tab by prompting" permission in
the permission panel to use info.svg.

Differential Revision: https://phabricator.services.mozilla.com/D114653
2021-05-17 18:56:01 +00:00
Butkovits Atila
6fd223c2ec Backed out changeset ec36559d6b92 (bug 1709050) for causing failure at browser_aboutNetError.js. CLOSED TREE 2021-05-17 21:49:03 +03:00
Mike Conley
5fea93c5a7 Bug 1709050 - Suppress the focus ring in the upgrade dialog and some about: pages when they first load. r=Mardak,Gijs
Using autofocus="true" or programmatically calling .focus() when there is no pre-existing focused
element causes the :focus-visible to match.

This patch avoids using autofocus="true" on some of our about: pages, and uses
Element.focus({ preventFocusRing: true }) to avoid that when these pages and dialog
first load. Note that this doesn't prevent the focus ring from _ever_ appear, it just
stops it from appearing on first load.

Differential Revision: https://phabricator.services.mozilla.com/D115062
2021-05-17 17:44:09 +00:00
Dorel Luca
9508ff975b Backed out changeset 13b220eff7d8 (bug 1709050) for Browser-chrome failures in browser/base/content/test/about/browser_aboutCertError.js. CLOSED TREE 2021-05-17 18:14:37 +03:00
Mike Conley
56fe4c6298 Bug 1709050 - Suppress the focus ring in the upgrade dialog and some about: pages when they first load. r=Mardak,Gijs
Using autofocus="true" or programmatically calling .focus() when there is no pre-existing focused
element causes the :focus-visible to match.

This patch avoids using autofocus="true" on some of our about: pages, and uses
Element.focus({ preventFocusRing: true }) to avoid that when these pages and dialog
first load. Note that this doesn't prevent the focus ring from _ever_ appear, it just
stops it from appearing on first load.

Differential Revision: https://phabricator.services.mozilla.com/D115062
2021-05-17 13:58:49 +00:00
Brindusan Cristian
6eda1c1956 Backed out changeset 289f6a96b9e4 (bug 1709472) for xpcshell failures in test_bookmarks_html.js. CLOSED TREE 2021-05-14 00:37:24 +03:00
Mike Conley
d7c8ef56aa Bug 1709472 - Change error page favicon from warning.svg to info.svg. r=jaws
This also updates the icon used for the "focus tab by prompting" permission in
the permission panel to use info.svg.

Differential Revision: https://phabricator.services.mozilla.com/D114653
2021-05-13 19:32:00 +00:00
Anny Gakhokidze
f97d657a0f Bug 1703326 - Stop relying on ContentSessionStore for SessionStore:crashedTabRevived, r=kashav
Differential Revision: https://phabricator.services.mozilla.com/D113425
2021-05-12 19:33:47 +00:00
Emma Malysz
d8bb23b837 Bug 1649605, part 1: provide async support for promise workers r=barret,asuth
Differential Revision: https://phabricator.services.mozilla.com/D113152
2021-05-06 18:21:51 +00:00
Kashav Madan
72326e982d Bug 1703556 - Wait for individual SSTabRestored events before proceeding, r=annyG
Awaiting setWindowState doesn't actually work here, since we fire the
SSWindowRestored event before the tabs finish restoring (bug 1709411 to rename
the event). It works to just wait for the individual SSTabRestored events, since
we'll only fire those after each tab is restored.

Differential Revision: https://phabricator.services.mozilla.com/D114261
2021-05-06 13:55:15 +00:00
Kashav Madan
20acb75b2d Bug 1702055 - Fix how the expected SSTabRestored count is calculated in waitForBrowserState, r=nika
SessionStore factors both prefs into the decision about if a tab is restored
lazily, but this helper only uses the `restore_tabs_lazily` pref.

Depends on D114001

Differential Revision: https://phabricator.services.mozilla.com/D114002
2021-05-03 18:16:42 +00:00
Kashav Madan
eac70e8972 Bug 1702055 - Ensure SSTabRestoring is only fired once per browser, r=nika
A previous patch made it so we'd fire this after the full restore finished, but
some consumers expect this event prior to the completion of the load.

Differential Revision: https://phabricator.services.mozilla.com/D114001
2021-05-03 18:16:41 +00:00
Kashav Madan
3bfc3cb594 Bug 1702055 - Move the "restore DocShell state" process out of ContentSessionStore, r=nika
This also makes it so that we will never fire SSTabRestored without first having
sent the associated SSTabRestoring event.

Differential Revision: https://phabricator.services.mozilla.com/D110335
2021-05-03 18:16:41 +00:00
Kashav Madan
e583ecfaab Bug 1702055 - Include the SessionStore epoch in "SessionStore:flush" messages, r=nika
With the removal of the SessionStore:RestoreDocShellState message, the epoch
will no longer be updated otherwise, so we should include it in the Flush
message to ensure that messages are not being dropped.

Differential Revision: https://phabricator.services.mozilla.com/D110334
2021-05-03 18:16:40 +00:00
Kashav Madan
556162f994 Bug 1702055 - Replace CallRestoreTabContentComplete with a Promise, r=nika
This should help avoid message ordering issues in the next patches. To ensure
that we're not firing events too early, we now do a "full" restore even if we
don't have form or scroll data, including for about:blank URIs.

This also moves all restore state on the CanonicalBrowsingContext into a
separate `mRestoreState` struct.

Differential Revision: https://phabricator.services.mozilla.com/D110333
2021-05-03 18:16:40 +00:00
Kashav Madan
2fdef46f8f Bug 1690134 - Fix flakiness in browser_history_persist.js, r=annyG
Waiting for the about:robots load explicitly ensures we don't proceed until all
history changes have fully propagated.

Differential Revision: https://phabricator.services.mozilla.com/D113686
2021-04-28 21:49:15 +00:00
Butkovits Atila
80c415a4fc Backed out 4 changesets (bug 1702055) for causing failures on /browser_UsageTelemetry_private_and_restore.js. CLOSED TREE
Backed out changeset af21e2d8324e (bug 1702055)
Backed out changeset ff67df9befe5 (bug 1702055)
Backed out changeset b5f0638dcbc4 (bug 1702055)
Backed out changeset bffaa2c203b3 (bug 1702055)
2021-04-28 04:42:09 +03:00
Kashav Madan
ed25699760 Bug 1702055 - Only call setInitialTabTitle() if the label hasn't yet been set, r=nika
With the new "restore docshell state" codepath, we may be calling
updateTabLabelAndIcon() later than we did before, which means we may have
already set the tab label (in tabbrowser.init()), and it's incorrect to override
that label value with the session history entry's title.

Differential Revision: https://phabricator.services.mozilla.com/D111456
2021-04-27 19:54:58 +00:00
Kashav Madan
5032f65750 Bug 1702055 - Move the "restore DocShell state" process out of ContentSessionStore.jsm, r=nika
This also makes it so that we will never fire SSTabRestored without first having
sent the associated SSTabRestoring event.

Differential Revision: https://phabricator.services.mozilla.com/D110335
2021-04-27 19:54:57 +00:00
Kashav Madan
f163b81676 Bug 1702055 - Ensure that ContentSessionStore's epoch is updated for tab flushes, r=nika
With the removal of the SessionStore:RestoreDocShellState message, the epoch
will no longer be updated otherwise, so we should include it in the Flush
message to ensure that messages are not being dropped.

Differential Revision: https://phabricator.services.mozilla.com/D110334
2021-04-27 19:54:57 +00:00
Kashav Madan
079d321f9d Bug 1702055 - Replace CallRestoreTabContentComplete with a Promise, r=nika
This should help avoid message ordering issues in the next patches. To ensure
that we're not firing events too early, we now do a "full" restore even if we
don't have form or scroll data, including for about:blank URIs.

This also moves all restore state on the CanonicalBrowsingContext into a
separate `mRestoreState` struct.

Differential Revision: https://phabricator.services.mozilla.com/D110333
2021-04-27 19:54:56 +00:00
Kashav Madan
4abf228317 Bug 1696137 - Fix timeouts in browser_reopen_all_windows.js, r=annyG
We currently wait for the "sessionstore-single-window-restored" notification and
*then* start listening for individual "SSTabRestored" events. This doesn't work
because we may fire those events before we get the chance to create the listener.

Listening for "browser-window-before-show" works consistently, but we need
references to the windows *before* they start restoring, so we have
to manually run the "Restore All Windows" code, instead of clicking the Library
button.

Originally part of the patch stack for bug 1703556.

Differential Revision: https://phabricator.services.mozilla.com/D112887
2021-04-26 18:08:11 +00:00
Joel Maher
5a5bc0c176 Bug 1706716 green up mda, xpcshell, browser-chrome, reftest for apple silicon. r=necko-reviewers,extension-reviewers,preferences-reviewers,application-update-reviewers,zombie,ahal,bytesized
Differential Revision: https://phabricator.services.mozilla.com/D113001
2021-04-22 18:39:40 +00:00
Anny Gakhokidze
b5550e7d69 Bug 1701735 - Skip browser_scrollPositions.js when fission is disabled, r=nika
We have fixed this test previously for fission, and it's only failing without
it.

Differential Revision: https://phabricator.services.mozilla.com/D113044
2021-04-22 17:42:10 +00:00
Kashav Madan
991fe1e4cc Bug 1702797 - Split up the SingleSelect and MultipleSelect cases in RestoreFormEntry, r=nika
A document that changes the "multiple" attribute of the <select> element after
the load event (eg., perhaps in response to user action) will crash the browser
since we will attempt to restore data collected for a multi-select into a
single-select.

Differential Revision: https://phabricator.services.mozilla.com/D112057
2021-04-20 16:01:10 +00:00
Alexandru Michis
922ef41b13 Backed out changeset ead1910420a0 (bug 1702797) for causing bc failures in browser_multiple_select_after_load.js
CLOSED TREE
2021-04-16 19:42:35 +03:00
Kashav Madan
4180e5f2c6 Bug 1702797 - Split up the SingleSelect and MultipleSelect cases in RestoreFormEntry, r=nika
A document that changes the "multiple" attribute of the <select> element after
the load event (eg., perhaps in response to user action) will crash the browser
since we will attempt to restore data collected for a multi-select into a
single-select.

Differential Revision: https://phabricator.services.mozilla.com/D112057
2021-04-16 15:59:27 +00:00