Граф коммитов

71 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 7bf069df3a Bug 1840762 - Don't throttle postMessage for pdf.js. r=smaug
This should be safe to uplift.

Differential Revision: https://phabricator.services.mozilla.com/D198829
2024-01-17 21:49:34 +00:00
Olli Pettay 93acdfad59 Bug 1777574, automate CC zone handling, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D155084
2022-09-07 11:22:51 +00:00
Nika Layzell d706a983ec Bug 1780614 - Track potential crossoriginisolated status on BCG, r=smaug,kmag
This patch changes how BrowsingContextGroups track CrossOriginIsolated
status such that it should be more consistently tracked and easier to
assert in the places which depend on it. In the new state of the world,
a flag is stored within the BCG's ID which tracks whether it was
created for cross-origin isolated documents, and that is also checked
when making decisions about how to isolate initial about:blank
documents, and whether to allow certain changes to
CrossOriginOpenerPolicy.

This flag is stashed within the ID, as it needs to be preserved if the
BCG is destroyed and then re-created from the ID (which may be e.g.
round-tripped through JS code). I also considered making the ID be a
string instead, to make it easier to include extra information like
this, and more clear where the information is stored, however :kmag
generally preferred using a bit within the integer ID.

These new assertions should now be less likely to spuriously fail due to
a DocShell disappearing or similar as well, which should help fix the
original issue.

Differential Revision: https://phabricator.services.mozilla.com/D152695
2022-08-03 15:58:27 +00:00
Anny Gakhokidze 1620a4511a Bug 1646532 - Move mAreDialogsEnabled, mLastDialogQuitTime and mDialogAbuseCount to BC group, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D119299
2021-07-12 17:53:53 +00:00
Nika Layzell be34a472af Bug 1535913 - Part 2: Hold a keepalive for extension BCGs in WebExtensionPolicy, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D114889
2021-05-26 15:25:43 +00:00
Nika Layzell 027f474c0b Bug 1535913 - Part 1: Orchestrate content BCG destruction from parent, r=farre
This should help avoid crashes caused when the content process has
already destroyed a BCG when the parent process hasn't yet. The BCG will
still be destroyed when the content process shuts down using normal
cycle-collection.

Differential Revision: https://phabricator.services.mozilla.com/D113828
2021-05-26 15:25:43 +00:00
Dorel Luca a79a1b5c86 Backed out 2 changesets (bug 1535913) for Hazzard failure
Backed out changeset 1675ff18e322 (bug 1535913)
Backed out changeset fbcd65f308c2 (bug 1535913)
2021-05-20 01:33:36 +03:00
Nika Layzell 59028b25c8 Bug 1535913 - Part 2: Hold a keepalive for extension BCGs in WebExtensionPolicy, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D114889
2021-05-19 17:17:35 +00:00
Nika Layzell 096124dd1a Bug 1535913 - Part 1: Orchestrate content BCG destruction from parent, r=farre
This should help avoid crashes caused when the content process has
already destroyed a BCG when the parent process hasn't yet. The BCG will
still be destroyed when the content process shuts down using normal
cycle-collection.

Differential Revision: https://phabricator.services.mozilla.com/D113828
2021-05-19 17:17:35 +00:00
Andrew McCreight de9a604411 Bug 1709236 - Avoid calling Document::GetDocGroup() during unlinking. r=farre
Running AssertDocGroupMatchesKey() on an unlinked document can cause
a crash in debug builds, so pass in the group directly, because all
of the callers are Documents so they already have it.

Differential Revision: https://phabricator.services.mozilla.com/D115272
2021-05-18 16:32:08 +00:00
Narcis Beleuzu 343ffe2efd Backed out changeset 30060c96b2cd (bug 1535913) for frequent content crashes. a=backout DONTBUILD 2021-05-07 12:46:04 +03:00
Nika Layzell e6838de735 Bug 1535913 - Orchestrate content BCG destruction from parent, r=farre
This should help avoid crashes caused when the content process has
already destroyed a BCG when the parent process hasn't yet. The BCG will
still be destroyed when the content process shuts down using normal
cycle-collection.

Differential Revision: https://phabricator.services.mozilla.com/D113828
2021-05-05 21:00:05 +00:00
Andrew McCreight ba77e5e136 Bug 1702791 - Fix typos in comments BrowsingContextGroup.h. DONTBUILD r=farre
Differential Revision: https://phabricator.services.mozilla.com/D110700
2021-04-06 14:39:51 +00:00
Simon Giesecke 4f0b94ee34 Bug 708901 - Migrate to nsTHashSet in docshell. r=smaug,geckoview-reviewers,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D108591
2021-03-25 08:04:20 +00:00
Csoregi Natalia f54ee076ae Backed out 13 changesets (bug 708901, bug 1184468) for causing build bustage on GeckoViewHistory.cpp. CLOSED TREE
Backed out changeset b1e4c01e63b8 (bug 708901)
Backed out changeset 37b52cce83c0 (bug 708901)
Backed out changeset eee75f33f060 (bug 708901)
Backed out changeset 479bf64c7986 (bug 708901)
Backed out changeset 15a8fb94d15d (bug 708901)
Backed out changeset be31ccd9a61d (bug 708901)
Backed out changeset fc54f4eaedd5 (bug 708901)
Backed out changeset 03c3a56c3d13 (bug 708901)
Backed out changeset 73f11d3c1298 (bug 708901)
Backed out changeset aed22fd80893 (bug 708901)
Backed out changeset 74d8249fbe7e (bug 708901)
Backed out changeset acb725eb3c1d (bug 1184468)
Backed out changeset 70f3ea6efec4 (bug 1184468)
2021-03-24 19:26:20 +02:00
Simon Giesecke 6ba9da592e Bug 708901 - Migrate to nsTHashSet in docshell. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D108591
2021-03-24 16:58:57 +00:00
Nika Layzell 51907e2d1f Bug 1675820 - Part 1: Upgrade destroyed asserts in BrowsingContextGroup, r=kmag
The issues with BrowsingContextGroup identity may be related to using a
destroyed BrowsingContextGroup in some situations when we shouldn't be. By
upgrading the intensity of these assertions, we should be able to catch the
issues more readily.

Differential Revision: https://phabricator.services.mozilla.com/D108117
2021-03-18 19:24:48 +00:00
Simon Giesecke b9621d6376 Bug 1695162 - Use range-based for instead of custom hashtable iterators. r=xpcom-reviewers,kmag
Differential Revision: https://phabricator.services.mozilla.com/D108585
2021-03-17 15:49:46 +00:00
Sean Feng 12424aa6b0 Bug 1662265 - Fix input events handling for sync XHR when both TaskController and e10s are enabled r=smaug
There are two issues in our current setup

1) Input events which are occurring in the same tab are going to be lost
because sync XHR. We have event handling suppression for synx XHR, so input
events are going to be discarded.

2) Input events that are happening in another tab (same process as the
synx XHR tab) are not going to be delayed. This is not correct since
sync XHR should block the Javascript execution.

This patches fixes the above cases for when both TaskController and e10s are
enabled by suspending the InputTaskManager during sync XHR, which
delays the input event handling and keeps the events around.

Differential Revision: https://phabricator.services.mozilla.com/D90780
2020-12-15 01:33:24 +00:00
Razvan Maries fd89df3f6d Backed out changeset 432c83951167 (bug 1662265) for perma failures on test_sync_xhr_event_handling_switch_bcg.html. CLOSED TREE 2020-12-03 23:03:05 +02:00
Sean Feng f521450d39 Bug 1662265 - Fix input events handling for sync XHR when both TaskController and e10s are enabled r=smaug
There are two issues in our current setup

1) Input events which are occurring in the same tab are going to be lost
because sync XHR. We have event handling suppression for synx XHR, so input
events are going to be discarded.

2) Input events that are happening in another tab (same process as the
synx XHR tab) are not going to be delayed. This is not correct since
sync XHR should block the Javascript execution.

This patches fixes the above cases for when both TaskController and e10s are
enabled by suspending the InputTaskManager during sync XHR, which
delays the input event handling and keeps the events around.

Differential Revision: https://phabricator.services.mozilla.com/D90780
2020-12-03 03:13:04 +00:00
alwu bfe51b5b94 Bug 1670841 - part2 : prevent tab with a main controller from being suspended. r=snorp,nika
When a tab is owning a main controller, which means that the tab is either playing media, or still waiting for media keys in order to control its media again.

In those situations, we should not suspend the tab so that its script can continue to run for playing media or handling the future task for media keys.

Differential Revision: https://phabricator.services.mozilla.com/D93445
2020-10-22 21:31:18 +00:00
Nika Layzell 5ed1074194 Bug 1652085 - Delay BrowsingContextGroup destruction until acked, r=farre
This should ensure that any BrowsingContexts racily created during the discard
process don't end up creating a separate BrowsingContextGroup from their
relatives, and triggering group mismatch assertions.

Differential Revision: https://phabricator.services.mozilla.com/D84548
2020-07-30 20:27:41 +00:00
Nika Layzell 06dd04520e Bug 1652144 - Part 2: Consider current BrowsingContextGroup for process selection, r=farre
This requires keeping track of the current process used to host documents with a
particular remote type loaded in each BrowsingContextGroup. Due to lifecycle
oddities, this set is kept separate from the existing subscribers set on
BrowsingContextGroup.

Differential Revision: https://phabricator.services.mozilla.com/D84061
2020-07-30 20:27:37 +00:00
Butkovits Atila cf561cece0 Backed out 5 changesets (bug 1652144, bug 1654569, bug 1652085) for assertion failure nsDocShell.cpp. CLOSED TREE
Backed out changeset 4388af0c7d95 (bug 1654569)
Backed out changeset 66d5bb2ff027 (bug 1652085)
Backed out changeset 05132c178b4f (bug 1652144)
Backed out changeset fbdc7fd9cb96 (bug 1652144)
Backed out changeset 920a06a52b8b (bug 1652144)
2020-07-26 11:12:52 +03:00
Nika Layzell 9ad094035e Bug 1652085 - Delay BrowsingContextGroup destruction until acked, r=farre
This should ensure that any BrowsingContexts racily created during the discard
process don't end up creating a separate BrowsingContextGroup from their
relatives, and triggering group mismatch assertions.

Differential Revision: https://phabricator.services.mozilla.com/D84548
2020-07-24 20:24:45 +00:00
Nika Layzell fc494ad88c Bug 1652144 - Part 2: Consider current BrowsingContextGroup for process selection, r=farre
This requires keeping track of the current process used to host documents with a
particular remote type loaded in each BrowsingContextGroup. Due to lifecycle
oddities, this set is kept separate from the existing subscribers set on
BrowsingContextGroup.

Differential Revision: https://phabricator.services.mozilla.com/D84061
2020-07-24 20:24:36 +00:00
Simon Giesecke e443211b53 Bug 1653229 - Remove unnecessary includes for BindingUtils.h. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D83771
2020-07-22 15:12:10 +00:00
James Willcox ecaad75230 Bug 1639577 - Only suspend GeckoView tabs that are alone in their BrowsingContextGroup r=nika,geckoview-reviewers,agi
This avoids problems where a foreground tab tries to communicate with a background
tab via `window.opener`, but is unable to because the background tab
is suspended.

Differential Revision: https://phabricator.services.mozilla.com/D83693
2020-07-21 21:04:53 +00:00
Nika Layzell 5325da14b7 Bug 1633204 - Live WindowContexts should keep BrowsingContextGroup alive, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D72893
2020-04-29 18:49:10 +00:00
Nika Layzell e0f0ac8afa Bug 1580565 - Part 6: Add a unique ID to each BrowsingContextGroup, r=kmag
This allows us to explicitly specify BrowsingContextGroups when synchronizing
them. A major advantage of this is that it means we can handle an attempt to
create a BrowsingContext with a parent which the content process is unaware of,
which is possible due to changes to the EnsureSubscribed logic in earlier
patches in this stack.

This is OK, because in the case where the content process cannot see its parent,
the parent must be imminently discarding.

Differential Revision: https://phabricator.services.mozilla.com/D71668
2020-04-24 18:33:09 +00:00
Nika Layzell cc54537c86 Bug 1580565 - Part 4: Use WindowContext to manage BrowsingContext cached status, r=farre
The existing infrastructure which stored cached BrowsingContexts on the
BrowsingContextGroup was added before WindowContexts were added, and can cause
racing issues with partially discarded trees during process switches.

Differential Revision: https://phabricator.services.mozilla.com/D71238
2020-04-24 18:33:04 +00:00
Narcis Beleuzu fffdcb0203 Backed out 7 changesets (bug 1580565) for bustages on nsDocShell.cpp . CLOSED TREE
Backed out changeset 8237f9a307f8 (bug 1580565)
Backed out changeset 47f5698d6c72 (bug 1580565)
Backed out changeset e1802670dcc4 (bug 1580565)
Backed out changeset 0a44c410b59b (bug 1580565)
Backed out changeset 20dbcfc9eacc (bug 1580565)
Backed out changeset cdf2b600e779 (bug 1580565)
Backed out changeset a421d33d03ce (bug 1580565)
2020-04-24 05:31:55 +03:00
Nika Layzell 88293ee406 Bug 1580565 - Part 6: Add a unique ID to each BrowsingContextGroup, r=kmag
This allows us to explicitly specify BrowsingContextGroups when synchronizing
them. A major advantage of this is that it means we can handle an attempt to
create a BrowsingContext with a parent which the content process is unaware of,
which is possible due to changes to the EnsureSubscribed logic in earlier
patches in this stack.

This is OK, because in the case where the content process cannot see its parent,
the parent must be imminently discarding.

Differential Revision: https://phabricator.services.mozilla.com/D71668
2020-04-23 21:52:51 +00:00
Nika Layzell 8f2ceafb38 Bug 1580565 - Part 4: Use WindowContext to manage BrowsingContext cached status, r=farre
The existing infrastructure which stored cached BrowsingContexts on the
BrowsingContextGroup was added before WindowContexts were added, and can cause
racing issues with partially discarded trees during process switches.

Differential Revision: https://phabricator.services.mozilla.com/D71238
2020-04-23 21:52:47 +00:00
Andreea Pavel b74d860d87 Backed out 7 changesets (bug 1580565) for bc failures on a CLOSED TREE
Backed out changeset e44e0a6366f8 (bug 1580565)
Backed out changeset c0849928f934 (bug 1580565)
Backed out changeset 3d4f155096be (bug 1580565)
Backed out changeset 108d5fb4418e (bug 1580565)
Backed out changeset d8dea951a032 (bug 1580565)
Backed out changeset f9ab41f29552 (bug 1580565)
Backed out changeset fd5d76304c09 (bug 1580565)
2020-04-22 21:51:17 +03:00
Nika Layzell 34024af634 Bug 1580565 - Part 6: Add a unique ID to each BrowsingContextGroup, r=kmag
This allows us to explicitly specify BrowsingContextGroups when synchronizing
them. A major advantage of this is that it means we can handle an attempt to
create a BrowsingContext with a parent which the content process is unaware of,
which is possible due to changes to the EnsureSubscribed logic in earlier
patches in this stack.

This is OK, because in the case where the content process cannot see its parent,
the parent must be imminently discarding.

Differential Revision: https://phabricator.services.mozilla.com/D71668
2020-04-22 16:25:18 +00:00
Nika Layzell 7a75edbe29 Bug 1580565 - Part 4: Use WindowContext to manage BrowsingContext cached status, r=farre
The existing infrastructure which stored cached BrowsingContexts on the
BrowsingContextGroup was added before WindowContexts were added, and can cause
racing issues with partially discarded trees during process switches.

Differential Revision: https://phabricator.services.mozilla.com/D71238
2020-04-22 15:48:17 +00:00
Dorel Luca 7daa9a6695 Backed out 7 changesets (bug 1580565) for Gecko-view failures in Test.crashParent. CLOSED TREE
Backed out changeset 7da9785ebb06 (bug 1580565)
Backed out changeset a80e177a91b2 (bug 1580565)
Backed out changeset 2cf821f2a6ea (bug 1580565)
Backed out changeset a30f158eba45 (bug 1580565)
Backed out changeset 276b131190a8 (bug 1580565)
Backed out changeset 3c15e4c600c4 (bug 1580565)
Backed out changeset bf8877cdb10f (bug 1580565)
2020-04-22 18:42:24 +03:00
Nika Layzell 38bdb3ed64 Bug 1580565 - Part 6: Add a unique ID to each BrowsingContextGroup, r=kmag
This allows us to explicitly specify BrowsingContextGroups when synchronizing
them. A major advantage of this is that it means we can handle an attempt to
create a BrowsingContext with a parent which the content process is unaware of,
which is possible due to changes to the EnsureSubscribed logic in earlier
patches in this stack.

This is OK, because in the case where the content process cannot see its parent,
the parent must be imminently discarding.

Differential Revision: https://phabricator.services.mozilla.com/D71668
2020-04-22 03:22:07 +00:00
Nika Layzell 60ee58560f Bug 1580565 - Part 4: Use WindowContext to manage BrowsingContext cached status, r=farre
The existing infrastructure which stored cached BrowsingContexts on the
BrowsingContextGroup was added before WindowContexts were added, and can cause
racing issues with partially discarded trees during process switches.

Differential Revision: https://phabricator.services.mozilla.com/D71238
2020-04-22 06:05:41 +00:00
Bogdan Tara 4bd759fa8e Backed out 7 changesets (bug 1580565) for browser_entry_point_telemetry.js failures CLOSED TREE
Backed out changeset 12a4f3de76a8 (bug 1580565)
Backed out changeset 81d537df2dc1 (bug 1580565)
Backed out changeset b182e872c9d4 (bug 1580565)
Backed out changeset 0b4595b2c153 (bug 1580565)
Backed out changeset 4363e3a3d799 (bug 1580565)
Backed out changeset cbb14b2c7b33 (bug 1580565)
Backed out changeset 46b251848297 (bug 1580565)
2020-04-22 06:15:43 +03:00
Nika Layzell 5708211961 Bug 1580565 - Part 6: Add a unique ID to each BrowsingContextGroup, r=kmag
This allows us to explicitly specify BrowsingContextGroups when synchronizing
them. A major advantage of this is that it means we can handle an attempt to
create a BrowsingContext with a parent which the content process is unaware of,
which is possible due to changes to the EnsureSubscribed logic in earlier
patches in this stack.

This is OK, because in the case where the content process cannot see its parent,
the parent must be imminently discarding.

Differential Revision: https://phabricator.services.mozilla.com/D71668
2020-04-22 01:38:05 +00:00
Nika Layzell 88b3fbe306 Bug 1580565 - Part 4: Use WindowContext to manage BrowsingContext cached status, r=farre
The existing infrastructure which stored cached BrowsingContexts on the
BrowsingContextGroup was added before WindowContexts were added, and can cause
racing issues with partially discarded trees during process switches.

Differential Revision: https://phabricator.services.mozilla.com/D71238
2020-04-22 01:37:55 +00:00
Andreas Farre 25ca8d7890 Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas
TabGroup never really made any difference in which thread something go
dispatched to. This was the intended use, but development of TabGroups
with abstract main threads never made it that far. The good thing is
that thish makes it safe to also remove to the SystemGroup and instead
switch all SystemGroup dispatches to dispatches to main thread.

Timers for setTimeout and workers were the sole users of wrapped and
throttled event targets, that those throttled queues have been moved
to the BrowsingContextGroup and are now accessed explicitly.

The SchedulerEventTarget has been removed, since there are no longer a
separate event target for every TaskCategory. Instead a
LabellingEventTarget has been added to DocGroup to handle the case
where an event is dispatched do DocGroup or when an AbstractThread is
created using a DocGroup. This means that we'll actually label more
events correctly with the DocGroup that they belong to.

DocGroups have also been moved to BrowsingContextGroup.

Depends on D67636

Differential Revision: https://phabricator.services.mozilla.com/D65936

--HG--
extra : moz-landing-system : lando
2020-04-07 15:17:47 +00:00
Andreas Farre 3b813ea957 Bug 1618236 - Make CollectPerformanceInfo use BrowsingContextGroup to find DocGroups. r=tarek,peterv
By having CollectPerformanceInfo traverse the BrowsingContextGroup and
tree of BrowsingContexts we can hide the task of getting the DocGroups
befind an API in BrowsingContextGroup and ease the removal of
TabGroups.

Differential Revision: https://phabricator.services.mozilla.com/D64390

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:13 +00:00
Aaron Klotz 1c70c3f3cb Bug 1601781: Forward declare ContentParent in BrowsingContextGroup; r=kmag CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D56088

--HG--
extra : histedit_source : 004456e40c7ac4ef1ec64e3881e6e70e9f09dfc4
2019-12-05 14:46:45 -07:00
Brindusan Cristian a2cf032227 Backed out changeset d3bd59939150 (bug 1601781) for build bustages at BrowsingContextGroup.h. CLOSED TREE 2019-12-06 00:16:31 +02:00
Aaron Klotz ebc8ee2b4d Bug 1601781: Forward declare ContentParent in BrowsingContextGroup; r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D56088

--HG--
extra : moz-landing-system : lando
2019-12-05 21:54:47 +00:00
Olli Pettay 7f0bc5d8d8 Bug 1598775 - Ensure postMessage related optimizations during page load work also in Fission, r=farre
Bug 1534012 added a test for postMessage during load and that revealed that mLoading flag isn't always updated
soon enough, so add BrowsingContext::IsLoading which checks also possible local loading status.

Depends on D54754

Differential Revision: https://phabricator.services.mozilla.com/D54836

--HG--
extra : moz-landing-system : lando
2019-11-30 21:13:54 +00:00