Commit Graph

700 Commits

Author SHA1 Message Date
Nika Layzell
c48fb442df Bug 1650089 - Part 6: Don't set maychangeremoteness on non-e10s browsers, r=Gijs
This change makes all browsers which were not created with an initial `remote`
attribute within a non-`useRemoteTabs` window be unable to process-switch, as
otherwise we may attempt to switch loads into a content process. We need to
keep process switching enabled for explicitly-remote browsers loaded in a
non-`useRemoteTabs` window as it's relied on for tests and can lead to
assertion failures due to loading remote content in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D121285
2021-08-10 14:31:18 +00:00
Butkovits Atila
0d09646c51 Backed out 8 changesets (bug 1650089) for causing Xpcshell failures on test_ext_redirects.js. CLOSED TREE
Backed out changeset ee763318d378 (bug 1650089)
Backed out changeset 24d7898ec4bd (bug 1650089)
Backed out changeset bcdd2f5c9840 (bug 1650089)
Backed out changeset 24a5bd7f97dd (bug 1650089)
Backed out changeset 1b8b4e939e82 (bug 1650089)
Backed out changeset a7a4f37a5d72 (bug 1650089)
Backed out changeset 78c012d4b071 (bug 1650089)
Backed out changeset e870508c1ddc (bug 1650089)
2021-08-06 04:35:52 +03:00
Nika Layzell
ee2b624f22 Bug 1650089 - Part 6: Don't set maychangeremoteness on non-e10s browsers, r=Gijs
This change makes all browsers which were not created with an initial `remote`
attribute within a non-`useRemoteTabs` window be unable to process-switch, as
otherwise we may attempt to switch loads into a content process. We need to
keep process switching enabled for explicitly-remote browsers loaded in a
non-`useRemoteTabs` window as it's relied on for tests and can lead to
assertion failures due to loading remote content in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D121285
2021-08-06 00:10:58 +00:00
Doug Thayer
422c3e0585 Bug 1546847 - Backed out bug 1546847 and related revs r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D121898
2021-08-05 18:34:56 +00:00
Alexandru Michis
c8caa831d9 Backed out 7 changesets (bug 1650089) for causing xpcshell failures in test_ext_cookieBehaviors.js
Backed out changeset 336d6eb2fc15 (bug 1650089)
Backed out changeset 283ba29cdbeb (bug 1650089)
Backed out changeset c470e4c65117 (bug 1650089)
Backed out changeset 8fc2f428694d (bug 1650089)
Backed out changeset 37e5185dae14 (bug 1650089)
Backed out changeset a26afdc56d91 (bug 1650089)
Backed out changeset 32e207558b3d (bug 1650089)
2021-08-04 12:32:07 +03:00
Nika Layzell
94a2b65fb1 Bug 1650089 - Part 6: Don't set maychangeremoteness on non-e10s browsers, r=Gijs
This change makes all browsers which were not created with an initial `remote`
attribute within a non-`useRemoteTabs` window be unable to process-switch, as
otherwise we may attempt to switch loads into a content process. We need to
keep process switching enabled for explicitly-remote browsers loaded in a
non-`useRemoteTabs` window as it's relied on for tests and can lead to
assertion failures due to loading remote content in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D121285
2021-08-03 18:17:56 +00:00
Noemi Erli
dec3cca55f Backed out 7 changesets (bug 1650089) foe causing bustages in ProcessIsolation.cpp
Backed out changeset 4e73beb8872c (bug 1650089)
Backed out changeset 092451e931ce (bug 1650089)
Backed out changeset ca9ba60010c6 (bug 1650089)
Backed out changeset ee61b69ba556 (bug 1650089)
Backed out changeset 091c4efa36a7 (bug 1650089)
Backed out changeset dbdee40ef8a0 (bug 1650089)
Backed out changeset 54d12a4333a0 (bug 1650089)
2021-08-03 20:15:54 +03:00
Nika Layzell
ab600b516f Bug 1650089 - Part 6: Don't set maychangeremoteness on non-e10s browsers, r=Gijs
This change makes all browsers which were not created with an initial `remote`
attribute within a non-`useRemoteTabs` window be unable to process-switch, as
otherwise we may attempt to switch loads into a content process. We need to
keep process switching enabled for explicitly-remote browsers loaded in a
non-`useRemoteTabs` window as it's relied on for tests and can lead to
assertion failures due to loading remote content in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D121285
2021-08-03 15:39:35 +00:00
Nika Layzell
7a5499a27f Bug 1715773 - Remove preloaded newtab process selection logic, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D121423
2021-08-03 15:17:07 +00:00
Doug Thayer
1099a0fe75 Bug 1546847 - Cache tab icons in worker to avoid serialization r=kashav
Read this as a first step. It's the easiest first step I could think of to
both reduce the quantity of stuff we serialize and ship to the worker as
well as to spread it out over multiple messages.

Anyway, the motivation is pretty simple. Taking a look at a session store
file on disk, a giant chunk of it is base64 encoded tab icons. I suspect
that in many cases these are not distinct. For my session store it's about
90% the same repeated searchfox icon over and over.

So what I did was I changed the "image" property of the tab to be a reference
into a deduplicated cache of objects (in this case strings). Whenever the tab
icon changes, we drop a reference to its cache entry and add a reference to a
new or existing entry. Each time a cache entry is added or deleted, we send
a message to the worker to update its own copy of the cache. This does
represent a memory hit, since the cache is maintained on the worker as well as
the main thread, but I think it's going to be minor, and it's only in one
process. Given the deduplication there is the possibility of an overall
reduction in memory use? This needs more testing.

Once it comes time to write the session data to disk, we send the payload with
"image" entries referencing IDs in the cache. When the worker gets the message
to write, it adds its internal cache to the object, which it then serializes
to JSON and writes to disk as usual.

When reading the data off disk, we take the cache items that had been written
and we slowly populate the worker's internal cache with them (to not overload
during startup with a giant message). And when populating tab icons of tabs in
the tab strip, we look up the image in the main thread copy of the cache. Also,
if we cannot find the entry, we assume that the image is just the raw
representation of the image. This ensures that we interpret a sessionstore file
from prior to this patch correctly.

Additionally, since we have the cache duplicated on both threads, if the worker
gets terminated for some reason, we rehydrate it with the snapshot of the cache
from when we noticed it was a problem.

I suspect some tests will need to be updated, or maybe many tests. However I
wanted to throw this patch past someone with more knowledge of the session
store's inner workings before throwing a bunch of time at that.

Differential Revision: https://phabricator.services.mozilla.com/D114196
2021-08-02 16:17:30 +00:00
Gijs Kruitbosch
8cb905c538 Bug 1512851 - make share menu handling more generic and replace the file menu's email link with it on macOS, r=sfoster,fluent-reviewers,flod
Depends on D120637

Differential Revision: https://phabricator.services.mozilla.com/D120638
2021-07-26 12:22:38 +00:00
Gijs Kruitbosch
e58d8c5911 Bug 1512851 - extract share menu handling from tabbrowser.js into a utility in browser.js, r=sfoster
Depends on D120636

Differential Revision: https://phabricator.services.mozilla.com/D120637
2021-07-26 12:22:38 +00:00
Toshihito Kikuchi
31e2140144 Bug 1715858 - Part1. Add a new telemetry histogram TAB_UNLOAD_TO_RELOAD. r=NeilDeakin
The new histogram `TAB_UNLOAD_TO_RELOAD` records how long a tab had been
unloaded until it was reload by a user.  With this data, we can evaluate
the selection logic to choose a tab to unload.  For example, if many of
unloaded tabs are reloaded within 30 seconds or so, we unload a wrong tab.

Differential Revision: https://phabricator.services.mozilla.com/D120019
2021-07-22 21:15:00 +00:00
Neil Deakin
b239aadf74 Bug 1717680, use popup.triggerNode instead of document.triggerNode when determining bookmarks tooltips, r=mak
Differential Revision: https://phabricator.services.mozilla.com/D118521
2021-07-09 11:51:14 +00:00
Daisuke Akatsuka
1c4aedcd22 Bug 1686951: Support switch-to-tab in private browsing window. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D117974
2021-06-21 01:33:26 +00:00
Gijs Kruitbosch
fc906b8227 Bug 1711519 - remove non-proton notificationbox code and remove conditionals for proton, r=jaws
Depends on D116630

Differential Revision: https://phabricator.services.mozilla.com/D116631
2021-06-03 11:41:54 +00:00
Gijs Kruitbosch
d2f652ce40 Bug 1711519 - remove trivial gProton and gProtonDoorhangers checks, r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D116630
2021-06-03 11:41:54 +00:00
Neil Deakin
a35f7a2e52 Bug 1709379, don't special case picture in picture mode in tooltips as the button is still a mute button, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D115555
2021-05-31 13:09:44 +00:00
Neil Deakin
a3ff4212dd Bug 1696214, use moveToAnchor to position the tab and places tooltips so that the close and mute button tooltips appear correctly, r=jaws
This involves changing moveToAnchor to be allowed while the popup is showing. This change allows the buttons within the tab to use the normal algorithm for determining the tooltip position. This also fixes bug 1695900 so that tooltips for items in bookmarks menus also appear offset as well. Only the main tab and bookmarks on the toolbar appear aligned with the button's bottom edge.

Differential Revision: https://phabricator.services.mozilla.com/D115558
2021-05-31 13:07:35 +00:00
Gijs Kruitbosch
31037aa329 Bug 1712306 - add telemetry for the close multiple tabs modal, r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D115840
2021-05-27 21:01:01 +00:00
Ed Lee
73ff0e3c14 Bug 1706963 - Close other window modal subdialog before quit/close window prompts r=Gijs
Allow quit/close dialogs to jump the queue with new method gDialogBox.replaceDialogIfOpen().

Differential Revision: https://phabricator.services.mozilla.com/D114654
2021-05-21 17:56:20 +00:00
Florian Quèze
a7ed8808cd Bug 1704868 - avoid triggering the notificationbar stack lazy getter for every tab close, r=mstriemer.
Differential Revision: https://phabricator.services.mozilla.com/D111891
2021-04-16 22:32:30 +00:00
Bogdan Tara
534643362a Backed out 2 changesets (bug 1704868) for browser_app.js mochitest failures CLOSED TREE
Backed out changeset 0ac53cac5ca8 (bug 1704868)
Backed out changeset cc993666f052 (bug 1704868)
2021-04-16 22:37:35 +03:00
Florian Quèze
f6415b5925 Bug 1704868 - avoid triggering the notificationbar stack lazy getter for every tab close, r=mstriemer.
Differential Revision: https://phabricator.services.mozilla.com/D111891
2021-04-16 17:37:06 +00:00
Jan-Ivar Bruaroey
d663085059 Bug 1697487 - Show gray cam/mic indicator during permission grace periods. r=pbz
Differential Revision: https://phabricator.services.mozilla.com/D111000
2021-04-14 11:20:15 +00:00
Emilio Cobos Álvarez
3e3101a57b Bug 1703289 - Make mixed content blocker use a session-persistent permission rather than ad-hoc code. r=ckerschb,smaug
This is more fission-compatible, and a lot simpler.

Differential Revision: https://phabricator.services.mozilla.com/D111480
2021-04-12 18:04:12 +00:00
Gabriel Luong
4431d18f32 Bug 1692840 - Add "Open a New Tab" at the top of the tabstrip context menu. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D108365
2021-04-12 10:28:46 +00:00
Mark Striemer
0c53f87cfd Bug 1702330 - Graduate infobars to main proton pref r=jaws,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D110638
2021-04-10 19:56:10 +00:00
Dorel Luca
275bea067f Backed out 9 changesets (bug 1702330) for Mochitest failures in toolkit/components/url-classifier/tests/mochitest/test_reporturl.html. CLOSED TREE
Backed out changeset f84605e6fc8b (bug 1702330)
Backed out changeset 79c63bf11b29 (bug 1702330)
Backed out changeset 5425a2312f6e (bug 1702330)
Backed out changeset d76516e0d07d (bug 1702330)
Backed out changeset 3b75ffae171a (bug 1702330)
Backed out changeset 4bb6ceb6adb3 (bug 1702330)
Backed out changeset 607be325b4e8 (bug 1702330)
Backed out changeset 4b345ea924cc (bug 1702330)
Backed out changeset c7f0de372b21 (bug 1702330)
2021-04-10 07:48:08 +03:00
Mark Striemer
ed003d55c9 Bug 1702330 - Graduate infobars to main proton pref r=jaws,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D110638
2021-04-10 00:30:39 +00:00
Dorel Luca
b2afaf19c1 Backed out 8 changesets (bug 1702330)for Browser-chrome failures in est/popups/browser_popup_blocker.js. CLOSED TREE
Backed out changeset b81511f8e157 (bug 1702330)
Backed out changeset 15f60f1d3f14 (bug 1702330)
Backed out changeset 809af1f94b4b (bug 1702330)
Backed out changeset 63cec3eadb4f (bug 1702330)
Backed out changeset b9964fb4dd70 (bug 1702330)
Backed out changeset 1e5ccb47056e (bug 1702330)
Backed out changeset 65faaeeb2339 (bug 1702330)
Backed out changeset e72fb8b52609 (bug 1702330)
2021-04-09 20:21:35 +03:00
Mark Striemer
36846ae8e6 Bug 1702330 - Graduate infobars to main proton pref r=jaws,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D110638
2021-04-09 15:26:24 +00:00
Alexandru Michis
4dfc6d4aff Backed out 5 changesets (bug 1702330) for causing failures in browser_aboutNewTab_defaultBrowserNotification.js
CLOSED TREE

Backed out changeset 365fd1bb6dde (bug 1702330)
Backed out changeset eba73c72be18 (bug 1702330)
Backed out changeset e1277c21543f (bug 1702330)
Backed out changeset 907e4fcda266 (bug 1702330)
Backed out changeset eb2a8569ed02 (bug 1702330)
2021-04-09 03:34:23 +03:00
Mark Striemer
1d3127392a Bug 1702330 - Graduate infobars to main proton pref r=jaws,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D110638
2021-04-08 22:25:04 +00:00
Michael Kohler
7eab2a54b0 Bug 1699153 - Disable Close Multiple Tabs option when sub menuitems are disabled r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D110866
2021-04-08 17:54:14 +00:00
Jared Wein
2a5ee76cff Bug 1701707 - Update the tab tooltip for audio regardless if Proton is enabled or not. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D110592
2021-04-01 21:20:13 +00:00
Mark Striemer
4cb7946dc8 Bug 1690333 - Proton infobar styles r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D104585
2021-03-29 02:38:56 +00:00
Butkovits Atila
d44674b631 Backed out changeset 1890d2ac5a43 (bug 1690333) for causing failures on test_bug509732.xhtml. CLOSED TREE 2021-03-29 02:56:02 +03:00
Mark Striemer
ec8da555ef Bug 1690333 - Proton infobar styles r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D104585
2021-03-28 19:04:34 +00:00
Butkovits Atila
918c913984 Backed out 2 changesets (bug 1690333, bug 1699250) for causing failures on test_bug509732.xhtml. CLOSED TREE
Backed out changeset dcba2814dbc4 (bug 1690333)
Backed out changeset ae3a0e6dde00 (bug 1699250)
2021-03-28 21:16:58 +03:00
Mark Striemer
f699cfce4c Bug 1690333 - Proton infobar styles r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D104585
2021-03-28 17:02:21 +00:00
Cosmin Sabou
2027d03134 Backed out 2 changesets (bug 1690333, bug 1699250) for mochitest failures on test_notificationbox.xhtml.
Backed out changeset d6780d34ca05 (bug 1690333)
Backed out changeset 50cc5db86f1e (bug 1699250)
2021-03-27 23:58:04 +02:00
Mark Striemer
c831343532 Bug 1690333 - Proton infobar styles r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D104585
2021-03-27 21:02:51 +00:00
Jared Wein
dbfd3845e0 Bug 1701003 - Move proton tabs to the proton general pref. r=mstriemer
Differential Revision: https://phabricator.services.mozilla.com/D109764
2021-03-26 22:55:21 +00:00
Rob Wu
878b74f39d Bug 1698192 - Use correct currentURI during swapping of lazy browsers r=dao
Re-order calls in SessionStore.jsm to invoke the side-effect-free logic
before triggering observable events.

Clear (likely) stale value of the cached currentURI when lazy browsers
are swapped.

And while I was at it, I also fixed a bug that caused a lazy browser to
eagerly be unlazified because the unneeded mute() call on a lazy browser
unlazifies it (discovered when I added complete test coverage for this
change).

Differential Revision: https://phabricator.services.mozilla.com/D108260
2021-03-26 19:51:15 +00:00
Rob Wu
f1d1a8b43f Bug 1695346 - Skip tabs amidst restoration in tabs.onUpdated r=Gijs,rpl
`swapBrowsersAndCloseOther` calls `SessionStore.setTabState`, but the
latter may trigger several tab events before the tab has fully been
restored. This results in duplicate tabs.onUpdated events and in
unexpected access to properties of the tab/browser (which in turn
triggers the reported bug).

Fix this specific case by ignoring events that happen while the tab is
amidst a restoration.

Differential Revision: https://phabricator.services.mozilla.com/D108259
2021-03-26 19:51:14 +00:00
Jens Stutte
7c53006078 Bug 1696397: Move SpinEventLoopUntilOrShutdown to -Quit and move the current shutdown state logic from nsThreadManager to AppShutdown; r=kmag,xpcom-reviewers
The SpinEventLoopUntilOrShutdown is interrupted in the main process only at stage "xpcom-shutdown", which is too late. In a content process instead we interrupt it early enough, at "content-child-will-shutdown".

This patch removes the current observer logic in nsThreadManager in favor of a current shutdown phase state machinery in AppShutdown and renames SpinEventLoopUntilOrShutdown to SpinEventLoopUntilOrQuit. It also ensures that SpinEventLoopUntilOrQuit breaks early (at "quit-application" in the main process).

For a further possible cleanup around shutdown state in child and parent process please refer to bug 1697745.

We have no automated test for this edge case, but we have diagnostic telemetry that will tell us if it helps.

Differential Revision: https://phabricator.services.mozilla.com/D107619
2021-03-17 08:07:48 +00:00
Tim Nguyen
7005daf4e7 Bug 1693066 - Implement new proton tab audio indicator design. r=jaws,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D107733
2021-03-13 14:17:36 +00:00
heftydav
ec35d1bb34 Bug 1669205 - Ensure PictureinPicture attribute is preserved when parent tab is changed r=mhowell,mtigley
Differential Revision: https://phabricator.services.mozilla.com/D105831
2021-03-12 21:27:24 +00:00
Jared Wein
37395deaee Bug 1688301 - Use a special attribute to insert the space between the pinned tabs and unpinned tabs to account for possible hidden tabs. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D105381
2021-03-12 18:19:42 +00:00