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

7780 Коммитов

Автор SHA1 Сообщение Дата
Matt Woodrow 213fab51e4 Bug 1646892 - Allow DocumentChannel process switches into the parent process. r=jya,nika
Differential Revision: https://phabricator.services.mozilla.com/D80327
2020-06-27 04:10:23 +00:00
Aaron Klotz 6ff329ef81 Bug 1647470: Fix MinTabSelector to take into account empty but reusable content processes; r=nika
When the current number of existing content processes is less than the maximum,
`MinTabSelector` previously always created a new process. This is inefficient in
the case where we have `dom.ipc.keepProcessesAlive.web` set and there are
content processes that are idle with zero tabs -- we should allow those to be
reused.

Differential Revision: https://phabricator.services.mozilla.com/D80560
2020-06-27 06:14:27 +00:00
Kris Maglione 6aa06b33a7 Bug 1645510: Part 2 - Avoid using the unprivileged junk scope where possible. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D79720
2020-06-27 03:06:28 +00:00
Kris Maglione c04b0a1b46 Bug 1648270: Get rid of unused ContentParent 'opener' field. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80971
2020-06-26 16:26:50 +00:00
Peter Van der Beken 26e71bd99d Bug 1648033 - Call session history listener for reload in the parent process if session history in the parent is on. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80882
2020-06-26 14:34:12 +00:00
Nika Layzell c7f85b7fac Bug 1633379 - Part 2: Add support for in-process JSWindowActors, r=kmag,Yoric
This switches the `nsIContent{Parent,Child}` interface to be
`nsIDOMProcess{Parent,Child}`, and also implements it on
`InProcess{Parent,Child}`, along with the `ProcessActor` interface.

Differential Revision: https://phabricator.services.mozilla.com/D80582
2020-06-25 20:35:18 +00:00
Nika Layzell 9c12bdf9af Bug 1633379 - Part 1: Move PInProcess into dom/ipc, r=kmag,Yoric
This moves it near the cross-process `PContent` actor, and makes it more clear
that this actor is only intended to be used for DOM things.

Differential Revision: https://phabricator.services.mozilla.com/D80581
2020-06-25 17:50:51 +00:00
Butkovits Atila f47ca94618 Backed out changeset 840d3dc313f1 (bug 1648270) for causing build bustages on ProtocolFuzzer.cpp. CLOSED TREE 2020-06-26 01:57:49 +03:00
Matt Woodrow 8fa4e5c092 Bug 1626362 - Make mOriginalUriString available in DocumentLoadListener and docshell. r=nika,necko-reviewers,valentin
This also fixes a bug where we were setting mOriginalUriString in docshell before InternalLoad (which clears it), instead of after.

Differential Revision: https://phabricator.services.mozilla.com/D80110
2020-06-25 04:33:14 +00:00
Matt Woodrow 19c4b43cba Bug 1626362 - Move url classifier notifications to parent process. r=nika,necko-reviewers,JuniorHsu
We shouldn't need to handle this with an early return in docshell, since the classifier failure codes won't display an error page anyway.

Differential Revision: https://phabricator.services.mozilla.com/D80108
2020-06-25 04:32:28 +00:00
Kris Maglione f1d85755a8 Bug 1648270: Get rid of unused ContentParent 'opener' field. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80971
2020-06-25 20:30:33 +00:00
Butkovits Atila 366cbc5518 Backed out changeset 3468660179b1 (bug 1648270) for bustages at ContentParent.h. CLOSED TREE 2020-06-25 22:06:46 +03:00
Kris Maglione f465a90bb0 Bug 1648270: Get rid of unused ContentParent 'opener' field. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80971
2020-06-25 17:53:39 +00:00
Cosmin Sabou 4d79f57fed Backed out 2 changesets (bug 1633379) for windows build bustages on ContentChild.obj. CLOSED TREE
Backed out changeset a26037f3225b (bug 1633379)
Backed out changeset efef0b59bcd8 (bug 1633379)
2020-06-25 20:47:03 +03:00
Nika Layzell 0fefabd35b Bug 1633379 - Part 2: Add support for in-process JSWindowActors, r=kmag,Yoric
This switches the `nsIContent{Parent,Child}` interface to be
`nsIDOMProcess{Parent,Child}`, and also implements it on
`InProcess{Parent,Child}`, along with the `ProcessActor` interface.

Differential Revision: https://phabricator.services.mozilla.com/D80582
2020-06-25 16:28:11 +00:00
Nika Layzell 508260e158 Bug 1633379 - Part 1: Move PInProcess into dom/ipc, r=kmag,Yoric
This moves it near the cross-process `PContent` actor, and makes it more clear
that this actor is only intended to be used for DOM things.

Differential Revision: https://phabricator.services.mozilla.com/D80581
2020-06-25 15:49:15 +00:00
David Major 4dfc13f0d6 Bug 1646211 - Fix some clang-11 warnings -Wvoid-pointer-to-int-cast in ContentParent.cpp r=nika
clang-11 doesn't like the `(long)` casts:
`error: cast to smaller integer type 'long' from 'void *' [-Werror,-Wvoid-pointer-to-int-cast]`

Differential Revision: https://phabricator.services.mozilla.com/D79919
2020-06-25 03:18:14 +00:00
Chris Fronk 6f84249b41 Bug 1337953 - Make nsDeque templated on pointer type r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79629
2020-06-25 02:39:23 +00:00
Eden Chuang a383fd6b63 Bug 1637035 - Do not inherit COEP from opener for non-http or non-initial-about:blank documents r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80414
2020-06-25 02:14:29 +00:00
Csoregi Natalia e67ceab432 Backed out 9 changesets (bug 1626362) for failures on a-download-click-404.html. CLOSED TREE
Backed out changeset d29ac651a4fd (bug 1626362)
Backed out changeset 5ba5cf98a95d (bug 1626362)
Backed out changeset 69b5b01da9c1 (bug 1626362)
Backed out changeset 1d31061f4421 (bug 1626362)
Backed out changeset a627870e35fb (bug 1626362)
Backed out changeset 5f3ee46032b6 (bug 1626362)
Backed out changeset 5b170666991e (bug 1626362)
Backed out changeset 4d31c2ede058 (bug 1626362)
Backed out changeset 66a9ba0f87cb (bug 1626362)
2020-06-25 02:45:52 +03:00
Matt Woodrow e9d06799ca Bug 1626362 - Make mOriginalUriString available in DocumentLoadListener and docshell. r=nika,necko-reviewers,valentin
This also fixes a bug where we were setting mOriginalUriString in docshell before InternalLoad (which clears it), instead of after.

Differential Revision: https://phabricator.services.mozilla.com/D80110
2020-06-24 22:03:39 +00:00
Matt Woodrow 87cdbac816 Bug 1626362 - Move url classifier notifications to parent process. r=nika,necko-reviewers,JuniorHsu
We shouldn't need to handle this with an early return in docshell, since the classifier failure codes won't display an error page anyway.

Differential Revision: https://phabricator.services.mozilla.com/D80108
2020-06-24 22:03:04 +00:00
Chris Martin c5f74d8b96 Bug 1400317 - Win32k Lockdown: Remote SPI_GETFLATMENU r=jmathies
SPI_GETFLATMENU uses the newly-added WinContentSystemParameters and adds
the ability to update theme-related variables when they change.

Differential Revision: https://phabricator.services.mozilla.com/D80071
2020-06-24 15:29:58 +00:00
Matt Woodrow b351d48f0c Bug 1646582 - Pull the inner window id from the WindowGlobalParent, rather than passing it across PBrowser for updateForLocationChange. r=nika,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D80131
2020-06-24 19:59:32 +00:00
Matt Woodrow ea21b3dd8e Bug 1646582 - Remove RemoteWebProgressManager. r=nika,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D80129
2020-06-24 19:59:04 +00:00
Matt Woodrow 00dc8d3d73 Bug 1646582 - Remove DOM(Inner)WindowID from nsIWebProgress. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80128
2020-06-24 19:58:15 +00:00
Matt Woodrow a637ca6c0d Bug 1646582 - Remove nsIRemoteWebProgressRequest since it's not being used anywhere. r=barret
Differential Revision: https://phabricator.services.mozilla.com/D80127
2020-06-24 19:57:30 +00:00
Chris H-C c1a1045511 Bug 1635255 - Don't compile FOG IPC layer and tests if not MOZ_GLEAN r=janerik
Differential Revision: https://phabricator.services.mozilla.com/D80722
2020-06-24 16:16:48 +00:00
Chris H-C b661a96155 Bug 1635255 - Flesh out FOG IPC one additional layer r=janerik
Introducing FOGIPC, the central clearinghouse for the C++ layer between
PContent and FOG's Rust impl.

Gotta add tests.

Differential Revision: https://phabricator.services.mozilla.com/D79742
2020-06-24 16:16:07 +00:00
Chris H-C f177f29a3f Bug 1635255 - Add FOG IPC to PContent r=janerik
Temporarily on PContent instead of managed by PBackground, there's one
parentbound message for occasionally uplifting Glean data from child processes
and one childbound message for forcing the immediate flush of Glean data in the
async return.

Can't write gtests for this as ContentChild and ContentParent include things
that aren't present in gtest.

Differential Revision: https://phabricator.services.mozilla.com/D78077
2020-06-24 16:15:50 +00:00
Emilio Cobos Álvarez 2948ee6b8c Bug 1647871 - Remove AutoResizeReflowSquasher. r=kats
After the above, I don't think this is needed anymore, because we
shouldn't be looking at the widget size from layout.

It also shouldn't cause more reflows on desktop at least, because of the
early out in ResizeReflowIgnoreOverride before calling
SimpleResizeReflow().

Differential Revision: https://phabricator.services.mozilla.com/D80731
2020-06-24 13:29:18 +00:00
Mihai Alexandru Michis fe89d1f20e Backed out 11 changesets (bug 1635255) for causing bustages in FOGIPC.cpp
CLOSED TREE

Backed out changeset d3e93edb1c76 (bug 1635255)
Backed out changeset 27df18486bff (bug 1635255)
Backed out changeset 4675772344eb (bug 1635255)
Backed out changeset 4d0c4beb910e (bug 1635255)
Backed out changeset 9b79c8208144 (bug 1635255)
Backed out changeset cb54f7a3177d (bug 1635255)
Backed out changeset d0591dc8d5a1 (bug 1635255)
Backed out changeset 5fc5e1070d4d (bug 1635255)
Backed out changeset bfcfda9cb19d (bug 1635255)
Backed out changeset 49447f10ad6e (bug 1635255)
Backed out changeset 0862a33399cf (bug 1635255)
2020-06-24 17:21:10 +03:00
Chris H-C e5c7e3f262 Bug 1635255 - Don't compile FOG IPC layer and tests if not MOZ_GLEAN r=janerik
Depends on D80516

Differential Revision: https://phabricator.services.mozilla.com/D80722
2020-06-24 07:54:16 +00:00
Chris H-C b876426809 Bug 1635255 - Flesh out FOG IPC one additional layer r=janerik
Introducing FOGIPC, the central clearinghouse for the C++ layer between
PContent and FOG's Rust impl.

Gotta add tests.

Differential Revision: https://phabricator.services.mozilla.com/D79742
2020-06-23 21:20:12 +00:00
Chris H-C f2d85a24e8 Bug 1635255 - Add FOG IPC to PContent r=janerik
Temporarily on PContent instead of managed by PBackground, there's one
parentbound message for occasionally uplifting Glean data from child processes
and one childbound message for forcing the immediate flush of Glean data in the
async return.

Can't write gtests for this as ContentChild and ContentParent include things
that aren't present in gtest.

Differential Revision: https://phabricator.services.mozilla.com/D78077
2020-06-23 20:43:16 +00:00
alwu 1c96a4a7d4 Bug 1642715 - part4 : notify media controller when media enters/leaves fullscreen. r=chunmin,smaug
This patch would
- notify media controller when media enters/leaves fullscreen

The advantage of doing this is
- prework of being able to control media when media enters fullscreen

Differential Revision: https://phabricator.services.mozilla.com/D79765
2020-06-24 05:53:08 +00:00
Dorel Luca 90a64f0da1 Backed out 4 changesets (bug 1646582) for Browser-chrome failures on nsIWebProgress.addProgressListener. CLOSED TREE
Backed out changeset 2111dd0d6dc0 (bug 1646582)
Backed out changeset e6c496c5a4b1 (bug 1646582)
Backed out changeset 49b4ae8c8be0 (bug 1646582)
Backed out changeset 9d42ec89240c (bug 1646582)
2020-06-24 07:50:07 +03:00
Matt Woodrow f430dac707 Bug 1646582 - Pull the inner window id from the WindowGlobalParent, rather than passing it across PBrowser for updateForLocationChange. r=nika,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D80131
2020-06-24 03:25:35 +00:00
Matt Woodrow acd97f7b2c Bug 1646582 - Remove RemoteWebProgressManager. r=nika,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D80129
2020-06-24 03:25:09 +00:00
Matt Woodrow 21ac707a3b Bug 1646582 - Remove DOM(Inner)WindowID from nsIWebProgress. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80128
2020-06-24 03:24:21 +00:00
Matt Woodrow 6924cb49df Bug 1646582 - Remove nsIRemoteWebProgressRequest since it's not being used anywhere. r=barret
Differential Revision: https://phabricator.services.mozilla.com/D80127
2020-06-24 03:23:38 +00:00
Cosmin Sabou 76255bd145 Backed out changeset 481e9149f22f (bug 1647470) for bc failures on browser_resource_uri.js. 2020-06-24 02:44:33 +03:00
Aaron Klotz 94aa2853b2 Bug 1647470: Fix MinTabSelector to take into account empty but reusable content processes; r=nika
When the current number of existing content processes is less than the maximum,
`MinTabSelector` previously always created a new process. This is inefficient in
the case where we have `dom.ipc.keepProcessesAlive.web` set and there are
content processes that are idle with zero tabs -- we should allow those to be
reused.

Differential Revision: https://phabricator.services.mozilla.com/D80560
2020-06-23 21:26:42 +00:00
Kris Maglione 0313fc865c Bug 1647624: Add assertions that we don't return dead processes from process selector. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80705
2020-06-23 19:38:17 +00:00
Nika Layzell 0b30d5c15f Bug 1647761 - Part 2: Remove outdated process priority terminology, r=mccr8,geckoview-reviewers,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D80684
2020-06-23 17:34:51 +00:00
Andrew McCreight 01610277f9 Bug 1647795 - Remove some uses of "blacklist" from dom/ipc/. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80694
2020-06-23 17:50:23 +00:00
Andreas Farre 78dfb0a991 Bug 1590762 - Part 3: Keep track of current loads in BrowsingContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D75110
2020-06-23 13:01:37 +00:00
Andreas Farre ca5db92916 Bug 1590762 - Part 2: Bump the id for channel registration to uint64_t. r=mattwoodrow,necko-reviewers,valentin
This patch also makes the identifier for channels global, in the sense
that the generated identifier is generated outside of and passed to
the nsIRedirectChannelRegistrar.

Differential Revision: https://phabricator.services.mozilla.com/D79820
2020-06-23 13:18:56 +00:00
Andrea Marchesini 6aa5b38d30 Bug 1641905 - ThirdPartyUtil::IsThirdPartyWindow for fission, r=dimi,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D79307
2020-06-17 20:18:23 +00:00
Butkovits Atila 7916df7f02 Backed out changeset 5614bcd268d1 (bug 1337953) for bustage at FuzzyLayer.cpp. CLOSED TREE 2020-06-23 11:01:37 +03:00
Jean-Yves Avenard 87438519f0 Bug 1637500 - P2. Rename methods as they are not always dealing with "threads". r=froydnj
Before P1, GetCurrentThreadSerialEventTarget would have always returned the same data as NS_GetCurrentThread, making the comment incorrect Now it will properly return the running TaskQueue if any.

This change of name more clearly exposes what they are doing, as we aren't always dealing with threads directly; but a nsISerialEventTarget

Differential Revision: https://phabricator.services.mozilla.com/D80354
2020-06-23 05:05:36 +00:00
Narcis Beleuzu b894acb874 Backed out 4 changesets (bug 1646582) for mochitest failures on test_ext_tabs_create.html . CLOSED TREE
Backed out changeset ce5cdfc5d7cf (bug 1646582)
Backed out changeset 2ac69a2b6708 (bug 1646582)
Backed out changeset 74d89cb24414 (bug 1646582)
Backed out changeset 7de0ff1af560 (bug 1646582)
2020-06-23 06:30:03 +03:00
Chris Fronk cea9cef934 Bug 1337953 - Make nsDeque templated on pointer type r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79629
2020-06-23 00:58:13 +00:00
Matt Woodrow 2ee0adfb0e Bug 1646582 - Pull the inner window id from the WindowGlobalParent, rather than passing it across PBrowser for updateForLocationChange. r=nika,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D80131
2020-06-23 01:24:17 +00:00
Matt Woodrow f851c6be5b Bug 1646582 - Remove RemoteWebProgressManager. r=nika,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D80129
2020-06-23 01:23:59 +00:00
Matt Woodrow 79562a2ca1 Bug 1646582 - Remove DOM(Inner)WindowID from nsIWebProgress. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80128
2020-06-23 01:23:57 +00:00
Matt Woodrow 899c6f8198 Bug 1646582 - Remove nsIRemoteWebProgressRequest since it's not being used anywhere. r=barret
Differential Revision: https://phabricator.services.mozilla.com/D80127
2020-06-23 01:22:21 +00:00
Kashav Madan 960bd54cfd Bug 1646563 - Remove BrowserId from nsFrameLoaderOwner, r=nika
We can just use BrowsingContext::BrowserId directly, so it's unnecessary to have
the field on nsFrameLoaderOwner as well.

This also makes it so that we only ever generate browser IDs in
BrowsingContext::CreatedDetached.

Differential Revision: https://phabricator.services.mozilla.com/D80121
2020-06-22 21:46:03 +00:00
Narcis Beleuzu 46e3b1ce2c Backed out 5 changesets (bug 1599579) for twinopen failures. CLOSED TREE
Backed out changeset 053229a30ef1 (bug 1599579)
Backed out changeset c2828aec4caf (bug 1599579)
Backed out changeset 085558fe56dc (bug 1599579)
Backed out changeset a4e7334f8ce6 (bug 1599579)
Backed out changeset 9ebd2eb155da (bug 1599579)
2020-06-23 02:23:48 +03:00
Nika Layzell 59e9c1cfcc Bug 1599579 - Part 1: Add the ability to specify a specific BrowsingContextGroup during process switch, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D80254
2020-06-22 20:43:14 +00:00
Kris Maglione 99694471ec Bug 1641211: Clear crashed processes from the e10s preallocator. r=jesup
Differential Revision: https://phabricator.services.mozilla.com/D80292
2020-06-22 10:24:48 +00:00
Nika Layzell c37b54fe0d Bug 1646088 - Part 3: Add a test for slow process switches, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D79890
2020-06-18 18:51:58 +00:00
Nika Layzell 35d7a8696d Bug 1646088 - Part 2: Create ScriptableCPInfo in the constructor, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D79889
2020-06-18 18:51:56 +00:00
Nika Layzell 7c209a23b1 Bug 1646088 - Part 1: Keep processes alive during process switches, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D79888
2020-06-18 18:51:54 +00:00
Kartikaya Gupta e28e2f103c Bug 1645954 - Ensure we update both the content viewer and widget sizes before doing a reflow. r=tnikkel
The existing comment in BrowserChild::RecvUpdateDimensions may have been
accurate at some point in the past, but I'm seeing cases where setting
the content viewer size itself triggers a reflow. Since the widget size
hasn't been updated yet, the reflow uses some stale values and produces
incorrect outcomes. This patch ensures both the content viewer and widget
get their sizes updated first, and only then do we do the reflow.

Differential Revision: https://phabricator.services.mozilla.com/D79885
2020-06-20 11:25:22 +00:00
Edgar Chen 03ca9b3c17 Bug 1635784 - Part 5: Rename mTabSetsCursor; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80304
2020-06-18 23:15:22 +00:00
Edgar Chen 44d9898d83 Bug 1635784 - Part 3: Make cached cursor consistent between parent and content process; r=smaug
Content process won't try to send IPC to parent process to update cursor if the
cursor isn't changed, and assume parent process would update cursor properly as
soon as the cursor re-enter to a remote target.

But BrowserParent cached the cursor information for a remote target only when the
remote target is allowed to update the cursor. It could possible that parent use
a stale cursor for a remote target and stuck in that state untill content
process tries to update cursor again.

Differential Revision: https://phabricator.services.mozilla.com/D79985
2020-06-18 22:04:47 +00:00
Gijs Kruitbosch 222e2d1158 Bug 1644863 - fix trailing whitespace in cross-tree tests, r=emilio,marionette-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D79202
2020-06-17 22:45:31 +00:00
Mihai Alexandru Michis 287d6c29db Backed out 3 changesets (bug 1646088) for causing failures in test_multiple_nav_process_switches.
CLOSED TREE

Backed out changeset 8c4a24b91c88 (bug 1646088)
Backed out changeset ef746bdcbaf6 (bug 1646088)
Backed out changeset 77d15266af3c (bug 1646088)
2020-06-17 23:47:15 +03:00
Nika Layzell f238179d45 Bug 1646088 - Part 3: Add a test for slow process switches, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D79890
2020-06-17 15:43:39 +00:00
Nika Layzell cb137789e8 Bug 1646088 - Part 2: Create ScriptableCPInfo in the constructor, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D79889
2020-06-17 15:43:37 +00:00
Nika Layzell 05df8f2a96 Bug 1646088 - Part 1: Keep processes alive during process switches, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D79888
2020-06-17 15:43:35 +00:00
Kris Maglione 822b21f7e5 Bug 1641211: Part 2 - Stop using raw pointers for ContentParent static members. r=jesup
Differential Revision: https://phabricator.services.mozilla.com/D77527
2020-06-17 17:20:53 +00:00
Kris Maglione 2ed12f2fb5 Bug 1641211: Part 1 - Add stronger checks for ContentParent pool membership consistency. r=jesup
Differential Revision: https://phabricator.services.mozilla.com/D77526
2020-06-17 17:20:53 +00:00
Kris Maglione 3bda67deab Bug 1638153: Part 2 - Fix uses of .rootTreeItem to get top browser window. r=geckoview-reviewers,nika,snorp
Differential Revision: https://phabricator.services.mozilla.com/D75429
2020-06-17 17:17:16 +00:00
Mike Conley 3833074ebe Bug 1622088 - Fire process-type-set when transitioning from preallocated process type to another type. r=jesup
The about:home startup cache needs this so that it knows when a content process has transitioned
to the privileged about content process (since, at that point, it then sends the nsIInputStreams
for the cache down to that process).

Differential Revision: https://phabricator.services.mozilla.com/D78908
2020-06-17 16:07:33 +00:00
Neil Deakin 0c4fe78992 Bug 1645544, null-check on ContentChild to prevent crash, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D79607
2020-06-17 15:31:39 +00:00
Matt Woodrow d3e50c8f76 Bug 1644943 - Create single webprogress for CanonicalBrowsingContext, regardless of process the browser element contents are in. r=nika,kmag,Gijs
I think at this point we can remove all of RemoteWebProgressManager, some/all of the TabProgressListener recreations, and probably a bunch more.

Differential Revision: https://phabricator.services.mozilla.com/D79240
2020-06-17 02:59:29 +00:00
Razvan Maries c350ad5bd6 Backed out changeset f56d5efc5e43 (bug 1644943) for build bustages on nsFrameLoaderOwner.cpp. CLOSED TREE 2020-06-17 02:55:01 +03:00
Nicholas Nethercote a8f5f49b8a Bug 1645982 - Rename some service getters in `Services.py` to better match the types. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79791
2020-06-16 23:32:21 +00:00
Matt Woodrow 645b2bc301 Bug 1644943 - Create single webprogress for CanonicalBrowsingContext, regardless of process the browser element contents are in. r=nika,kmag,Gijs
I think at this point we can remove all of RemoteWebProgressManager, some/all of the TabProgressListener recreations, and probably a bunch more.

Differential Revision: https://phabricator.services.mozilla.com/D79240
2020-06-16 23:24:49 +00:00
Razvan Maries d653f63b03 Backed out changeset 1c9058277ddd (bug 1641905) for perma failures on test_ext_cookies_firstParty.js. CLOSED TREE 2020-06-16 22:16:58 +03:00
Kashav Madan 1a71fed80e Bug 1580766 - Add a unique ID for the BrowsingContext tree inside a browser element. r=kmag
This adds a `browserId` property to all browsing contexts. This ID is the same
for the entire tree of contexts inside a frame element. Each new top-level
context created for a given frame also inherits this ID. This allows identifying
the frame element for a given browsing context.

Originally authored by :mossop in D56245.

Differential Revision: https://phabricator.services.mozilla.com/D77911
2020-06-16 18:12:46 +00:00
Razvan Maries 73dfe9d277 Backed out changeset 585e0230b2d5 (bug 1580766) as requested. CLOSED TREE 2020-06-16 21:01:26 +03:00
Dave Townsend 7a5ade2788 Bug 1580766 - Add a unique ID for the BrowsingContext tree inside a browser element. r=kmag
This adds a `browserId` property to all browsing contexts. This ID is the same
for the entire tree of contexts inside a frame element. Each new top-level
context created for a given frame also inherits this ID. This allows identifying
the frame element for a given browsing context.

Originally authored by :mossop in D56245.

Differential Revision: https://phabricator.services.mozilla.com/D77911
2020-06-16 17:25:16 +00:00
Andrea Marchesini f7efe6a94c Bug 1641905 - ThirdPartyUtil::IsThirdPartyWindow for fission, r=dimi,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D79307
2020-06-16 17:46:41 +00:00
Butkovits Atila 9e85a224ef Backed out changeset d9608e8bff0c (bug 1633338) on request by dev. a=backout 2020-06-16 12:05:54 +03:00
Nika Layzell cde53b3bec Bug 1508306 - Part 1: Migate the Large-Allocation handler to DocumentLoadListener, r=mattwoodrow,necko-reviewers,geckoview-reviewers,agi,valentin
This removes the diagnostic warnings which used to be logged when the
Large-Allocation header was present, but failed to switch into a
Large-Allocation process. Due to the low adoption of the header, this shouldn't
be too large of a problem, but we can look into re-adding the diagnostics if
needed in the future.

The new codepath no longer performs multiple network requests for
Large-Allocation resources, and now relies on the battle-tested
DocumentLoadListener codepath for process switching.

Differential Revision: https://phabricator.services.mozilla.com/D78998
2020-06-15 23:24:07 +00:00
Nika Layzell 5b6ea0f456 Bug 1640019 - Part 8: Remove unnecessary ASSERT_UNLESS_FUZZING when looking up CP, r=mattwoodrow
This assertion would spuriously fire if a content process died after its id was
taken.

Differential Revision: https://phabricator.services.mozilla.com/D78976
2020-06-15 23:24:05 +00:00
Nika Layzell ae9eaf84c4 Bug 1640019 - Part 5: Remove a number of now-unused 'updateBrowserRemoteness' parameters, r=Gijs
These were only used by process switches triggered via DocumentChannel, which
now take the PROCESS_BEHAVIOR_STANDARD codepath.

Differential Revision: https://phabricator.services.mozilla.com/D78973
2020-06-15 23:23:58 +00:00
Nika Layzell 212943c862 Bug 1640019 - Part 1: Support toplevel process switches outside of tabbrowser, r=mattwoodrow
This new process switching behavior is only enabled for some browser elements,
which have specified a specific attribute. Turning this on for all browsers with
a `remote` attribute causes breakage in reftests.

The initial version does not handle switching from remote to parent or
vice-versa, that is covered in a later part.

Differential Revision: https://phabricator.services.mozilla.com/D78969
2020-06-15 23:23:43 +00:00
Bogdan Tara 74ca6cc819 Backed out changeset 26231891f004 (bug 1644943) for browser_backforward_userinteraction.js and browser_sessionHistory.js failures CLOSED TREE 2020-06-16 02:46:15 +03:00
Matt Woodrow d075fa7e08 Bug 1644943 - Create single webprogress for CanonicalBrowsingContext, regardless of process the browser element contents are in. r=nika,kmag,Gijs
I think at this point we can remove all of RemoteWebProgressManager, some/all of the TabProgressListener recreations, and probably a bunch more.

Differential Revision: https://phabricator.services.mozilla.com/D79240
2020-06-15 22:01:34 +00:00
Nika Layzell 6a7bf3be7b Bug 1644246 - Send Activate/Deactivate messages over PBrowser instead of PContent, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D79384
2020-06-12 19:41:27 +00:00
julianwels 68d7c6ffa2 Bug 1640853 - Using PermissionManager for HTTPS Only Mode upgrade exceptions. r=ckerschb,nhnt11,nika,johannh,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D77040
2020-06-15 11:19:39 +00:00
Chris Martin 16126fa7a5 Bug 1400317 - Add new async calls/singleton for remoting system parameters r=jmathies
There are a number of system parameters that return simple floats and bools
and are just different forms of system parameter query.

This introduces a new singleton and IPDL calls to send these values from parent
to content processes and cache them in content.

I started with these 2 variables because their values don't go stale. In a
later changeset, I will add more logic to invalidate cached values that go
stale, such as for the SPI_GETFLATMENU metric.

Differential Revision: https://phabricator.services.mozilla.com/D76639
2020-06-14 14:23:03 +00:00
Logan Smyth 25d491b792 Bug 1601179 - Enable async stacks but limit captured async stacks to debuggees. r=jorendorff,smaug
The 'asyncStack' flag on JS execution contexts is used as a general switch
to enable async stack capture across all locations in SpiderMonkey, but
this causes problems because it can at times be too much of a performance
burden to general and track all of these stacks.

Since the introduction of this option, we have only enabled it on Nightly
and DevEdition for non-mobile builds, which has left a lot of users unable
to take advantage of this data while debugging.

This patch enables async stack traces across all of Firefox, but introduces
a new pref to toggle the scope of the actual expensive part of async stacks,
which is _capturing_ them and keeping them alive in memory. The new pref
limits the capturing of async stack traces to only debuggees, unless an
explicit pref is flipped to capture async traces for all cases.

This means that while async stacks are technically enabled, and code could
manually capture a stack and pass it back to SpiderMonkey and see that stack
reflected in later captured stacks, SpiderMonkey itself and related async
DOM APIs, among others, will not capture stacks or pass them to SpiderMonkey,
so there should be no general change in performance by enabling the broader
feature itself, unless the user is actively debugging the page.

One effect of this patch is that if you have the debugger open and then close
it, objects that have async stacks associated with them will retain those
stacks and they will continue to show up in stack traces, no _new_ stacks
will be captured. jorendorff and I have decided that this is okay because
the expectation that the debugger fully revert every possible effect that it
could have on a page is a nice goal but not a strict requirement.

Differential Revision: https://phabricator.services.mozilla.com/D68503
2020-06-14 02:41:45 +00:00
Narcis Beleuzu a8dde16e58 Backed out 10 changesets (bug 1508306, bug 1640019) for bc failures on browser_autoOpen.js . CLOSED TREE
Backed out changeset 8844170ff408 (bug 1508306)
Backed out changeset b750f1d873cf (bug 1508306)
Backed out changeset c7170e76e676 (bug 1640019)
Backed out changeset 5905995e4815 (bug 1640019)
Backed out changeset 7bf86513348e (bug 1640019)
Backed out changeset f7d0605295f7 (bug 1640019)
Backed out changeset 521b4d5a9a89 (bug 1640019)
Backed out changeset 8542edc564bc (bug 1640019)
Backed out changeset 4f6a03152526 (bug 1640019)
Backed out changeset 30d2bf04719b (bug 1640019)
2020-06-12 22:47:50 +03:00
Nika Layzell 47c0aeb539 Bug 1508306 - Part 1: Migate the Large-Allocation handler to DocumentLoadListener, r=mattwoodrow,necko-reviewers,geckoview-reviewers,agi,valentin
This removes the diagnostic warnings which used to be logged when the
Large-Allocation header was present, but failed to switch into a
Large-Allocation process. Due to the low adoption of the header, this shouldn't
be too large of a problem, but we can look into re-adding the diagnostics if
needed in the future.

The new codepath no longer performs multiple network requests for
Large-Allocation resources, and now relies on the battle-tested
DocumentLoadListener codepath for process switching.

Differential Revision: https://phabricator.services.mozilla.com/D78998
2020-06-12 16:52:13 +00:00
Nika Layzell 161a57fbda Bug 1640019 - Part 8: Remove unnecessary ASSERT_UNLESS_FUZZING when looking up CP, r=mattwoodrow
This assertion would spuriously fire if a content process died after its id was
taken.

Differential Revision: https://phabricator.services.mozilla.com/D78976
2020-06-12 16:52:11 +00:00
Nika Layzell 6069ccac68 Bug 1640019 - Part 5: Remove a number of now-unused 'updateBrowserRemoteness' parameters, r=Gijs
These were only used by process switches triggered via DocumentChannel, which
now take the PROCESS_BEHAVIOR_STANDARD codepath.

Differential Revision: https://phabricator.services.mozilla.com/D78973
2020-06-12 16:52:04 +00:00
Nika Layzell e999957c00 Bug 1640019 - Part 1: Support toplevel process switches outside of tabbrowser, r=mattwoodrow
This new process switching behavior is only enabled for some browser elements,
which have specified a specific attribute. Turning this on for all browsers with
a `remote` attribute causes breakage in reftests.

The initial version does not handle switching from remote to parent or
vice-versa, that is covered in a later part.

Differential Revision: https://phabricator.services.mozilla.com/D78969
2020-06-12 16:52:00 +00:00
Tim Huang eab7aa2b87 Bug 1587743 - Part 1: Pre-compute the delegated permissions for the top-level content and store it in the WindowContext. r=baku,nika
In order to delegate the permission to the top-level window, in this
patch, we pre-compute the permissions of the top-level context and set
them to the top-level WindowContext. So, the cross-origin iframe can
know the permission of the top-level window through the WindowContext.
Thus, the permission can be delegated in Fission.

Differential Revision: https://phabricator.services.mozilla.com/D79132
2020-06-12 16:31:49 +00:00
Noemi Erli 279f3b6a42 Backed out changeset 550164313c4f (bug 1601179) for causing failures in test_async CLOSED TREE 2020-06-12 08:16:14 +03:00
Logan Smyth 7f4a5aeed0 Bug 1601179 - Enable async stacks but limit captured async stacks to debuggees. r=jorendorff,smaug
The 'asyncStack' flag on JS execution contexts is used as a general switch
to enable async stack capture across all locations in SpiderMonkey, but
this causes problems because it can at times be too much of a performance
burden to general and track all of these stacks.

Since the introduction of this option, we have only enabled it on Nightly
and DevEdition for non-mobile builds, which has left a lot of users unable
to take advantage of this data while debugging.

This patch enables async stack traces across all of Firefox, but introduces
a new pref to toggle the scope of the actual expensive part of async stacks,
which is _capturing_ them and keeping them alive in memory. The new pref
limits the capturing of async stack traces to only debuggees, unless an
explicit pref is flipped to capture async traces for all cases.

This means that while async stacks are technically enabled, and code could
manually capture a stack and pass it back to SpiderMonkey and see that stack
reflected in later captured stacks, SpiderMonkey itself and related async
DOM APIs, among others, will not capture stacks or pass them to SpiderMonkey,
so there should be no general change in performance by enabling the broader
feature itself, unless the user is actively debugging the page.

One affect of this patch is that if you have the debugger open and then close
it, objects that have async stacks associated with them will retain those
stacks and they will continue to show up in stack traces, no _new_ stacks
will be captured. jorendorff and I have decided that this is okay because
the expectation that the debugger fully revert every possible effect that it
could have on a page is a nice goal but not a strict requirement.

Differential Revision: https://phabricator.services.mozilla.com/D68503
2020-06-11 21:24:16 +00:00
Dorel Luca d79704f94c Backed out changeset 09ce524559da (bug 1597562) for failures in awsy/test_base_memory_usage.py. CLOSED TREE 2020-06-11 14:21:51 +03:00
David Teller 7b9251bafc Bug 1597562 - about:memory now displays process types;r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D77541
2020-06-10 17:01:08 +00:00
Randell Jesup d707e31043 Bug 1642290: stop the process preallocator during normal shutdown, not post-CC r=nika
Post-CC is no longer needed given the landing of bug 1642491

Differential Revision: https://phabricator.services.mozilla.com/D79017
2020-06-10 13:36:40 +00:00
Alexis Beingessner 8a9982b45a Bug 1642344 - remove unused dom.testing.ignore_ipc_principal pref. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D77852
2020-06-09 14:45:58 +00:00
Alexis Beingessner 68cabeb994 Bug 1642344 - convert dom.noopener.newprocess.enabled to a StaticPref. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D77851
2020-06-09 14:45:54 +00:00
alwu 934302cd0d Bug 1640998 - part9 : use `MediaControlKey` to replace `MediaControlKeysEvent` r=chunmin,agi,geckoview-reviewers
This patch will
- remove `MediaControlKeysEvent` and use `MediaControlKey` to replace it
- rename names for all `MediaControlKey` related methods, functions, classes and descriptions

The advantage of doing so are
- remove the duplicated type so that we only need to maintain `MediaControlKey`

Differential Revision: https://phabricator.services.mozilla.com/D78140
2020-06-09 02:59:57 +00:00
alwu d05ba91da0 Bug 1640998 - part4 : update supported action changes from the content process. r=chunmin
This patch will
- tell the media controll supported action changes when media session updates its action handler

The advantage of doing so are
- to sync the status between media session in content process and the `MediaSessionInfo` in chrome process

Differential Revision: https://phabricator.services.mozilla.com/D77199
2020-06-08 22:16:46 +00:00
alwu 337718365e Bug 1640998 - part2 : use `ContentMediaAgent` to update media session's related information. r=chunmin
This patch will
- `ContentMediaAgent` as the only class to propagate the information to chrome process

The advantage of doing so are
- to group all methods involving IPC in one place, that would be easier to see what information would be propagated to chrome process

Differential Revision: https://phabricator.services.mozilla.com/D77197
2020-06-08 18:50:45 +00:00
alwu cc64086a9c Bug 1640998 - part1 : make `ContentMediaAgent` inherit from `IMediaInfoUpdater`. r=chunmin
This patch will
- make `ContentMediaAgent` inherit from `IMediaInfoUpdater`
- move `MediaPlaybackState` and `MediaAudibleState` to `MediaPlaybackStatus.h`

The advantage of doing so are
- to force all methods which are related with updating information from content process to chrome process to be manged by `IMediaInfoUpdater`. It can help us only put the descriptive comment for methods on one place. (on `IMediaInfoUpdater`)

Differential Revision: https://phabricator.services.mozilla.com/D77196
2020-06-08 22:08:26 +00:00
Dorel Luca 3e35e21538 Backed out 2 changesets (bug 1580766) for XPCshell failures in unit/test_browsing_context_structured_clone.js. CLOSED TREE
Backed out changeset 6b9926a5ab88 (bug 1580766)
Backed out changeset 3722901b6309 (bug 1580766)
2020-06-09 03:39:22 +03:00
Kashav Madan b389ac5721 Bug 1641929 - Replace uses of StaticPrefs::fission_autostart() with FissionAutostart(), r=nika
Differential Revision: https://phabricator.services.mozilla.com/D78799
2020-06-08 23:00:21 +00:00
Dave Townsend 9c61384069 Bug 1580766: Add a unique ID for the BrowsingContext tree inside a browser element. r=kmag
Adds a `browserId` property to all browsing contexts which the same for the
entire tree of contexts inside a frame element. If a new top-level context is
created for the frame then it is assigned the same value.

This allows identifying the frame element for a given browsing context.

Currently this is only done for XUL frame elements (browser/iframe). Not sure
if we want this for others.

Differential Revision: https://phabricator.services.mozilla.com/D56245
2020-06-08 21:58:33 +00:00
Simon Giesecke 13502cf27c Bug 1642991 - Use RemoveElementsBy where easily possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D78055
2020-06-08 09:01:48 +00:00
Christoph Kerschbaumer fbce1c6145 Bug 1633338: Use IsPotentiallyTrustworthy to indicate top level window is secure for mixed content blocker. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D75939
2020-06-08 07:05:16 +00:00
nchevobbe 1e3d0915e3 Bug 1639165 - Add an isFowardedFromContentProcess flag to nsIScriptError. r=baku.
This will be useful in DevTools land to discriminate those messages that we
might also get directly by directly connecting to content processes.

Differential Revision: https://phabricator.services.mozilla.com/D76792
2020-06-05 14:53:26 +00:00
Narcis Beleuzu 2f39179838 Backed out 2 changesets (bug 1639165) for dt failures on browser_webconsole_stubs_css_message.js . CLOSED TREE
Backed out changeset 6c7cd0394f8d (bug 1639165)
Backed out changeset c5cd10328f91 (bug 1639165)
2020-06-05 14:21:46 +03:00
nchevobbe d27d062988 Bug 1639165 - Add an isFowardedFromContentProcess flag to nsIScriptError. r=baku.
This will be useful in DevTools land to discriminate those messages that we
might also get directly by directly connecting to content processes.

Differential Revision: https://phabricator.services.mozilla.com/D76792
2020-06-05 08:12:41 +00:00
Emilio Cobos Álvarez f4aae6309b Bug 1643493 - Remove dead ParentShowInfo::fullscreenAllowed. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D78392
2020-06-05 00:40:59 +00:00
Kartikaya Gupta 621c1f3b9d Bug 1643381 - Inline ProcessUpdateFrame and remove stale declaration. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D78322
2020-06-04 21:43:24 +00:00
Sebastian Streich 91a18c1346 Bug 1521542 - Disable Process Switching for Sandboxed Contexts r=ckerschb,nika
Differential Revision: https://phabricator.services.mozilla.com/D76704
2020-06-04 10:46:48 +00:00
Emilio Cobos Álvarez e64af3d86d Bug 1643049 - Fix string usage in ClonedErrorHolder::Init. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D78131
2020-06-03 19:16:51 +00:00
Emilio Cobos Álvarez 0b099d0b0e Bug 1641605 - Install SIGXCPU handler even if sandbox is disabled. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D78019
2020-06-03 12:18:56 +00:00
Andrea Marchesini 69818a4d17 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 4 - Renaming storage access permission methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76917
2020-06-03 06:12:06 +00:00
Andrea Marchesini f8f4d7b9c9 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 3 - Cleanup storage access methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76916
2020-06-03 06:10:58 +00:00
Andrea Marchesini 22d905d24e Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 2 - Expose PartitionedPrincipal, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76915
2020-06-03 06:09:52 +00:00
Kris Maglione 28deb15a56 Bug 1637085: Use AsyncShutdown for ContentParent shutdown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D74746
2020-06-02 20:46:07 +00:00
Gijs Kruitbosch 728702a673 Bug 1606797 - pass the triggering principal when opening external URIs, r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D77027
2020-05-27 12:46:34 +00:00
Csoregi Natalia 2d5cafc841 Backed out 5 changesets (bug 1639833) for failures on browser_blockingIndexedDbInWorkers.js. CLOSED TREE
Backed out changeset 6b4f76d65540 (bug 1639833)
Backed out changeset c77acba1aacb (bug 1639833)
Backed out changeset 30c97666919e (bug 1639833)
Backed out changeset d769b313441a (bug 1639833)
Backed out changeset ed41b41d1b03 (bug 1639833)
2020-06-02 15:02:31 +03:00
Andrea Marchesini 6f2eed62c8 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 4 - Renaming storage access permission methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76917
2020-06-02 08:30:24 +00:00
Andrea Marchesini 2e5c69b85f Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 3 - Cleanup storage access methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76916
2020-06-02 08:29:15 +00:00
Andrea Marchesini e31c7313ca Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 2 - Expose PartitionedPrincipal, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76915
2020-06-02 08:28:05 +00:00
Randell Jesup 0014fbea8c Bug 1642491: Avoid recreating the PreallocatedProcessManager during shutdown r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D77714
2020-06-02 01:38:41 +00:00
Razvan Maries a36bb7751f Backed out 3 changesets (bug 1638153) for perma failures on cross-origin-objects.html. CLOSED TREE
Backed out changeset f7aedc92d396 (bug 1638153)
Backed out changeset 07ec713926c6 (bug 1638153)
Backed out changeset 5a656842e241 (bug 1638153)
2020-06-01 23:51:35 +03:00
Razvan Maries 9b7eb56aa8 Backed out changeset 8f1051f12365 (bug 1637085) for build bustages on selftest.py. CLOSED TREE 2020-06-01 21:52:34 +03:00
Razvan Maries c5a8f831d4 Backed out changeset 30c061da89d8 (bug 1580766) for perma failures on BrowsingContext.cpp. CLOSED TREE 2020-06-01 21:50:12 +03:00
Kris Maglione dd56054fcb Bug 1637085: Use AsyncShutdown for ContentParent shutdown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D74746
2020-06-01 18:01:13 +00:00
Kris Maglione b3fcd970ec Bug 1638153: Part 2 - Fix uses of .rootTreeItem to get top browser window. r=geckoview-reviewers,nika,snorp
Differential Revision: https://phabricator.services.mozilla.com/D75429
2020-06-01 17:59:01 +00:00
Dave Townsend 38ef8fecd1 Bug 1580766: Add a unique ID for the BrowsingContext tree inside a browser element. r=kmag
Adds a `browserId` property to all browsing contexts which the same for the
entire tree of contexts inside a frame element. If a new top-level context is
created for the frame then it is assigned the same value.

This allows identifying the frame element for a given browsing context.

Currently this is only done for XUL frame elements (browser/iframe). Not sure
if we want this for others.

Differential Revision: https://phabricator.services.mozilla.com/D56245
2020-06-01 16:52:31 +00:00
Noemi Erli f08b043cf6 Backed out 5 changesets (bug 1639833) for causing sessionstorage related failures CLOSED TREE
Backed out changeset b36af8d9db34 (bug 1639833)
Backed out changeset 712c11904dbe (bug 1639833)
Backed out changeset 14f1e4783582 (bug 1639833)
Backed out changeset b7f14c4cfe5d (bug 1639833)
Backed out changeset b4b25034dd83 (bug 1639833)
2020-06-01 19:31:50 +03:00
Andrea Marchesini a997c1d626 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 4 - Renaming storage access permission methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76917
2020-06-01 11:59:46 +00:00
Andrea Marchesini 6172ec2b3e Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 3 - Cleanup storage access methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76916
2020-06-01 11:07:36 +00:00
Andrea Marchesini 8c0df411d1 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 2 - Expose PartitionedPrincipal, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76915
2020-06-01 11:57:46 +00:00
Randell Jesup 78facb122a Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-30 14:38:30 +00:00
Mihai Alexandru Michis 75bd009f17 Backed out changeset 4311c3df8803 (bug 1597562) for causing failures in aboutmemory.
CLOSED TREE
2020-05-30 14:11:35 +03:00
David Teller b02425c053 Bug 1597562 - about:memory now displays process types;r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D77541
2020-05-30 10:25:02 +00:00
Olli Pettay 85d3e9e10f Bug 1548274 - try to make dom/ipc/tests/browser_cancel_content_js.js a bit less racy r=squib
Differential Revision: https://phabricator.services.mozilla.com/D77445
2020-05-29 21:46:53 +00:00
Narcis Beleuzu 4e6564f9f0 Backed out 7 changesets (bug 1602757, bug 1640801, bug 1612063, bug 1569928) for wpt failures on operator-dictionary-spacing-002/003/006.html CLOSED TREE
Backed out changeset 11277f03c48c (bug 1640801)
Backed out changeset 6d2a92d25b8f (bug 1569928)
Backed out changeset 383fd9b931ae (bug 1602757)
Backed out changeset 58ec60831af6 (bug 1602757)
Backed out changeset 4b9c579de3b2 (bug 1602757)
Backed out changeset a34288a6f60c (bug 1612063)
Backed out changeset 5134aaa3278e (bug 1602757)
2020-05-29 05:38:02 +03:00
Randell Jesup a6b0fd37c6 Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-28 21:37:03 +00:00
Narcis Beleuzu 0d860681b7 Backed out 6 changesets (bug 1602757, bug 1612063, bug 1569928) for wpt failure on operator-dictionary-spacing-001.html . CLOSED TREE
Backed out changeset 0f9c7960f36e (bug 1569928)
Backed out changeset 9456c9f960c9 (bug 1602757)
Backed out changeset 8dc7e11dbb9c (bug 1602757)
Backed out changeset 8bacf5ad656e (bug 1602757)
Backed out changeset b15fc1090ac7 (bug 1612063)
Backed out changeset bd19c329c6b7 (bug 1602757)
2020-05-28 21:29:25 +03:00
Randell Jesup 4899b7707e Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-28 14:33:24 +00:00
Csoregi Natalia a90f898b91 Backed out changeset 14084268455c (bug 1639165) for multiple console related failures. CLOSED TREE 2020-05-28 17:08:41 +03:00
nchevobbe 64b135f38b Bug 1639165 - Don't log message from ContentChild when multiprocess browser toolbox is enabled. r=baku.
Differential Revision: https://phabricator.services.mozilla.com/D76792
2020-05-28 10:01:14 +00:00
Andrew McCreight d2270d57b7 Bug 1641091, part 1 - Remove the unused ContentChild::GetEventTargetFor. r=froydnj
This all is leftovers from Quantum DOM.

Differential Revision: https://phabricator.services.mozilla.com/D76982
2020-05-27 13:58:35 +00:00
Matt Woodrow 7b18a9452b Bug 1631405 - Run nsMixedContentBlocker::AsyncOnChannelRedirect checks in the parent for documents, since this is now supported correctly. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D75449
2020-05-27 00:31:51 +00:00
Matt Woodrow e060a86c42 Bug 1631405 - Move nsISecureBrowserUI to be owned by the canonical browsing context instead of docshell. r=nika,ckerschb,Gijs,webcompat-reviewers,twisniewski
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly.

I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI.

Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings.

Differential Revision: https://phabricator.services.mozilla.com/D75447
2020-05-27 00:28:59 +00:00
Matt Woodrow 2083b054bd Bug 1631405 - Make sure we initialize all fields of WindowGlobalParent in the constructor. r=nika
Previously we only set some fields as part of WindowGlobalInit, but WindowGlobalParent sets itself as the current window global on the CanonicalBrowsingContext.

This exposes a period of time where only part of the document state was set, and this was observable to consumers.

This makes OnNewDocument only run when there is a new Document for the same WindowGlobal.

Differential Revision: https://phabricator.services.mozilla.com/D75446
2020-05-27 00:27:30 +00:00
Bogdan Tara a54ec3073f Backed out 4 changesets (bug 1631405) for multiple mochitest failures CLOSED TREE
Backed out changeset 9963cc0b23cb (bug 1631405)
Backed out changeset 469ac933ed7c (bug 1631405)
Backed out changeset 0c5f55864268 (bug 1631405)
Backed out changeset 20dcbcc2f3b8 (bug 1631405)
2020-05-27 01:30:20 +03:00
Matt Woodrow 7321550a61 Bug 1631405 - Run nsMixedContentBlocker::AsyncOnChannelRedirect checks in the parent for documents, since this is now supported correctly. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D75449
2020-05-26 21:19:45 +00:00
Matt Woodrow 240d417eb6 Bug 1631405 - Move nsISecureBrowserUI to be owned by the canonical browsing context instead of docshell. r=nika,ckerschb,Gijs,webcompat-reviewers,twisniewski
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly.

I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI.

Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings.

Differential Revision: https://phabricator.services.mozilla.com/D75447
2020-05-26 21:17:01 +00:00
Matt Woodrow 5b64e9bae2 Bug 1631405 - Make sure we initialize all fields of WindowGlobalParent in the constructor. r=nika
Previously we only set some fields as part of WindowGlobalInit, but WindowGlobalParent sets itself as the current window global on the CanonicalBrowsingContext.

This exposes a period of time where only part of the document state was set, and this was observable to consumers.

This makes OnNewDocument only run when there is a new Document for the same WindowGlobal.

Differential Revision: https://phabricator.services.mozilla.com/D75446
2020-05-26 21:15:42 +00:00
Jonathan Kew 58d58635f7 Bug 1640119 - Pass shared-memory blocks for the font list as part of SetXPCOMProcessAttributes. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D76507
2020-05-26 09:30:17 +00:00
JulianWels 2cc2e49495 Bug 1625156 - Error page for HTTPS Only Mode. r=fluent-reviewers,ckerschb,nhnt11,flod,nika,johannh,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D72129
2020-05-26 11:45:21 +00:00
Nika Layzell 73d17519e7 Bug 1639367 - Clean up TabContext logic for PBrowser, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D76055
2020-05-21 22:38:44 +00:00
Nika Layzell e6a9e27a19 Bug 1637088 - Delay creating BrowserBridgeChild until after new PBrowser has been created, r=farre,emilio
Differential Revision: https://phabricator.services.mozilla.com/D75614
2020-05-25 06:06:30 +00:00
Gijs Kruitbosch 38b061ef45 Bug 1638373 - remove js/ipc now that CPOWs are dead, r=mccr8
Depends on D76597

Differential Revision: https://phabricator.services.mozilla.com/D76598
2020-05-24 18:47:04 +00:00
Narcis Beleuzu 34d12babb2 Backed out 5 changesets (bug 1602757, bug 1612063) for marionette failures on test_crash.py
Backed out changeset 232da017dc6a (bug 1602757)
Backed out changeset 32851bed1929 (bug 1602757)
Backed out changeset 1c6a6bfaaeef (bug 1602757)
Backed out changeset 45e22f062bce (bug 1612063)
Backed out changeset a7d7edf158a4 (bug 1602757)
2020-05-23 23:45:59 +03:00
Randell Jesup ec264a9a49 Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-23 05:37:26 +00:00
Emilio Cobos Álvarez a42bfa75a9 Bug 1156934 - Notify all content processes when LookAndFeel changes. r=jesup
This should fix the issue for preallocated processes that still don't
host any document, and also send a few less IPC messages.

Differential Revision: https://phabricator.services.mozilla.com/D76537
2020-05-23 14:28:40 +00:00
Edgar Chen 3c8a28b7ab Bug 1638806 - Do not update sLastMouseRemoteTarget for eMouseExitFromWidget event; r=smaug
Firing eMouseExitFromWidget means we are leaving a specific remote target, then
we should not update sLastMouseRemoteTarget. Otherwise the subsequent event
might trigger sending eMouseExitFromWidget again.

Differential Revision: https://phabricator.services.mozilla.com/D75916
2020-05-22 20:12:25 +00:00
Bob Owen 5ef9be5d40 Bug 1633791 part 1: Add ability to notify the child processes of an impending shutdown. r=nika
This also adds a call to the new function in ContentParent::StartForceKillTimer.

Differential Revision: https://phabricator.services.mozilla.com/D75507
2020-05-22 18:21:59 +00:00
Barret Rennie f5258e1188 Bug 1603185 - Collect per tab unique site origin telemetry r=Dexter,Gijs,nika
Top-level content WindowGlobalParents now keep track of the site origins of the
documents in their document tree. When the WindowGlobalParent is torn down, the
maximum of the number of unique site origins is submitted for telemetry.

Differential Revision: https://phabricator.services.mozilla.com/D71493
2020-05-22 00:34:17 +00:00
Emilio Cobos Álvarez 7b19f0d6d4 Bug 1609024 - Remove cache mechanism which is not very useful. r=hiro,snorp,mccr8
I don't think all this complexity is worth it for having a
marginally-more-realistic testing story. Using the pref just works and we should
do that, I think.

Differential Revision: https://phabricator.services.mozilla.com/D59980
2020-05-21 17:02:06 +00:00
Csoregi Natalia 40b453bd7c Backed out 7 changesets (bug 1602757, bug 1612063) for browser-chrome failures on browser_resource_uri.js. CLOSED TREE
Backed out changeset 2556e3876602 (bug 1602757)
Backed out changeset 1c98ac1c4283 (bug 1602757)
Backed out changeset 2c7bf6206bb4 (bug 1602757)
Backed out changeset a0142f6bb65f (bug 1602757)
Backed out changeset 7f114ce6b98d (bug 1612063)
Backed out changeset d9b4b2cffaa5 (bug 1602757)
Backed out changeset 33515632a7db (bug 1602757)
2020-05-21 04:09:56 +03:00
Randell Jesup 14c6c29a53 Bug 1602757: Block extension processes from using the preallocation queue r=nika
Differential Revision: https://phabricator.services.mozilla.com/D75412
2020-05-20 22:37:42 +00:00
Randell Jesup b127aeed3f Bug 1602757: Fix e10s process reuse cache and add debugs r=nika
Differential Revision: https://phabricator.services.mozilla.com/D72553
2020-05-20 22:38:09 +00:00
Randell Jesup ce46a60d0a Bug 1602757: add preallocation cache for webIsolated (fission) processes r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D69589
2020-05-20 22:38:42 +00:00
Peter Van der Beken 2c8f84716d Bug 1570255 - Forward ChildSHistory::Go to the parent. r=smaug
This enables navigating by index in session history go through the
session history in the parent (if enabled with the pref).

If the pref is enabled, then ChildSHistory::Go will send an IPC message
to the parent with the index to navigate to. The parent calls the
existing nsSHistory implementation and starts the loads, and
asynchronously returns the index that we actually navigated to. The
child process then uses that result to update the session history
implementation in the child process (this part is temporary, while we
have session history both in parent and in child). We also make the
parent send an updated length to the child process over IPC, so that
history.length always the length for the implementation in the parent.

Differential Revision: https://phabricator.services.mozilla.com/D65330
2020-05-20 09:15:31 +00:00
Peter Van der Beken f38cc0e952 Bug 1570255 - Reboot session history in parent part 1. r=smaug,necko-reviewers,valentin
This adds a new implementation of nsISHEntry
(mozilla::dom::SessionHistoryEntry). When session history in the parent
is turned on, we'll instantiate the existing nsSHistory in the parent
process, but it will store entries of this new type. The nsSHistory in
the child process will also be instantiated for now, to avoid breaking
too many assumptions, and we try to keep parent and child
implementations in sync.

mozilla::dom::SessionHistoryEntry stores most of its data in a new
structure (mozilla::dom::SessionHistoryInfo) which can be sent over IPC.
When a load starts through the DocumentChannel we create an entry of
this new type for it in the parent process in
DocumentLoadListener::Open. The SessionHistoryInfo for that entry (with
an associated ID) is then sent over IPC in the RedirectToRealChannelArgs
to the process that does the actual load, where we store it in the
nsDocShell in mLoadingEntry (and mLoadingEntryId). The parent process
keeps track of outstanding loading entries in an array (mLoadingEntries)
in the CanonicalBrowsingContext. When a load finishes the nsDocShell
transfers mLoadingEntry into mActiveEntry, and notifies the parent
process through an IPC message (HistoryCommit) with the id of that
entry. The CanonicalBrowsingContext then removes the entry from the
array and stores it in its mActiveEntry, and adds the entry to the
nsSHistory object.

There are a number of things in this patch that are broken, and a lot of
FIXME comments. However, with the pref turned off things should just be
working as before. The goal is to land this first part, and then iterate
on the new implementation until we can switch over.

Differential Revision: https://phabricator.services.mozilla.com/D65329
2020-05-20 09:09:12 +00:00
Peter Van der Beken 1990918ebe Bug 1570255 - Remove sync session history implementation. r=smaug,nika
Differential Revision: https://phabricator.services.mozilla.com/D65326
2020-05-20 09:09:06 +00:00
Tom Tung d9d34b2983 Bug 1605176 - Send a error message data and cause a message error on the receiver side when the message data contains a shared memory object in BrowsingContext::PostMessageMoz; r=baku,kmag
Differential Revision: https://phabricator.services.mozilla.com/D75035
2020-05-20 08:27:16 +00:00
Tim Huang 4b67d42692 Bug 1639195 - Part 1: Make BrowserChild::RecvLoadURL() to use the correct triggering princpal. r=ckerschb,mattwoodrow
This patch makes the triggering princpal to be propagated to the
BrowserChild when calling LoadURL in nsFrameLoader. And use it as the
triggering principal for loading instead of the system principal.

Differential Revision: https://phabricator.services.mozilla.com/D75965
2020-05-19 20:22:34 +00:00
Neil Deakin accd5effbf Bug 1594752, expose WindowGlobalParent's document title attribute to script, and fire a pagetitlechanged event on the frame/browser when it changes, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D72561
2020-05-19 13:42:18 +00:00
Dimi Lee 267aee84fa Bug 1624269 - P4. Not using permission manager to sync HasStorageAccess. r=timhuang,baku
We already have an architecture to sync the storage access granted
result to all 3rd-party frames with the same tracking origin.
We use the same way to sync HasStorageAccess flag instead of relying
on permission manager update permissions to child processes.

Differential Revision: https://phabricator.services.mozilla.com/D73711
2020-05-18 11:04:48 +00:00
Dimi Lee 3ad661e06a Bug 1624269 - P2. Cache access granted result in the 3rd-party window instead of top-level window in fission mode. r=timhuang,baku
Before this patch, in non-fission mode, we cache storage access granted result
in the top-level window so we don't have to iterate all the browsing contexts
in the same tree while syncing the storage permission granted decision.

However, since we plan to rely on the current update mechanism to sync
mHasStorageAccess flag for different documents in the same tab (instead of using
the syncing mechanism of permission manager), we will eventually need to iterate
the browsing context tree to find all the documents to sync. Base on this,
we no longer have to maintain different method for fission and non-fission.

In this patch, we store the permission granted result in the inner
window instead of using permission key and store the key in the top-level
window.

Differential Revision: https://phabricator.services.mozilla.com/D73710
2020-05-18 11:04:50 +00:00
Csoregi Natalia 88ab085eff Backed out 5 changesets (bug 1624269) for browser-chrome failures on browser_storageAccessWithHeuristics.js. CLOSED TREE
Backed out changeset 59cdba115447 (bug 1624269)
Backed out changeset 23b5c53f4be8 (bug 1624269)
Backed out changeset be697a5bc0fd (bug 1624269)
Backed out changeset 81420bca683c (bug 1624269)
Backed out changeset 599db5acefe1 (bug 1624269)
2020-05-18 13:59:44 +03:00
Dimi Lee 76cd40637d Bug 1624269 - P4. Not using permission manager to sync HasStorageAccess. r=timhuang,baku
We already have an architecture to sync the storage access granted
result to all 3rd-party frames with the same tracking origin.
We use the same way to sync HasStorageAccess flag instead of relying
on permission manager update permissions to child processes.

Differential Revision: https://phabricator.services.mozilla.com/D73711
2020-05-18 09:14:09 +00:00
Dimi Lee 6960df4b88 Bug 1624269 - P2. Cache access granted result in the 3rd-party window instead of top-level window in fission mode. r=timhuang,baku
Before this patch, in non-fission mode, we cache storage access granted result
in the top-level window so we don't have to iterate all the browsing contexts
in the same tree while syncing the storage permission granted decision.

However, since we plan to rely on the current update mechanism to sync
mHasStorageAccess flag for different documents in the same tab (instead of using
the syncing mechanism of permission manager), we will eventually need to iterate
the browsing context tree to find all the documents to sync. Base on this,
we no longer have to maintain different method for fission and non-fission.

In this patch, we store the permission granted result in the inner
window instead of using permission key and store the key in the top-level
window.

Differential Revision: https://phabricator.services.mozilla.com/D73710
2020-05-18 09:14:09 +00:00
Botond Ballo 9193635dca Bug 1638458 - Do not use ignoreRootScrollFrame when dispatching a contextmenu event in APZEventState. r=tnikkel
The patch also removes the ignoreRootScrollFrame option from
APZCCallbackHelper::DispatchMouseEvent() altogether as it is
no longer used.

Depends on D75735

Differential Revision: https://phabricator.services.mozilla.com/D75736
2020-05-18 03:07:12 +00:00
Botond Ballo ba458447b3 Bug 1638458 - Remove the ignoreRootScrollFrame parameter of FrameLoader.sendCrossProcessMouseEvent(). r=tnikkel
No one is setting this parameter to true any more.

Depends on D75734

Differential Revision: https://phabricator.services.mozilla.com/D75735
2020-05-18 03:05:32 +00:00
Gijs Kruitbosch 72186b2199 Bug 1638092 - do not require a browsingcontext to call the external protocol service's loadURI method, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D75543
2020-05-17 22:54:30 +00:00
Narcis Beleuzu 0c898075c2 Bug 1604538 - Disable browser_destroy_callbacks.js on OSX. r=egao
Differential Revision: https://phabricator.services.mozilla.com/D75663
2020-05-16 07:18:15 +00:00
Jeff Gilbert 13e67cc06b Bug 1638163 - Reduce unnecessary GeckoContentController.h includes. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D75433
2020-05-15 21:20:48 +00:00
Csoregi Natalia 29948708ee Backed out changeset cec3221b9268 (bug 1638163) for causing bustages on APZCTreeManagerChild.cpp. CLOSED TREE 2020-05-15 23:28:13 +03:00
Jeff Gilbert 617cc85ba0 Bug 1638163 - Reduce unnecessary GeckoContentController.h includes. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D75433
2020-05-15 19:25:44 +00:00
Aaron Klotz be11f78f6a Bug 1637452: Part 10 - Fix JNI includes in dom/ipc; r=nika
In this bug we're moving away from monolithic JNI headers to class-specific
headers so that we don't have to rebuild the world every time we make a change
to a JNI interface.

Differential Revision: https://phabricator.services.mozilla.com/D75373
2020-05-15 17:04:44 +00:00