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

7780 Коммитов

Автор SHA1 Сообщение Дата
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
Razvan Maries 481517ce87 Backed out 2 changesets (bug 1558394) for perma failures on iframe_sandbox_anchor_download_block_downloads.sub.tentative.html. CLOSED TREE
Backed out changeset 79046ff8143b (bug 1558394)
Backed out changeset e13ede3c68d4 (bug 1558394)
2020-05-15 19:18:34 +03:00
Sebastian Streich bb0855332f Bug 1558394 - Pass the TriggeringSandboxFlags to nsILoadinfo r=ckerschb,smaug,necko-reviewers,valentin
Add triggering Sandbox flags to loadinfo
***
Pass triggering Flags into Loadinfo

Differential Revision: https://phabricator.services.mozilla.com/D69588
2020-05-15 14:03:28 +00:00
Andreea Pavel 9257ea9bef Backed out 2 changesets (bug 1594752) for causing bug 1638148 on a CLOSED TREE
Backed out changeset 66cc44b67170 (bug 1594752)
Backed out changeset e781cf38f088 (bug 1594752)
2020-05-15 13:47:49 +03:00
Dorel Luca fc22d41aeb Backed out changeset 9bedd57840ed (bug 1637085) for WPT failures. CLOSED TREE 2020-05-15 05:37:57 +03:00
Kris Maglione 710c64adb4 Bug 1637085: Use AsyncShutdown for ContentParent shutdown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D74746
2020-05-13 16:38:11 +00:00
Bogdan Tara edcb53f163 Backed out 2 changesets (bug 1558394) for nsDocShellLoadState related bustage CLOSED TREE
Backed out changeset 5889105bd089 (bug 1558394)
Backed out changeset 80a0ea17c9f8 (bug 1558394)
2020-05-14 15:17:32 +03:00
Sebastian Streich 9ce86dc585 Bug 1558394 - Pass the TriggeringSandboxFlags to nsILoadinfo r=ckerschb,smaug,necko-reviewers,valentin
Add triggering Sandbox flags to loadinfo
***
Pass triggering Flags into Loadinfo

Differential Revision: https://phabricator.services.mozilla.com/D69588
2020-05-14 10:04:44 +00:00
alwu af00afa1f0 Bug 1633010 - part5 : extend `IMediaInfoUpdater`. r=chunmin
This patch will do :
- make all functions which are used to update information from the content process become a part of `IMediaInfoUpdater`

The advantage of doing so :
- It's clear to use `IMediaInfoUpdater` as the only surface to update the media related status
- explictly restrict which functions are available which can avoid using control related functions on those situations

Differential Revision: https://phabricator.services.mozilla.com/D73489
2020-05-13 22:07:44 +00:00
alwu 12e184256b Bug 1633010 - part4 : move declared and guessed playback state into `MediaSessionController`. r=chunmin
This patch will do :
- move the logic of determining `actual playback state` to `MediaSessionController`

The advantage of doing so :
- increate the cohesion of `MediaSessionController` because it should be the class to determine the final playback status, not `MediaController`

Differential Revision: https://phabricator.services.mozilla.com/D73488
2020-05-13 21:18:06 +00:00
alwu 329f82761a Bug 1633010 - part3 : move MediaPlaybackStatus to MediaSessionController. r=chunmin
This patch will do :
- move the instance of `MediaPlaybackStatus` to the `MediaSessionController` to allow `MediaSessionController` handle all media related status

The advantage of doing so :
- encapsulate all media related status details to `MediaSessionController` and simplify the code in `MediaController`

Differential Revision: https://phabricator.services.mozilla.com/D73487
2020-05-13 20:58:02 +00:00
alwu 32695cee12 Bug 1633010 - part1 : send context Id as a parameter when updating media playback and audible state. r=bryce,chunmin
This patch will do :
- make `NotifyMediaPlaybackChanged` and `NotifyMediaAudibleChanged` accept one more paramter that indicates where those update come from

The advantage of doing so :
- we would use that to maintain separated media status for each different context in the future patch.

Differential Revision: https://phabricator.services.mozilla.com/D72471
2020-05-13 20:57:23 +00:00
Neil Deakin c0e5a6c003 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-13 19:25:45 +00:00
David Teller 9eb843fe55 Bug 1637212 - Simplify actorCreated test;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D75076
2020-05-13 18:09:09 +00:00
Matt Woodrow 3a20271225 Bug 1570243 - Support checking IsSecureContext on OOP ancestors. r=kmag,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D73998
2020-05-13 21:52:39 +00:00
Csoregi Natalia 517e830522 Backed out 4 changesets (bug 1629866, bug 1570255) for assertion failures on DocumentChannelChild.cpp. CLOSED TREE
Backed out changeset 214e4a11be0d (bug 1570255)
Backed out changeset db066dda1bb8 (bug 1570255)
Backed out changeset d9f75d88613e (bug 1570255)
Backed out changeset fe2d4790b73a (bug 1629866)
2020-05-13 18:30:42 +03:00
Gijs Kruitbosch 228e52aebe Bug 1196151 - use BrowsingContext for external helper app handling of protocols, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D74434
2020-05-11 13:13:03 +00:00
Peter Van der Beken c46091ad18 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-13 13:47:11 +00:00
Peter Van der Beken 879cba492c 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-13 13:46:33 +00:00
Peter Van der Beken e2a88c491c Bug 1570255 - Remove sync session history implementation. r=smaug,nika
Differential Revision: https://phabricator.services.mozilla.com/D65326
2020-05-13 14:24:55 +00:00
ssengupta cf852bbfb9 Bug 1635399 - Function PrincipalInfoToPrincipal now returns Result<nsCOMPtr<nsIPrincipal>, nsresult> r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D73868
2020-05-12 19:02:05 +00:00
David Teller ba7da0c9ff Bug 1593186 - Invoke JS{Parent, Window}Actor.actorCreated;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D74639
2020-05-12 07:55:39 +00:00
Edgar Chen f0ed844fb9 Bug 1607375 - Generate mouse exit event to old remote target when the mouse event is moving to another remote target; r=hsivonen,smaug
If a mouse is over a remote target A, and then moves to remote target B,
we'd deliver the event directly to remote target B after the moving, A would
never get notified that the mouse left. And A would synthesizes mousemove event
on an incorrect point which then generates an unexpected mouseleave.

Differential Revision: https://phabricator.services.mozilla.com/D67408
2020-05-11 22:39:18 +00:00
Bogdan Tara ee479fe473 Backed out changeset 40cdffbbff0e (bug 1593186) for browser_getActor.js and browser_sendQuery.js failures CLOSED TREE 2020-05-12 01:13:20 +03:00
David Teller 79225f24da Bug 1593186 - Invoke JS{Parent, Window}Actor.actorCreated;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D74639
2020-05-11 21:12:10 +00:00
Bogdan Tara 2cb15e959f Backed out changeset 3f222a72eb1c (bug 1593186) for browser_getActor.js failures CLOSED TREE 2020-05-11 22:26:47 +03:00
Valentin Gosu db062a7e3b Bug 1572513 - Set the embedder policy when intializing the Document object r=nika
This patch persists the CrossOriginEmbedderPolicy on the Document and
WindowContext.
The WindowContext's embedder policy is set in
WindowGlobalActor::BaseInitializer by either adopting the policy of the HTTP
channel that loaded the document, or in WindowGlobalChild::OnNewDocument
by inheriting the one from the browsingContext's windowContext.

Differential Revision: https://phabricator.services.mozilla.com/D46903
2020-05-11 18:41:16 +00:00
David Teller e11bdf2afc Bug 1593186 - Invoke JS{Parent, Window}Actor.actorCreated;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D74639
2020-05-11 16:23:52 +00:00
Mihai Alexandru Michis 7686b00958 Backed out 2 changesets (bug 1594752) for causing failures in browser_e10s_switchbrowser.js
CLOSED TREE

Backed out changeset b54107a687e4 (bug 1594752)
Backed out changeset 801d1e226947 (bug 1594752)
2020-05-11 18:11:24 +03:00
Neil Deakin effc8401b2 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-11 11:24:16 +00:00
Christoph Kerschbaumer c65e97cd1c Bug 1635365: Move field mixed content IsSecure from BrowsingContext to WindowContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D74269
2020-05-11 08:11:17 +00:00
Sylvestre Ledru 1929dd1ab3 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D73347
2020-05-09 14:51:53 +00:00
Nika Layzell 3615e45be9 Bug 1636279 - Part 2: Unify WindowContext new document state updating code, r=farre
When a new document is loaded in a WindowContext, various pieces of state need
to be updated in the parent process. This is currently done in an ad-hoc manner
in nsGlobalWindowOuter::SetNewDocument. This change moves the updating logic
into a common method on WindowGlobalChild.

Differential Revision: https://phabricator.services.mozilla.com/D74325
2020-05-08 20:42:06 +00:00
Nika Layzell 136a1ffa7a Bug 1636279 - Part 1: Streamline WindowContext initialization, r=farre
This should make the flow of how data gets into the initial WindowContext state
more clear, and allows the setting of initial synced WindowContext fields.

Differential Revision: https://phabricator.services.mozilla.com/D74324
2020-05-08 20:44:12 +00:00
Tom Schuster 4f64f475f2 Bug 1595046 - Make it possible to inspect every exception value in the web console. r=jonco,baku,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D64437
2020-05-08 20:54:17 +00:00
Nika Layzell 5b5f1a77c5 Bug 1634596 - Avoid switching into a new process if an ancestor is discarded, r=farre
This is a temporary workaround for the crashes this can cause. A more thorough
fix to discarded ancestor issues will be implemented in bug 1634759.

Differential Revision: https://phabricator.services.mozilla.com/D74101
2020-05-08 18:04:51 +00:00
Csoregi Natalia cd28d94be1 Backed out changeset 59a45d8c0fbb (bug 1635365) for browser-chrome failures on browser_bug902156.js. CLOSED TREE 2020-05-08 19:09:20 +03:00
Christoph Kerschbaumer 1470386f05 Bug 1635365: Move field mixed content IsSecure from BrowsingContext to WindowContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D74269
2020-05-08 14:05:18 +00:00
Henri Sivonen 45aad1c320 Bug 1617788 - Restore focus in out-of-focus iframe after switching to another app and back even for non-keyboard causes. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D67878
2020-05-08 00:20:51 +00:00
Dan Glastonbury 7699520bf5 Bug 1624550 - P4: Cleanup APIs for setting BrowsingContext::UseGlobalHistory. r=farre
This value is determined in Parent process and passed down to nsDocShell. Delete
the messages to pass the setting down and set it on the BrowsingContext in the
Parent process.

Refactor the code that determines to opt-out of using global history. Code
inspection determines that windowless browsing contexts want to opt-out as well
as any frame with `disableglobalhistory` attribute set on it.

Differential Revision: https://phabricator.services.mozilla.com/D72279
2020-05-08 03:28:44 +00:00
Dan Glastonbury 39c9e7dd94 Bug 1624550 - P3: Update Global History from DocumentLoadListener in Parent process. r=mak,farre,mattwoodrow
Avoid round-trip Parent->Content->Parent to add visited URI to browsing history.

Differential Revision: https://phabricator.services.mozilla.com/D72278
2020-05-08 03:28:42 +00:00
Nika Layzell 050e87dc2c Bug 1631332 - Block attempts to open windows from remote tabs without useRemoteTabs, r=kmag
This is an initial step. In the future it may be nice to avoid loading remote
tabs within windows without `useRemoteTabs` in general.

Differential Revision: https://phabricator.services.mozilla.com/D72936
2020-05-08 02:36:17 +00:00
Nika Layzell 9e0032b97f Bug 1633820 - Part 5: Get rid of UnsafeIPCTabContext, r=kmag
This variant was only used for service workers' openWindow method, which has
been changed to no longer behave in this way, meaning that the type can be
removed. The follow-up simplification of removing
'ContentChild::ProvideWindowCommon', and moving the logic directly into
'BrowserChild' is not done in this bug, and will be done in a follow-up instead.

Differential Revision: https://phabricator.services.mozilla.com/D72935
2020-05-07 22:18:56 +00:00
Nika Layzell 6cb771c699 Bug 1633820 - Part 4: Remove OriginAttributes from TabContext, r=kmag
This information is now redundant with 'BrowsingContext', meaning that it can be
omitted from the 'TabContext'.

Differential Revision: https://phabricator.services.mozilla.com/D72934
2020-05-07 22:18:54 +00:00
Nika Layzell 2454ade94e Bug 1633820 - Part 3: Get rid of PBrowserOrId, r=mattwoodrow,necko-reviewers,dragana
The 'Id' variant was only used with b2g for remote `mozbrowser`s, and is no
longer relevant. The new code instead uses `PBrowser` directly in all cases.

Differential Revision: https://phabricator.services.mozilla.com/D72933
2020-05-07 22:49:06 +00:00
Nika Layzell 76b1144754 Bug 1633820 - Part 2: Avoid creating an extra LoadContext when we already have a BrowsingContext, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D72932
2020-05-07 22:18:50 +00:00
Matt Woodrow ab7bcd098f Bug 1570243 - Make WindowContext CanSet functions check if the WindowContext is owned by the setting process, not the BrowsingContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73997
2020-05-08 01:38:02 +00:00
Razvan Maries 7a5b66f9b6 Backed out 5 changesets (bug 1633820) for build bustages at TabContext.cpp. CLOSED TREE
Backed out changeset 0a20dd1935d7 (bug 1633820)
Backed out changeset 626e834293ed (bug 1633820)
Backed out changeset 14cc454a8cbc (bug 1633820)
Backed out changeset 7bbcb9266b87 (bug 1633820)
Backed out changeset ef99672bd2af (bug 1633820)
2020-05-08 00:59:20 +03:00
Nika Layzell 6f9f8ba6b2 Bug 1633820 - Part 5: Get rid of UnsafeIPCTabContext, r=kmag
This variant was only used for service workers' openWindow method, which has
been changed to no longer behave in this way, meaning that the type can be
removed. The follow-up simplification of removing
'ContentChild::ProvideWindowCommon', and moving the logic directly into
'BrowserChild' is not done in this bug, and will be done in a follow-up instead.

Differential Revision: https://phabricator.services.mozilla.com/D72935
2020-05-07 17:18:58 +00:00
Nika Layzell d6a082e20a Bug 1633820 - Part 4: Remove OriginAttributes from TabContext, r=kmag
This information is now redundant with 'BrowsingContext', meaning that it can be
omitted from the 'TabContext'.

Differential Revision: https://phabricator.services.mozilla.com/D72934
2020-05-07 17:18:48 +00:00
Nika Layzell dd35cc6b02 Bug 1633820 - Part 3: Get rid of PBrowserOrId, r=mattwoodrow,necko-reviewers,dragana
The 'Id' variant was only used with b2g for remote `mozbrowser`s, and is no
longer relevant. The new code instead uses `PBrowser` directly in all cases.

Differential Revision: https://phabricator.services.mozilla.com/D72933
2020-05-07 17:45:12 +00:00
Nika Layzell 51df83bff7 Bug 1633820 - Part 2: Avoid creating an extra LoadContext when we already have a BrowsingContext, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D72932
2020-05-07 17:18:44 +00:00
Steven MacLeod 8d3089ace7 Bug 1635228 - guard against null mWindowGlobal when initializing WindowGlobalChild. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73746
2020-05-06 14:46:16 +00:00
Christoph Kerschbaumer 43baaddaab Bug 1632160: Remove GetAllowMixedContentAndConnectionData from nsIDocShell and expose similar functionality on BrowsingContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D72901
2020-05-07 07:22:17 +00:00
Simon Giesecke 61ad805d68 Bug 1626570 - Use CopyableTArray in ipdlc as member type for now. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73685
2020-05-07 08:11:08 +00:00
Simon Giesecke c4fb12bd56 Bug 1626570 - Improve handling of copying arrays in dom/messagechannel/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D73653
2020-05-07 08:10:14 +00:00
alwu 1e7981c8c4 Bug 1633830 - part3 : rename `PlaybackController` to `ContentPlaybackController`. r=bryce
This patch will do :
- rename `PlaybackController` to `ContentPlaybackController`

The advantage of doing so :
-  explicitly mention this class is only used in the content, to help its readbility

Differential Revision: https://phabricator.services.mozilla.com/D72939
2020-05-07 05:49:03 +00:00
alwu 15e309beba Bug 1633830 - part2 : rename `MediaActionHandler` to `ContentMediaActionHandler`. r=bryce
This patch will do :
- rename `MediaActionHandler` to `ContentMediaActionHandler`

The advantage of doing so :
-  explicitly mention this class is only used in the content, to help its readbility

Differential Revision: https://phabricator.services.mozilla.com/D72938
2020-05-05 00:04:55 +00:00
Bogdan Tara 7fce40912d Backed out 5 changesets (bug 1633820) for bustages complaining about TabContext CLOSED TREE
Backed out changeset 4982d41d5e6b (bug 1633820)
Backed out changeset 9803c41e42f9 (bug 1633820)
Backed out changeset 2475bbab03a8 (bug 1633820)
Backed out changeset 762f0b2c154c (bug 1633820)
Backed out changeset f9ea871a0227 (bug 1633820)
2020-05-06 22:39:46 +03:00
Nika Layzell 44d7330cea Bug 1633820 - Part 5: Get rid of UnsafeIPCTabContext, r=kmag
This variant was only used for service workers' openWindow method, which has
been changed to no longer behave in this way, meaning that the type can be
removed. The follow-up simplification of removing
'ContentChild::ProvideWindowCommon', and moving the logic directly into
'BrowserChild' is not done in this bug, and will be done in a follow-up instead.

Differential Revision: https://phabricator.services.mozilla.com/D72935
2020-05-06 17:42:51 +00:00
Nika Layzell e6c0899f5d Bug 1633820 - Part 4: Remove OriginAttributes from TabContext, r=kmag
This information is now redundant with 'BrowsingContext', meaning that it can be
omitted from the 'TabContext'.

Differential Revision: https://phabricator.services.mozilla.com/D72934
2020-05-06 17:41:02 +00:00
Nika Layzell da2aae6af5 Bug 1633820 - Part 3: Get rid of PBrowserOrId, r=mattwoodrow,necko-reviewers,dragana
The 'Id' variant was only used with b2g for remote `mozbrowser`s, and is no
longer relevant. The new code instead uses `PBrowser` directly in all cases.

Differential Revision: https://phabricator.services.mozilla.com/D72933
2020-05-06 17:42:41 +00:00
Nika Layzell ae47d770a2 Bug 1633820 - Part 2: Avoid creating an extra LoadContext when we already have a BrowsingContext, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D72932
2020-05-06 17:45:59 +00:00
Simon Giesecke f2157829da Bug 1626570 - Improve handling of copying arrays in dom/ipc/. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73681
2020-05-06 11:58:16 +00:00
Narcis Beleuzu d262ef72aa Backed out changeset 9da3ff68132f (bug 1632160) for bc failures on browser_bug1045809.js . CLOSED TREE 2020-05-06 12:12:59 +03:00
Christoph Kerschbaumer 3bf440d570 Bug 1632160: Remove GetAllowMixedContentAndConnectionData from nsIDocShell and expose similar functionality on BrowsingContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D72901
2020-05-06 07:15:40 +00:00
Botond Ballo 551a4602dc Bug 1556556 - Miscellaneous fixes related to event coordinate transformations. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69639
2020-05-05 19:28:15 +00:00
Botond Ballo f32f10a719 Bug 1556556 - Remove applications of the visual-to-layout transform at the process boundary (and equivalent places for non-e10s). r=kats
Note that the propagation of the target guid to places where the transform
will be applied is best-effort at the moment. In particular, the
InputAPZContext will result in the correct guid being available in places
that are called synchronously from the Recv*() functions, but not places
called asynhcronously (e.g. via DelayedFireSingleTapEvent).

To mitigate this, places where the transform is applied fall back on the
RCD-RSF if a guid is not available via InputAPZContext (added in a
subsequent patch).

The cases that this gets wrong are fairly edge casey (it requires (a) an
asynchronous codepath, (b) an event targeting a subframe, and (c) that
subframe having a "could not accept the APZ scroll position" transform),
so we just punt on them for now. If it turns out to be important to handle,
then options for doing so include (1) propagating the guid through each of
the affected asynchronous codepaths, or (2) attaching the guid to the event
itself.

Differential Revision: https://phabricator.services.mozilla.com/D68723
2020-05-05 19:37:26 +00:00
Botond Ballo 98c8fdcd38 Bug 1634206 - Change the default value of InputAPZContext::sApzResponse to nsEventStatus_eSentinel. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70084
2020-05-05 17:22:01 +00:00
Emilio Cobos Álvarez 761e9dfe4c Bug 1635094 - Cleanup the ReferrerInfo code. r=ckerschb
The cast in InitWithNode is wrong. AsElement() asserts instead of
checking the flag, so we always pass an element (and if we didn't we'd
have type confusion problems). I audited the callers and we're fine.

Anyhow, always require an element, and add two convenience constructors
for C++ code.

Differential Revision: https://phabricator.services.mozilla.com/D73636
2020-05-04 18:50:20 +00:00
Cosmin Sabou 71a40eae48 Backed out 2 changesets (bug 1635094) for build bustages on nsMacShellService.cpp. CLOSED TREE
Backed out changeset 0a2b0c6ea19a (bug 1635094)
Backed out changeset ead4f26f76ee (bug 1635094)
2020-05-04 20:04:06 +03:00
Emilio Cobos Álvarez 6dde680742 Bug 1635094 - Cleanup the ReferrerInfo code. r=ckerschb
The cast in InitWithNode is wrong. AsElement() asserts instead of
checking the flag, so we always pass an element (and if we didn't we'd
have type confusion problems). I audited the callers and we're fine.

Anyhow, always require an element, and add two convenience constructors
for C++ code.

Differential Revision: https://phabricator.services.mozilla.com/D73636
2020-05-04 16:26:51 +00:00
Nika Layzell 573962fe33 Bug 1634764 - Add helpers for Top/Parent WindowContext, r=farre
There are various times when it would be useful to get the toplevel or parent
WindowContext from a window or browsing context. While this is already possible,
it's currently somewhat inconvenient.

Differential Revision: https://phabricator.services.mozilla.com/D73500
2020-05-04 14:26:34 +00:00
Tom Tung 66326fe6f1 Bug 1624266 - Use IsSharedMemoryAllowed to decide whether should the CTOR SharedArrayBuffer be defined for Window; r=nika
We set opener policy from the channel of the new document when creating a
WindowGlobalChild. However, we need to check if it's crossOriginIsolated even
when the WindowGlobalChild hasn't been created for the new inner window in some
cases.

To avoid checking the unset value of opener policy from the BrowsingContext,
this patch moves the setting the opener policy right before creating a native
global for a new inner window. So that the value of opener policy should always
be correct when validating it (IsSharedMemoryAllowed).

Differential Revision: https://phabricator.services.mozilla.com/D71534
2020-05-01 11:36:03 +00:00
Nika Layzell c507cc54ac Bug 1633812 - Simplify the subframe crash codepath, r=farre
Previously the BrowsingContext was also being sent down, despite it being
obvious from the PBrowserBridge actor which the message was sent over.

Differential Revision: https://phabricator.services.mozilla.com/D72929
2020-04-29 09:58:50 +00:00
Nika Layzell dcf520555c Bug 1634530 - Delete unused CheckBrowsingContextOwnership, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D73339
2020-04-30 19:50:14 +00:00
David Teller 1e228f42e9 Bug 1580448 - JSProcessActor{Child, Parent}::AfterDestroy;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73017
2020-04-30 16:20:21 +00:00
David Teller 24806e2f1b Bug 1580448 - Add NS_DECL_NSICONTENTPARENT to ContentParent;r=nika
This is a fixup to Bug 1580447, which landed some time ago.

Differential Revision: https://phabricator.services.mozilla.com/D72758
2020-04-30 16:19:55 +00:00
David Teller ded0c0d4ee Bug 1580448 - JSProcessActor tests;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69819
2020-04-30 16:45:14 +00:00
David Teller 8317b02f61 Bug 1580448 - Renaming Test{Child, Parent} => TestWindow{Child, Parent};r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69818
2020-04-30 16:19:14 +00:00
David Teller 47e9954cc6 Bug 1580448 - nsIContent{Child, Parent}::getActor;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69784
2020-04-30 16:43:48 +00:00
David Teller 3da6e17db2 Bug 1580448 - JSProcessActor API;r=nika
This patch introduces the bulk of JSProcessActor{Child, Parent}.

Differential Revision: https://phabricator.services.mozilla.com/D64595
2020-04-30 16:49:50 +00:00
David Teller cd067d3c2e Bug 1580448 - Rename JSWindowActor into JSActor;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70038
2020-04-30 16:42:53 +00:00
David Teller cdd42f26d4 Bug 1580448 - Trivial unified build fixups;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70036
2020-04-30 16:15:27 +00:00
Emilio Cobos Álvarez 164acdc0b9 Bug 1634218 - Remove the zoom actors. r=nika
After the recent simplifications to the zoom code, they only take care
of forwarding the enlarge / decrease zoom messages.

We can do that via PBrowser instead, and get rid of the actors. We can
also remove ZoomChangeUsingMouseWheel. Zooming with the mouse wheel will
end up in a *ZoomChange event anyways, and the only consumer already
listened for them.

Differential Revision: https://phabricator.services.mozilla.com/D73175
2020-04-30 16:35:35 +00:00
Simon Giesecke a6c4405725 Bug 1626570 - Improve handling of copying arrays in dom/ipc/. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D72320
2020-04-30 09:37:05 +00:00
Stefan Hindli e22cd35728 Backed out 9 changesets (bug 1580448) for linux build bustages in /builds/worker/workspace/obj-build/dist/include/mozilla/dom/JSWindowActorChild.h CLOSED TREE
Backed out changeset 6b4db1a501df (bug 1580448)
Backed out changeset 677257a41457 (bug 1580448)
Backed out changeset 6db8de5fc125 (bug 1580448)
Backed out changeset fd7527c86239 (bug 1580448)
Backed out changeset bfbd3330b0a5 (bug 1580448)
Backed out changeset dafa80c63322 (bug 1580448)
Backed out changeset 2a1701831a6a (bug 1580448)
Backed out changeset 9b548bd38671 (bug 1580448)
Backed out changeset 358f764ae48b (bug 1580448)
2020-04-30 10:58:27 +03:00
David Teller 6fa45f443f Bug 1580448 - JSProcessActor{Child, Parent}::AfterDestroy;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73017
2020-04-30 07:37:06 +00:00
David Teller 024b5f5200 Bug 1580448 - Add NS_DECL_NSICONTENTPARENT to ContentParent;r=nika
This is a fixup to Bug 1580447, which landed some time ago.

Differential Revision: https://phabricator.services.mozilla.com/D72758
2020-04-30 07:36:36 +00:00
David Teller f700c5624c Bug 1580448 - JSProcessActor tests;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69819
2020-04-30 07:36:29 +00:00
David Teller a8154d1972 Bug 1580448 - Renaming Test{Child, Parent} => TestWindow{Child, Parent};r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69818
2020-04-30 07:36:01 +00:00
David Teller b53c3a4ae1 Bug 1580448 - nsIContent{Child, Parent}::getActor;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69784
2020-04-30 07:35:20 +00:00
David Teller 942da6a70f Bug 1580448 - JSProcessActor API;r=nika
This patch introduces the bulk of JSProcessActor{Child, Parent}.

Differential Revision: https://phabricator.services.mozilla.com/D64595
2020-04-30 07:35:17 +00:00
David Teller e3ac58091c Bug 1580448 - Rename JSWindowActor into JSActor;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70038
2020-04-30 07:33:28 +00:00
David Teller 186f6cee47 Bug 1580448 - Trivial unified build fixups;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70036
2020-04-30 07:32:07 +00:00
Emilio Cobos Álvarez 9a9ab94bc2 Bug 1578008 - Remove various hacks to restore resolution only after a full zoom change. r=bradwerth
This is no longer needed now that MVM doesn't restore the zoom.

Differential Revision: https://phabricator.services.mozilla.com/D72551
2020-04-30 01:21:26 +00:00
Dorel Luca 8e7e7136a3 Backed out 4 changesets (bug 1633938, bug 1578008, bug 1633488) for Devtool failures in browser/base/content/test/static/browser_parsable_css.js. CLOSED TREE
Backed out changeset e690c4cf8848 (bug 1633938)
Backed out changeset c999ecad3be8 (bug 1633488)
Backed out changeset abbc47ce1451 (bug 1578008)
Backed out changeset 9e6925ea790f (bug 1578008)
2020-04-30 04:13:42 +03:00
Emilio Cobos Álvarez 0169492da2 Bug 1578008 - Remove various hacks to restore resolution only after a full zoom change. r=bradwerth
This is no longer needed now that MVM doesn't restore the zoom.

Differential Revision: https://phabricator.services.mozilla.com/D72551
2020-04-29 21:44:01 +00:00
Kris Maglione c5353a7809 Bug 1630691: Part 1 - Get rid of most of the remaining mozbrowser API. r=nika,mtigley,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D71226
2020-04-29 19:29:06 +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
Olli Pettay 8ea51efe03 Bug 1629751, WebNavigation's GetInterface isn't guaranteed to return non-null docshell, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D72819
2020-04-29 14:59:30 +00:00