Commit Graph

460 Commits

Author SHA1 Message Date
Joel Maher
fed2831742 Bug 1727943 - turn on mochitest* tests that were skipped on win10-ccov and now pass. r=MasterWayZ
Differential Revision: https://phabricator.services.mozilla.com/D128817
2021-10-19 20:01:29 +00:00
Nika Layzell
90a12e2587 Bug 1725572 - Part 3: Recover from a missing subframe BrowsingContext in ConstructBrowser, r=smaug
If the BrowsingContext is missing in ConstructBrowser, previously we would fail
out, crashing the content process. With this new change, we instead exit
successfully, destroying the `ManagedEndpoint` instances due to the earlier
changes in this bug, and displaying the subframe as crashed.

As we don't know how to reproduce the case which caused this crash, this change
instead triggers the failure using a custom pref, which can be used to request
that attempts to create a BrowserParent for a specific BrowsingContext fail in
the same way as it would for a missing BrowsingContext, allowing us to test the
behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D128778
2021-10-18 22:59:18 +00:00
Nika Layzell
fc93d66a0a Bug 1725572 - Part 2: Stop disabling principal vetting for browser_crash_oopiframe.js, r=mconley
The `about:framecrashed` URI was not tagged as URI_CAN_LOAD_IN_CHILD so was
firing principal assertions when being loaded. This patch adds that flag and
changes the test to no longer suppress the assertions.

Differential Revision: https://phabricator.services.mozilla.com/D128777
2021-10-18 22:59:18 +00:00
Evgenia Kotovich
0d0980ee0d Bug 1576768 - Automatically format .sjs files using prettier. r=Standard8,agi,zombie,extension-reviewers
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D128482
2021-10-18 09:26:33 +00:00
Noemi Erli
2bba3cec69 Backed out changeset 2ab6bb03dcc1 (bug 1576768) for causing failures in test_double_submit.html CLOSED TREE 2021-10-18 02:05:57 +03:00
Evgenia Kotovich
3e3dff109c Bug 1576768 - Automatically format .sjs files using prettier. r=Standard8,agi,zombie,extension-reviewers
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D128482
2021-10-17 14:59:14 +00:00
Alexandru Michis
dac6815201 Backed out changeset 7c08aa027893 (bug 1576768) for causing multiple failures.
CLOSED TREE
2021-10-15 16:52:43 +03:00
Evgenia Kotovich
a8b32926fa Bug 1576768 - Automatically format .sjs files using prettier. r=Standard8,agi,zombie,extension-reviewers
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D128482
2021-10-15 12:58:11 +00:00
Michelle Goossens
c159e29e05 Bug 1727943 - Part 2: Migrate mochitest, reftest and crashtest Windows 10 ccov suites from AWS to Azure r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D125350
2021-09-28 15:27:39 +00:00
Neil Deakin
d3c5d06270 Bug 1690390, add ability to perform telemetry when a notification bar is shown, a button is pressed, or is dismissed. Use this for the subframe crash notification bar which currently does this a different way, r=mstriemer,chutten
Differential Revision: https://phabricator.services.mozilla.com/D107756
2021-09-17 09:04:59 +00:00
Narcis Beleuzu
72152613c6 Backed out 3 changesets (bug 1690390) for mochitest failures on test_notificationbox.xhtml . CLOSED TREE
Backed out changeset e6404b7424cd (bug 1690390)
Backed out changeset a161177099af (bug 1690390)
Backed out changeset cc7e02d3d418 (bug 1690390)
2021-09-16 23:41:21 +03:00
Neil Deakin
f26a058361 Bug 1690390, add ability to perform telemetry when a notification bar is shown, a button is pressed, or is dismissed. Use this for the subframe crash notification bar which currently does this a different way, r=mstriemer,chutten
Differential Revision: https://phabricator.services.mozilla.com/D107756
2021-09-16 19:11:17 +00:00
Nika Layzell
6deb2cb2b7 Bug 1727158 - Part 1: Fix tests which will fail when processCount.webIsolated is set to 4, r=annyG,extension-reviewers,rpl
Differential Revision: https://phabricator.services.mozilla.com/D125292
2021-09-14 00:55:04 +00:00
Paul Bone
df1e6b47fa Bug 1725635 - Tighten when dom/ipc/tests/browser_gc_schedule.js can run r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D124880
2021-09-09 08:14:58 +00:00
Nika Layzell
3211ad72e0 Bug 1723797 - Add a separate pref to control process isolation strategy when fission.autostart is enabled, r=farre,johannh,necko-reviewers,dragana
This new pref will be used on android to enable high-value-only process
isolation. An initial version of high-value-only process isolation is
also implemented in this bug, using the permission manager to track
whether a site is high-value due to having served a
`Cross-Origin-Opener-Policy` header.

Future high-value permissions due to things like logging into a site and
OAuth flows can be tracked in the same way, by adding the permission to
the permissions database.

In the future, it might be valuable to provide UI for visualizing what
sites are considered high-value at any point in time, but this works
fine for now.

Differential Revision: https://phabricator.services.mozilla.com/D123127
2021-09-08 17:45:31 +00:00
Nika Layzell
c38d0d1762 Bug 1726865 - Prefer using existing content processes for subframes during process selection, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D123661
2021-08-26 16:57:27 +00:00
Iulian Moraru
dc862c1716 Bug 1725635 - disable browser_gc_schedule.js on linux_18.04_64_debug for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D123306
2021-08-25 12:40:22 +00:00
Paul Bone
1eea9a0557 Bug 1710552 - pt 2. Inform the idle scheduler when we initiate a GC r=smaug
This lets the idle scheduler know that we've initiated a GC that we didn't
ask its permission for.  Eg the JS engine hit a threshold.  It now uses this
info when scheduling GCs for other processes.

Differential Revision: https://phabricator.services.mozilla.com/D120831
2021-08-13 04:06:26 +00:00
Christoph Kerschbaumer
838a7bfdfc Bug 1723452: Update tests within dom/ipc to work with https-first enabled r=baku
Differential Revision: https://phabricator.services.mozilla.com/D122350
2021-08-11 13:58:24 +00:00
Alexandru Michis
bd251bad18 Bug 1714200 - Add mistakenly removed annotation for browser_CrashService_crash.js a=fix
CLOSED TREE
2021-08-06 23:50:46 +03:00
Olli Pettay
6492d1564b Bug 1721306, hide the tooltip when deactivating a BrowserParent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D121756
2021-08-06 19:33:04 +00:00
Ben Hearsum
aecb82dbfc Bug 1714200: skip failing mochitest-browser-chrome tests on M1 machines r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D121221
2021-08-06 19:16:54 +00:00
Olli Pettay
e361a4cdfa Bug 1724451, activate the relevant processes when restoring a bfcached page on the foreground tab, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D122008
2021-08-06 17:39:21 +00:00
Marian-Vasile Laza
9c94fc9c4c Backed out changeset 37008f131c6f (bug 1721306) for causing bustages on SessionHistoryEntry.cpp. 2021-08-06 19:28:58 +03:00
Olli Pettay
ece46d2b64 Bug 1721306, hide the tooltip when deactivating a BrowserParent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D121756
2021-08-06 15:13:36 +00:00
Paul Bone
0001b756ab Bug 1724355 - Don't skip browser_gc_schedule.js for fission r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D117970
2021-08-06 11:14:22 +00:00
Jed Davis
2257145e1c Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika
This patch launches content processes with the `MOZ_HEADLESS` env var set
if they're using GTK with an X11 display (and there's no other reason
they'd need GTK).

The goal is to avoid exhausting Xorg's default limit of 256 clients if
there are many content processes due to Fission.  If these conditions
are met, the content process doesn't need to eagerly connect to the X
server.  This does not affect the sandbox policy, and content processes
can still use X if needed for, e.g.,  WebGL.

The boolean pref `dom.ipc.avoid-gtk`, set by default, controls this
feature.  In the future it could also be extended to minimize GTK use
with Wayland displays.

Note that disabling `widget.non-native-theme.enabled`, which is also
enabled by default, will restore the use of X11 in all content processes
even if this pref is set; the alternative is that widgets wouldn't render
in that case.

This change will also save some memory for now-unnecessary instances of
GTK's global state, and improve content process startup time.

Remove also the temp pref dom.ipc.remote-mozIcon because it cannot work
anymore with the content process being headless.

Differential Revision: https://phabricator.services.mozilla.com/D112197
2021-07-06 07:42:42 +00:00
Mike Conley
b4deb453df Bug 1686570 - Add a tooltip for crashed subframes. r=flod,fluent-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D118626
2021-06-24 15:57:17 +00:00
Gabriele Svelto
c5849e7c01 Bug 1713905 - Stop listening to crashes in tests right after the first has been received r=nika
Differential Revision: https://phabricator.services.mozilla.com/D117992
2021-06-17 12:56:02 +00:00
Kris Maglione
b3c34d273e Bug 1646560: Part 1 - Move some XPCShell content helpers to generic shared module. r=nika
They were originally written for the extension framework, but have been used
more and more widely ever since.

Differential Revision: https://phabricator.services.mozilla.com/D114898
2021-06-15 04:40:10 +00:00
Andrew Halberstadt
f84d5f3016 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
Steve Fink
3f752fc5a8 Bug 1712614 - Allow passing a GC reason through pokeGC and runNextCollectorSlice for testing, to allow removing a special case in the code r=pbone,smaug
Differential Revision: https://phabricator.services.mozilla.com/D115833
2021-05-26 21:01:50 +00:00
Steve Fink
ccaf13bf0a Bug 1712006 - Speed up browser_gc_schedule.js with Promise.all and removing unnecessary waitForNewTab calls r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D115554
2021-05-21 22:08:06 +00:00
Paul Bone
6477eef4a5 Bug 1710803 - Skip browser_gc_schedule.js for verify mode r=mccr8 DONTBUILD
I don't think the intermittent failures here are an indication of a true
problem here, more of a problem with how it's possible to test this code.

Differential Revision: https://phabricator.services.mozilla.com/D115330
2021-05-19 02:36:40 +00:00
Paul Bone
e301ee240c Bug 1629064 - pt 8. Add a test for JS initiated GCs r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D109855
2021-05-12 06:46:10 +00:00
Paul Bone
b5e6d9ccd6 Bug 1629064 - pt 7. Check that aborts do not confuse GC scheduler r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D109854
2021-05-12 06:46:10 +00:00
Paul Bone
b3d03fb2a6 Bug 1629064 - pt 6. Add a basic GC scheduling test r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D105421
2021-05-12 06:46:10 +00:00
Nika Layzell
ad678cf076 Bug 1708734 - Part 3: Add tests for createActor: false, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D114793
2021-05-11 17:29:25 +00:00
Andrew McCreight
0688567b46 Bug 1618547 - Support Fission in the process priority manager. r=kmag,gsvelto
With Fission, there can be multiple BrowserParents in a single tab, so
this patch moves the tracking of active tabs onto the top BrowsingContext
in a tab. If the priority of a top BC is changed, then the activity
of all of the BPs of the BCs in the tree are all adjusted. The flag
that tracks this state gets carried forward to the new BC in the case
of a cross-group navigation by the changes in ReplacedBy().

The other change here covers the case where we do a process-switching
navigation on an iframe. If we create a new BrowserParent with an active
top BC, then the BP gets marked as active in the priority manager. Doing
this tracking on the BP instead of the BC (both here in and in the part
that landed previously in BrowserParent::Deactivated()) means that we
don't need to track down every place that a BC switches processes.

I left the tracking of activity in ParticularProcessPriorityManager
centered around BrowserParents, instead of changing it to BCs, to
minimize the changes required. There are some tricky interactions there
with wakelocks that I didn't want to have to figure out.

browser_ProcessPriorityManager.js was set up to track a mapping of
browsers to priorities, but for the purposes of testing Fission support
I changed it to track a mapping of child IDs to priorities.

In the test, I also removed an assignment (this.window = null) that
didn't seem to be doing anything.

Differential Revision: https://phabricator.services.mozilla.com/D112213
2021-05-07 17:51:34 +00:00
Paul Bone
6191ca4916 Bug 1709526 - Fix all the lint errors for .ini files in dom/ r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D114321
2021-05-06 01:29:31 +00:00
Noemi Erli
b7da3f34ee Backed out changeset f45996fe15b2 (bug 1618547) for causing failures in browser_ProcessPriorityManager.js CLOSED TREE 2021-05-06 00:53:54 +03:00
Andrew McCreight
063f9001b0 Bug 1618547 - Support Fission in the process priority manager. r=kmag,gsvelto
With Fission, there can be multiple BrowserParents in a single tab, so
this patch moves the tracking of active tabs onto the top BrowsingContext
in a tab. If the priority of a top BC is changed, then the activity
of all of the BPs of the BCs in the tree are all adjusted. The flag
that tracks this state gets carried forward to the new BC in the case
of a cross-group navigation by the changes in ReplacedBy().

The other change here covers the case where we do a process-switching
navigation on an iframe. If we create a new BrowserParent with an active
top BC, then the BP gets marked as active in the priority manager. Doing
this tracking on the BP instead of the BC (both here in and in the part
that landed previously in BrowserParent::Deactivated()) means that we
don't need to track down every place that a BC switches processes.

I left the tracking of activity in ParticularProcessPriorityManager
centered around BrowserParents, instead of changing it to BCs, to
minimize the changes required. There are some tricky interactions there
with wakelocks that I didn't want to have to figure out.

browser_ProcessPriorityManager.js was set up to track a mapping of
browsers to priorities, but for the purposes of testing Fission support
I changed it to track a mapping of child IDs to priorities.

In the test, I also removed an assignment (this.window = null) that
didn't seem to be doing anything.

Differential Revision: https://phabricator.services.mozilla.com/D112213
2021-05-05 20:29:14 +00:00
Olli Pettay
2af2d39a1c Bug 1705768 - Update dom/ipc/tests/JSWindowActor/browser_contentWindow.js to pass with Fission+BFCache, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D112377
2021-04-26 22:25:59 +00:00
Joel Maher
8a9f37b534 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
Christoph Kerschbaumer
5427febae7 Bug 1670244: Ensure we never load a document with a codebase principal in the wrong type of webIsolated process r=nika
Differential Revision: https://phabricator.services.mozilla.com/D108185
2021-04-12 18:06:52 +00:00
Kris Maglione
3721adc8cd Bug 1697988: Fix race in test_browsingcontext_currenturi.html. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D111150
2021-04-08 00:51:46 +00:00
Mark Striemer
1b17e2e325 Bug 1702327 - Fix browser_crash_oopiframe.js r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D110631
2021-04-06 04:26:35 +00:00
Andreea Pavel
7a0148230a Bug 1697988 - disable test_browsingcontext_currenturi.html on linux64, mac-qr and win-qr r=jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D110721
2021-04-03 00:59:22 +00:00
Neil Deakin
0f2a4484d4 Bug 1701173, wait for notificationbars to close more reliably by waiting for the notification node to be removed, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D110000
2021-03-29 18:58:26 +00:00
Nika Layzell
aab577d1a8 Bug 1663757 - Part 5: Add a test for CanonicalBrowsingContext.currentURI, r=annyG
This specifically tests the interesting case of loading an error page.

Differential Revision: https://phabricator.services.mozilla.com/D105560
2021-03-09 15:29:41 +00:00