Commit Graph

1047 Commits

Author SHA1 Message Date
Ryan Hunt
0eeced87be Bug 1534395 - Rename TabParent to BrowserParent. r=nika
This commit renames TabParent to BrowserParent.

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

--HG--
rename : dom/ipc/TabParent.cpp => dom/ipc/BrowserParent.cpp
rename : dom/ipc/TabParent.h => dom/ipc/BrowserParent.h
extra : rebase_source : d2706b9f42177d8de16068b7b1d088a44b8720a4
extra : histedit_source : a617ddac45c58050ef799116a67d2d983f2a8f6d%2C1d1dabd8761a32d548a6fbf1027be960698f6a5e
2019-04-09 16:38:15 -05:00
Ryan Hunt
3675f2449b Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.

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

--HG--
rename : dom/interfaces/base/nsITabParent.idl => dom/interfaces/base/nsIRemoteTab.idl
extra : rebase_source : 9d8a1790a7bb10195ad063644d1a93d63b2afb72
2019-04-09 15:59:37 -05:00
Coroiu Cristina
33d59a9c32 Backed out 4 changesets (bug 1493225) for browser-chrome failures with application terminated with exit code 2147483651 on a CLOSED TREE
Backed out changeset 62ee0aed9e59 (bug 1493225)
Backed out changeset 3537b8f8d38a (bug 1493225)
Backed out changeset 1de539e8f568 (bug 1493225)
Backed out changeset e9c116dba541 (bug 1493225)
2019-04-19 23:55:50 +03:00
Jim Porter
dcf852821e Bug 1493225, part 2 - Cancel content JS when navigating through history to prevent hangs r=smaug
In this part, we pass along the navigation type (and index for when using the
dropdown on the back/forward buttons). This allows us to check if there's a
top-level load "between" the start and end pages.

The patch might look a bit strange, since we're passing the navigation
operation to two places from RemoteWebNavigation.js (the normal message passing
that existed before this patch and the HangMonitor channel in this patch). This
is primarily to make it easier to stop passing the navigation info along the
HangMonitor channel once session history is uplifted into the parent process.
At that point, the check for whether there's a top-level load could happen in
TabParent (I think).

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

--HG--
extra : moz-landing-system : lando
2019-04-18 19:53:34 +00:00
Jim Porter
e083d2b226 Bug 1493225, part 1 - Cancel content JS when navigating through history to prevent hangs r=smaug
This patch passes a message through the HangMonitor channel when navigating
through history to cancel content JS that could hang the chrome JS in the
content process responsible for history navigation. If the content JS is
actually canceled, this also disables the BF cache for the current page, since
it could end up in an inconsistent state due to the JS cancellation.

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

--HG--
extra : moz-landing-system : lando
2019-04-18 18:39:24 +00:00
Ciure Andrei
d13f7bbf24 Backed out changeset 22c00a19e267 (bug 1534712) for causing test_bug536567_perwindowpb.html, browser_jsonview_save_json.js, browser_bookmark_backup_export_import.js to perma fail CLOSED TREE 2019-04-19 05:57:19 +03:00
Andrea Marchesini
98dc92353c Bug 1534712 - Port FileCreatorHelper to PBackground, r=smaug
FileCreatorHelper creates a FileBlobImpl on the main-thread and, because of
this, we end up executing I/O operations on that thread, slowing down other
components.  With this patch, FileCreatorHelper logic is moved to PBackground.

That the 'type' getter is still called on the main-thread because FileBlobImpl
uses nsIMIMEService which is a non thread-safe component.

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

--HG--
extra : moz-landing-system : lando
2019-04-18 21:28:16 +00:00
Johann Hofmann
cdd6d741fd Bug 1536454 - Part 1 - Add userHadInteractedWithDocument and documentDOMContentLoadedTimestamp attributes to nsIContentPermissionPrompt. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D26942

--HG--
extra : moz-landing-system : lando
2019-04-18 13:43:05 +00:00
Nika Layzell
7f4ecdea61 Bug 1538353 - Part 2: Create PBrowser actors using ManagedEndpoint instead of IPDL Ctors, r=bzbarsky
Depends on D24566

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

--HG--
extra : moz-landing-system : lando
2019-04-17 00:51:38 +00:00
Andreas Farre
29d439a983 Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039

--HG--
extra : moz-landing-system : lando
2019-04-15 15:14:54 +00:00
Csoregi Natalia
b794b31607 Backed out changeset d76b42f0d6ca (bug 1523636) for causing bug 1543015. a=backout 2019-04-10 18:46:01 +03:00
Andreas Farre
888908c3cb Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039

--HG--
extra : moz-landing-system : lando
2019-04-08 08:21:40 +00:00
Eden Chuang
72b79c6fbd Bug 1442778 - Add "chromeContext" parameter to console API and console service messages. r=smaug
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process

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

--HG--
extra : moz-landing-system : lando
2019-04-01 22:42:34 +00:00
Gabriele Svelto
75f09dd912 Bug 1536850 - Properly detect when the browser is shutting down to avoid taking content process minidumps too late r=Ehsan
This code was already present but it had two flaws: the first one was that the
variable used to prevent minidumps from being taken when shutting down was not
being initialized which caused it to be true most of the time and thus
prevented captures even in valid scenarios. The second was that we relied on
the "profile-before-change" change event to detect shutdown but this often
happens after we've already started closing tabs and shutting down processes
thus the minidump generation would often race against it.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 19:17:56 +00:00
Nika Layzell
4c8b577b88 Bug 1539069 - Part 2: Use field epochs to avoid racy field interactions, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D24976

--HG--
extra : moz-landing-system : lando
2019-03-27 09:19:29 +00:00
Cosmin Sabou
78fc71e3c3 Backed out changeset 7fa7d6e6dedc (bug 1442778) for devtools failures on browser_webconsole_check_stubs_console_api.js CLOSED TREE 2019-03-26 20:27:55 +02:00
Eden Chuang
5e4df764d9 Bug 1442778 - Add "chromeContext" parameter to console API and console service messages. r=smaug
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process

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

--HG--
extra : moz-landing-system : lando
2019-03-26 15:18:20 +00:00
Boris Zbarsky
5539520106 Bug 1535124 part 3. Add MOZ_CAN_RUN_SCRIPT annotations to geolocation code as needed. r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D23521

--HG--
extra : moz-landing-system : lando
2019-03-20 18:05:09 +00:00
Alex Gaynor
177fb00eba Bug 1375863 - fold MOZ_CONTENT_SANDBOX and MOZ_GMP_SANDBOX into MOZ_SANDBOX; r=jld,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D22975

--HG--
extra : moz-landing-system : lando
2019-03-18 22:31:59 +00:00
Thomas Nguyen
33d78105b7 Bug 1528695 - Part 1 : Use referrerInfo in openWindow, cpp file r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D21910

--HG--
extra : moz-landing-system : lando
2019-03-15 05:11:43 +00:00
Nika Layzell
1b8834985a Bug 1532661 - Part 4: Support initializing complete BrowsingContextGroups in a single op with an IPCInitializer struct, r=farre
Depends on D22192

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

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:09 +00:00
Nika Layzell
b388b0df00 Bug 1530550 - Synchronize mOpener and mIsActivatedByUserGesture with SYNCED_BC_FIELD, r=farre
Depends on D22764

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

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:55 +00:00
Nika Layzell
eaf6c2306e Bug 1529684 - Part 2: Create BrowsingContext for remote browsers in parent, r=farre
Depends on D21095

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

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:45 +00:00
Alex Gaynor
e5279ff3f7 Bug 1532727 - replace OptionalURIParams with URIParams? in IPDL; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D22138

--HG--
extra : moz-landing-system : lando
2019-03-06 14:05:50 +00:00
Brindusan Cristian
8a1c4fbd47 Backed out 4 changesets (bug 1530550, bug 1529684) for bc crashes at [@ mozilla::dom::BrowsingContext::Detach(bool)]. CLOSED TREE
Backed out changeset 289c2b4126c9 (bug 1530550)
Backed out changeset 9f3e65f6b1dd (bug 1529684)
Backed out changeset 257d45117af3 (bug 1529684)
Backed out changeset 7f2bda80e479 (bug 1529684)
2019-03-05 23:11:48 +02:00
Nika Layzell
8b4e459999 Bug 1530550 - Synchronize mOpener and mIsActivatedByUserGesture with SYNCED_BC_FIELD, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D21134

--HG--
extra : moz-landing-system : lando
2019-03-05 17:33:52 +00:00
Nika Layzell
332f3940ad Bug 1529684 - Part 2: Create BrowsingContext for remote browsers in parent, r=farre
Depends on D21095

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

--HG--
extra : moz-landing-system : lando
2019-03-05 17:33:22 +00:00
Alex Gaynor
dccb3bee8b Bug 1531827 - replace OptionalLoadInfoArgs with LoadInfoArgs? in IPDL; r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D21722

--HG--
extra : moz-landing-system : lando
2019-03-04 06:30:00 +00:00
Alex Gaynor
f789c68941 Bug 1531476 - replace MaybeFileDesc with FileDescriptor? in IPDL; r=mccr8
Also contains a small amount of unrelated devirtualization of IPC methods.

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

--HG--
extra : moz-landing-system : lando
2019-02-28 21:20:40 +00:00
Tarek Ziadé
f79af75337 Bug 1530642 - Added more doc on ProcType and GetProcInfo - r=jesup
Added more docs for type synchronization, and about GetProcInfo

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

--HG--
extra : moz-landing-system : lando
2019-02-28 06:30:05 +00:00
Boris Zbarsky
9c5da5f234 Bug 1489308 part 9. Remove now-unused wyciwyg bits. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D17327

--HG--
rename : dom/html/test/browser_refresh_wyciwyg_url.js => dom/html/test/browser_refresh_after_document_write.js
rename : dom/html/test/file_refresh_wyciwyg_url.html => dom/html/test/file_refresh_after_document_write.html
extra : moz-landing-system : lando
2019-02-28 01:09:48 +00:00
Ciure Andrei
662a6079d1 Backed out changeset c2091f595c72 (bug 1530550) for ,ultiple leakcheck failures CLOSED TREE 2019-02-28 02:56:12 +02:00
Nika Layzell
b9e168fca3 Bug 1530550 - Synchronize mOpener and mIsActivatedByUserGesture with SYNCED_BC_FIELD, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D21134

--HG--
extra : moz-landing-system : lando
2019-02-27 22:46:41 +00:00
Noemi Erli
7e23372938 Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
extra : rebase_source : de8796d5d7d7079af1b895a2f537371885f8cc6c
2019-02-26 00:09:40 +02:00
Nathan Froyd
f71c238411 Bug 1529942 - part 1 - move initialization of ExternalHelperAppParent into Recv*; r=qdot
Alloc methods can't take arguments by move reference, whereas Recv
methods can, and we'd like to take OptionalLoadInfoArgs (at least) by
move reference.  Since Init is infallible anyway, it doesn't really
matter where we do it, so move it to this separate method to pave the
way for rvalue reference OptionalLoadInfoArgs.
2019-02-25 13:13:43 -05:00
Nika Layzell
dec9708f74 Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Depends on D20553

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:55 +00:00
Nika Layzell
b399ffc113 Bug 1522579 - Part 5: Reduce nsIContent{Parent,Child} to thin IIDs, r=mccr8
This devirutalizes a bunch of methods, and moves the entire implementation into
`Content{Parent,Child}` proper. The only purpose left for these types is as a
collection of interfaces and an IID for casting. They should likely be removed
entirely in a follow-up.

Depends on D20552

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:53 +00:00
Nika Layzell
a5cbaaf6e7 Bug 1522579 - Part 4: Remove {As,Is}ContentParent, r=mccr8
These casts are now unnecessary after Part 2, due to all consumers directly
using `ContentParent`.

Depends on D20551

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:51 +00:00
Nika Layzell
1e93329f70 Bug 1522579 - Part 2: Remove consumers of nsIContentParent, r=mccr8
This patch tries to move them to `ContentParent` instead.

`ProcessPriorityManagerImpl::ObserveContentParentCreated` could not be moved
due to using `do_QueryInterface` to cast from a `nsISupports` down to the
`ContentParent` object. This could be fixed to remove the interfaces entirely,
but I left that for a follow-up.

Depends on D20549

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:47 +00:00
Nika Layzell
f3274c2fd2 Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8
This actor won't be being used anymore, and acts only as a maintenance burden
for people working on this code (which we're doing pretty often these days!).

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:45 +00:00
Andreea Pavel
cd1b27ad4d Backed out 6 changesets (bug 1522579) for build bustages on a CLOSED TREE
Backed out changeset 3c8320baa230 (bug 1522579)
Backed out changeset 0a288a3d85cd (bug 1522579)
Backed out changeset ecfd27e7d150 (bug 1522579)
Backed out changeset eda40fca0758 (bug 1522579)
Backed out changeset 5c7aafa32a0a (bug 1522579)
Backed out changeset a3c5a2c16411 (bug 1522579)
2019-02-25 18:19:38 +02:00
Nika Layzell
072dbde694 Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Depends on D20553

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:25 +00:00
Nika Layzell
d1ccffdf53 Bug 1522579 - Part 5: Reduce nsIContent{Parent,Child} to thin IIDs, r=mccr8
This devirutalizes a bunch of methods, and moves the entire implementation into
`Content{Parent,Child}` proper. The only purpose left for these types is as a
collection of interfaces and an IID for casting. They should likely be removed
entirely in a follow-up.

Depends on D20552

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:23 +00:00
Nika Layzell
73b719457a Bug 1522579 - Part 4: Remove {As,Is}ContentParent, r=mccr8
These casts are now unnecessary after Part 2, due to all consumers directly
using `ContentParent`.

Depends on D20551

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:21 +00:00
Nika Layzell
ae293bbea9 Bug 1522579 - Part 2: Remove consumers of nsIContentParent, r=mccr8
This patch tries to move them to `ContentParent` instead.

`ProcessPriorityManagerImpl::ObserveContentParentCreated` could not be moved
due to using `do_QueryInterface` to cast from a `nsISupports` down to the
`ContentParent` object. This could be fixed to remove the interfaces entirely,
but I left that for a follow-up.

Depends on D20549

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:12 +00:00
Nika Layzell
7924bfa435 Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8
This actor won't be being used anymore, and acts only as a maintenance burden
for people working on this code (which we're doing pretty often these days!).

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:10 +00:00
Christoph Kerschbaumer
7c441f1bcb Bug 1518454: Part 1, backend changes, add CSP to loadURIOptions dictionary and pass CSP explicitly from frontend to docshell. r=bz 2019-02-21 16:00:32 +01:00
Andreas Farre
1b8510f881 Bug 1523645 - Add transactions for syncing BrowsingContext fields. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D20187

--HG--
extra : moz-landing-system : lando
2019-02-21 20:14:28 +00:00
Makoto Kato
376eb1a4da Bug 1528665 - Remove GetAndroidSystemInfo sync IPC. r=geckoview-reviewers,mccr8,snorp
nsSystemInfo is initialzied at first page load. Actually, content process uses
sync IPC to get Android OS information. But now, we can use Java code even if
on content process, so we should use JNI directly instead of sync IPC.

Also, nsSystemInfo still has unused extern android_sdk_version that is for
HoneyComp's DNS hack.  So let's remote it.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 21:19:14 +00:00
Christoph Kerschbaumer
05ad5a1c28 Bug 1528814: Serialize Loadinfo for PExternalHelperApp. r=mayhemer 2019-02-18 18:11:22 +01:00
Andreas Farre
1877793bdc Bug 1525887 - Add set of ContentParent subscribed to BrowsingContextGroup. r=nika
Add the origin ContentParent to a CanonicalBrowsingContext's group
when a CanonicalBrowsingContext is created from IPC. With this it is
possible to keep track of all child processes associated with a
BrowsingContextGroup.

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

--HG--
extra : moz-landing-system : lando
2019-02-15 11:35:48 +00:00
Bogdan Tara
e8d5e8fa11 Backed out changeset 70c5f8576e43 (bug 1525887) for PLDHashTable failures CLOSED TREE 2019-02-14 12:30:34 +02:00
Andreas Farre
4a8d21430f Bug 1525887 - Add set of ContentParent subscribed to BrowsingContextGroup. r=nika
Add the origin ContentParent to a CanonicalBrowsingContext's group
when a CanonicalBrowsingContext is created from IPC. With this it is
possible to keep track of all child processes associated with a
BrowsingContextGroup.

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

--HG--
extra : moz-landing-system : lando
2019-02-14 08:55:22 +00:00
Nika Layzell
330d9fd3a2 Bug 1516240 - Part 3: Directly pass BrowsingContext over IPC when possible, r=farre
This patch changes the logic such that we use the new direct
BrowsingContext ParamTraits implementation when possible, and avoids
doing manual lookups.

Depends on D19178

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

--HG--
extra : moz-landing-system : lando
2019-02-13 21:02:55 +00:00
Jan Varga
d0270542f0 Bug 1525291 - LSNG: Chrome observer notifications for session storage are not distributed to content processes; r=asuth,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18809
2019-02-06 06:09:57 +01:00
Oana Pop Rus
f9cf535efc Backed out changeset 04eecadabb48 (bug 1525291) for build bustages at build/src/obj-firefox/ipc/ipdl/PSessionStorageObserverChild.cpp on a CLOSED TREE 2019-02-07 11:33:00 +02:00
Jan Varga
93f5a88427 Bug 1525291 - LSNG: Chrome observer notifications for session storage are not distributed to content processes; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D18809
2019-02-06 06:09:57 +01:00
Alex Gaynor
0f01791ffc Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Recv/Answer methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:43 +00:00
Alex Gaynor
984f0333ea Bug 1512990 - Part 3 - remove declarations of Alloc/Dealloc methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Alloc/Dealloc methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:07 +00:00
Alex Gaynor
75c7d1fa76 Bug 1512990 - Part 2 - implement direct calls in the IPDL compiler; r=froydnj
When calling a Recv/Alloc/Dealloc method on most types, cast `this` to the
derived class.

There is a heuristic to figure out what the correct derived type is. There is a
blacklist of types which we can't do direct calls on for the moment, as well as
an override for types that do work with direct calls but which don't match the
heuristic.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:37 +00:00
Blake Kaplan
3eed3c5f94 Bug 1517406 - Proxy these calls to the parent when required. r=asuth
Summary:

The push notifier needs to proxy its calls to the proper process in order to
notify service workers. With parent-intercept enabled, that means making sure
we notify in the parent and without it, that we notify in the content process.
Fortunately, we already have to do this proxying for the observer
notifications, so we can just piggyback on top of that code to make things
work for service workers.

Reviewers: asuth

Reviewed By: asuth

Bug #: 1517406

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

--HG--
extra : rebase_source : a29216f3a6638592a784e7e830fe9f7842cce7e9
2019-01-29 15:27:03 -05:00
Dimi Lee
632a821b8a Bug 1501458 - Remove unused tracking protection code from nsUrlClassifierDBService. r=baku
No one is using the aUseTrackingProtection parameter and also tracking
protection related preference in Classify API. And we shouldn't use it
that way in the future.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 21:24:43 +00:00
Alastor Wu
0b67992fb9 Bug 1516482 - part2 : update user gesture activation flag across IPC. r=nika
Everytime we set the flag on top level BrowsingContext, it would automatically be sync to its corresponding ChromeBrowsingContext.

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

--HG--
extra : moz-landing-system : lando
2019-01-14 16:08:06 +00:00
Michael Froman
c475e5754c Bug 1514874 - start RDD process on-demand r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D15775

--HG--
extra : moz-landing-system : lando
2019-01-12 04:51:20 +00:00
Cosmin Sabou
af0ac088e5 Backed out changeset 8d953c25fdef (bug 1514874) for windows asan mda failures on RemoteDecoderModule.cpp. 2019-01-11 02:03:38 +02:00
Michael Froman
1a75356195 Bug 1514874 - start RDD process on-demand r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D15775

--HG--
extra : moz-landing-system : lando
2019-01-10 18:35:06 +00:00
Andrea Marchesini
647b040b0f Bug Bug 1515272 - Get rid of nsIURIClassifier.classifyLocal(), r=dimi, r=froydnj 2019-01-04 14:46:30 +01:00
Peter Van der Beken
066d891adb Bug 1353867 - Add cross-process proxies for WindowProxy. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D12656

--HG--
extra : moz-landing-system : lando
2019-01-02 13:29:18 +00:00
Blake Kaplan
e131893a41 Bug 1514844 - Fix notification events in service workers. r=asuth
The current code assumes that it can get the ServiceWorkerManager in the child
process to send a message to the proper service worker. That isn't true, we
need to ask the parent to do it for us.

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

--HG--
extra : moz-landing-system : lando
2018-12-18 00:42:53 +00:00
Ehsan Akhgari
e8796fe60d Bug 1512625 - Ensure that the allow-mode argument in the PContent::FirstPartyStorageAccessGrantedForOrigin() IPC call doesn't get converted down to 0/1 r=baku
Differential Revision: https://phabricator.services.mozilla.com/D14478

--HG--
extra : moz-landing-system : lando
2018-12-17 16:19:43 +00:00
Jed Davis
d845f69798 Bug 1510934 - Ensure that pref changes during content process launch are delivered to the process. r=njn
Some prefs need to be available before IPC is started, so we serialize a
snapshot when we start launching the process, and then stream further
changes over IPC messages.  However, async launch introduces a window
between the snapshot and when the parent can start sending messages,
during which other code can run on the main thread and change prefs.

In order to not lose those updates, they're queued and sent when the
launch is complete.

Depends on D14089

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

--HG--
extra : moz-landing-system : lando
2018-12-14 05:28:56 +00:00
Jed Davis
4213a3e9b6 Bug 1510934 - Change ContentParent's alive/dead tracking to launching/alive/dead. r=mrbkap
We need content processes that are created but not finished launching
(not "alive" yet) to be treated differently from ones that have exited
(no longer "alive"), so the boolean mIsAlive is expanded to a 3-state
enumeration, which could be expanded more in the future if needed.

(This is similar to GeckoChildProcessHost::mProcessState, but it's
synchronized with the rest of the ContentParent's state, which can lag
the GeckoChildProcessHost state due to runnable dispatch.)

This patch also removes mIsAvailable/IsAvailable/MarkAsTroubled, which
are unused as of bug 1459212.

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

--HG--
extra : moz-landing-system : lando
2018-12-15 01:38:27 +00:00
Andrea Marchesini
71b120ca17 Bug 1511436 - Cleanup URL-Classifier code - part 2 - nsUrlClassifierDBService::AsyncClassifyLocalWithFeatures, r=dimi 2018-12-14 12:40:17 +01:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Jed Davis
42c1262dfd Bug 1474991 - Add new and improved performance telemetry for child process launching. r=mccr8,mconley,janerik
This patch adds some telemetry histograms:

* CONTENT_PROCESS_LAUNCH_IS_SYNC - boolean, true if the content process
was launched synchronously (blocking the main thread)

* CONTENT_PROCESS_SYNC_LAUNCH_MS - the time consumed by sync launch;
the main thread will be busy or blocked for this entire time

* CONTENT_PROCESS_LAUNCH_TOTAL_MS - the total time elapsed from the
start of async content process launch until the launch promise is
resolved and the ContentParent can be sent IPDL messages

* CONTENT_PROCESS_LAUNCH_MAINTHREAD_MS - the time consumed on the parent
process main thread during async content process launch; typically this
is due to ContentParent::Init.

* CHILD_PROCESS_LAUNCH_MS - for any kind of Gecko child process
(including plugins, GPU, etc.), the time taken in the common process
launch code (which is run off-main-thread)

The probes restricted to async content process launch don't have "async"
in the name because that will eventually become the only kind of content
process launch.

Depends on D8943

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

--HG--
extra : moz-landing-system : lando
2018-11-28 20:42:33 +00:00
Jed Davis
4fe96e3d18 Bug 1446161 - Asynchronously launch preallocated content processes using MozPromise. r=mccr8
There are several layers to this patch:

1. GeckoChildProcessHost now exposes a promise that's resolved when
the process handle is available (or rejected if launch failed), as a
nonblocking alternative to LaunchAndWaitForProcessHandle.

2. ContentParent builds on this with the private method
LaunchSubprocessAsync and the public method PreallocateProcessAsync;
synchronous launch continues to exist for the regular on-demand launch
path, for the time being.

3. PreallocatedProcessManager now uses async launch, and handles the new
"launch in progress" state appropriately.

Depends on D8942

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

--HG--
extra : moz-landing-system : lando
2018-11-28 20:42:31 +00:00
Jed Davis
231d5adb97 Bug 1446161 - Remove the earlier attempt at async launch. r=spohl,mccr8
The first attempt at async launch tried to hide the asynchrony inside
IPC, by making the process seem to be launched enough to construct new
channels and send it messages, and lazily blocking on the pid/handle.
Unfortunately, in practice we wind up needing the pid/handle immediately,
and this requirement is too deeply embedded in IPC for that to be viable.

(The alternative that will be used instead -- exposing process launch via
an explicitly asynchronous promise interface -- is made simpler by
Project Fission's upcoming rewrite of how the DOM requests new content
processes.)

Depends on D8941

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

--HG--
extra : moz-landing-system : lando
2018-11-28 20:42:24 +00:00
Andreas Farre
3ccff85cdd Bug 1502330 - Create BrowsingContext with passed opener. r=qdot
By replacing nsWebBrowser's implementation of the
nsIBaseWindow.initWindow and nsIBaseWindow.create with a new static
nsWebBrowser::Create method we make it possible to pass arguments
directly when creating an nsWebBrowser, for example the opener
BrowsingContext. As a bonus we can do away with
nsWebBrowser::mInitInfo!

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

--HG--
extra : moz-landing-system : lando
2018-11-27 09:59:44 +00:00
Andreea Pavel
74cd2bf73e Backed out 8 changesets (bug 1446161, bug 1487287, bug 1488993, bug 1474991, bug 1496608) for very frequent automation.py crashes on a CLOSED TREE
Backed out changeset 8b1f88d7bfeb (bug 1487287)
Backed out changeset 8fa5e81ad801 (bug 1487287)
Backed out changeset 7a480161fa0f (bug 1474991)
Backed out changeset 80116391b7fe (bug 1446161)
Backed out changeset 1bdf64b29121 (bug 1446161)
Backed out changeset 37bf52f0e9cf (bug 1446161)
Backed out changeset 8ede2ebe6b7a (bug 1496608)
Backed out changeset cea43bc88c7a (bug 1488993)
2018-11-27 08:53:18 +02:00
Jed Davis
4a53512dbe Bug 1474991 - Add new and improved performance telemetry for child process launching. r=mccr8,mconley,janerik
This patch adds some telemetry histograms:

* CONTENT_PROCESS_LAUNCH_IS_SYNC - boolean, true if the content process
was launched synchronously (blocking the main thread)

* CONTENT_PROCESS_SYNC_LAUNCH_MS - the time consumed by sync launch;
the main thread will be busy or blocked for this entire time

* CONTENT_PROCESS_LAUNCH_TOTAL_MS - the total time elapsed from the
start of async content process launch until the launch promise is
resolved and the ContentParent can be sent IPDL messages

* CONTENT_PROCESS_LAUNCH_MAINTHREAD_MS - the time consumed on the parent
process main thread during async content process launch; typically this
is due to ContentParent::Init.

* CHILD_PROCESS_LAUNCH_MS - for any kind of Gecko child process
(including plugins, GPU, etc.), the time taken in the common process
launch code (which is run off-main-thread)

The probes restricted to async content process launch don't have "async"
in the name because that will eventually become the only kind of content
process launch.

Depends on D8943

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:06:17 +00:00
Jed Davis
dececcae11 Bug 1446161 - Asynchronously launch preallocated content processes using MozPromise. r=mccr8
There are several layers to this patch:

1. GeckoChildProcessHost now exposes a promise that's resolved when
the process handle is available (or rejected if launch failed), as a
nonblocking alternative to LaunchAndWaitForProcessHandle.

2. ContentParent builds on this with the private method
LaunchSubprocessAsync and the public method PreallocateProcessAsync;
synchronous launch continues to exist for the regular on-demand launch
path, for the time being.

3. PreallocatedProcessManager now uses async launch, and handles the new
"launch in progress" state appropriately.

Depends on D8942

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:35:53 +00:00
Jed Davis
5379e8a375 Bug 1446161 - Remove the earlier attempt at async launch. r=spohl,mccr8
The first attempt at async launch tried to hide the asynchrony inside
IPC, by making the process seem to be launched enough to construct new
channels and send it messages, and lazily blocking on the pid/handle.
Unfortunately, in practice we wind up needing the pid/handle immediately,
and this requirement is too deeply embedded in IPC for that to be viable.

(The alternative that will be used instead -- exposing process launch via
an explicitly asynchronous promise interface -- is made simpler by
Project Fission's upcoming rewrite of how the DOM requests new content
processes.)

Depends on D8941

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:06:14 +00:00
Ehsan Akhgari
cc714b7adc Bug 1490811 - Part 1: Add a permission doorhanger for the storage access API r=baku,johannh
Differential Revision: https://phabricator.services.mozilla.com/D12467

--HG--
extra : moz-landing-system : lando
2018-11-26 21:23:16 +00:00
Andreea Pavel
d8849bad00 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-11-20 07:12:30 +02:00
Ehsan Akhgari
68a4d46702 Bug 1507677 - Add nsIContentPermissionRequest.topLevelPrincipal r=baku
This is required for the storage access API permission prompt.

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

--HG--
extra : moz-landing-system : lando
2018-11-20 01:52:47 +00:00
Lina Cambridge
69ee079fa0 Bug 1494713 - Pass the widget for the DocShell to IHistory::VisitURI. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D11287

--HG--
extra : moz-landing-system : lando
2018-11-16 17:29:57 +00:00
Gabriele Svelto
6e6968af84 Bug 1498942 - Don't attempt to take minidumps of hung content processes when shutting down r=Ehsan
This patch also takes the timeout for killing a content process back to its
original value and removes a related but long unused field.

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

--HG--
extra : moz-landing-system : lando
2018-11-13 15:34:49 +00:00
Haik Aftandilian
36f8930040 Bug 1498750 - [Mac] Cache content process sandbox params setup in ContentParent::AppendSandboxParams() r=Alex_Gaynor
Cache the sandboxing command line parameters used when starting a new content process, avoiding calls to realpath(3) on the main thread in the parent process for each content process that is started.

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

--HG--
extra : moz-landing-system : lando
2018-11-09 17:21:36 +00:00
Andreas Farre
af6942ecbc Bug 1502328 - Add opener member to BrowsingContext and expose through webidl. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D10580

--HG--
extra : moz-landing-system : lando
2018-11-09 08:53:53 +00:00
Andrea Marchesini
c2d9fd8153 Bug 1438945 - Part 13: keeping ContentProcess alive. r=asuth,mrbkap
--HG--
extra : rebase_source : 10f03713c5f31f3a41e4f45cde367f5daaa5ebd8
2018-11-19 15:18:33 -08:00
Ryan Hunt
076d1e73a3 Bug 1503655 part 3 - Remove PRenderFrame protocol without functional changes. r=kats
This commit removes the PRenderFrame protocol, while keeping the same ordering
and semantics of graphics IPC initialization.

To do this, some messages are added to PBrowser to simulate the constructor
and destructor of PRenderFrame. Messages that expected a nullable PRenderFrame
are updated to get a boolean instead.

One tricky area is the destruction of PRenderFrame. I've tried to keep it the
same as much as possible, but it's possible it might be slightly semantically
different than IPDL destruction. Destruction will be touched up in a later
patch, so I'm not too concerned.

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

--HG--
extra : rebase_source : bb8a7896bb4aefb6e9957d8808b755fa76cc00ed
extra : histedit_source : 6377819a946b5b6bc18b15f748229360e42a6f3a
2018-11-05 12:45:06 -06:00
Ryan Hunt
535b26ac9c Bug 1503655 part 1 - Remove nested-oop support from RenderFrameParent. r=kats,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D10593

--HG--
extra : rebase_source : c38238f2fa07f7a196ba9c14f745832ef7ad3cd5
extra : histedit_source : 02897684f5400f157973d5aa6bc4a6f6908697a4
2018-11-01 12:23:37 -05:00
Makoto Kato
90f9f1ea2a Bug 1500876 - Remove PContent::GetSystemColors sync IPC. r=snorp,mccr8
Content process of Android uses sync IPC when initializing LookAndFeel. But
current e10s has LookAndFeel cache for start up of content process.
So we should use it, then remove sync IPC for start up performance

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

--HG--
extra : moz-landing-system : lando
2018-10-29 01:35:47 +00:00
Haik Aftandilian
81b56d13a8 Bug 1431441 - Part 3 - Start the Mac content sandbox earlier r=Alex_Gaynor
Pass sandbox parameters to content processes on the command line allowing for early sandbox startup.

Pref'd off behind "security.sandbox.content.mac.earlyinit" until it's ready to be enabled by default.

Once early startup is enabled by default and considered stable, the original sandbox startup code can be removed.

Depends on D6719

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

--HG--
extra : moz-landing-system : lando
2018-10-19 18:23:16 +00:00
Jed Davis
859f503587 Bug 1498765 - Clean up ContentParent::KillHard handling. r=mccr8
MessageChannel shouldn't need to care about PContent-specific details.
2018-10-19 15:29:34 -06:00
Narcis Beleuzu
a2990eb898 Backed out 7 changesets (bug 1431441) as per haik`s request.
Backed out changeset 1dfdc7ba998d (bug 1431441)
Backed out changeset fb1a4ddbf9bf (bug 1431441)
Backed out changeset b59b1651fc15 (bug 1431441)
Backed out changeset 1e2bb579b824 (bug 1431441)
Backed out changeset 2a635530dfa3 (bug 1431441)
Backed out changeset 262da0be2fed (bug 1431441)
Backed out changeset b9cfda58fed3 (bug 1431441)

--HG--
extra : rebase_source : 7baf60c49683b419c0603979b0dff3befb2fbaf0
2018-10-14 18:20:01 +03:00
Haik Aftandilian
b9bdcdedb1 Bug 1431441 - Part 3 - Start the Mac content sandbox earlier r=Alex_Gaynor
Pass sandbox parameters to content processes on the command
line allowing for early sandbox startup. Limited to Nightly
until confirmed to be stable and ready to ride the trains.

Enable early sandbox startup by default on Nightly and use
pref "security.sandbox.content.mac.earlyinit" to disable
early startup for debugging purposes.

Once early startup is stable, the original sandbox startup
code can be removed.

Depends on D6719

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

--HG--
extra : moz-landing-system : lando
2018-10-11 22:44:25 +00:00
Brian Hackett
10209c0ccc Bug 1497057 - Remove ability to restart replaying children, r=mccr8.
--HG--
extra : rebase_source : 76e00d5e4330cfe375f70f2037f00e8d65eb91b6
2018-10-09 14:24:14 -10:00
Tiberius Oros
3edd9afbe3 Backed out 5 changesets (bug 1431441) for failing devtools at client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-01.js on OSX opt a=backout
Backed out changeset 94a1d1d67191 (bug 1431441)
Backed out changeset be7ec7438701 (bug 1431441)
Backed out changeset db6b7ee04187 (bug 1431441)
Backed out changeset f61ec0f140c2 (bug 1431441)
Backed out changeset ac51f86f5cac (bug 1431441)
2018-10-03 09:39:01 +03:00
Haik Aftandilian
ef9150c083 Bug 1431441 - Part 3 - Start the Mac content sandbox earlier r=Alex_Gaynor
Pass sandbox parameters to content processes on the command
line allowing for early sandbox startup. Limited to Nightly
until confirmed to be stable and ready to ride the trains.

Enable early sandbox startup by default on Nightly and use
pref "security.sandbox.content.mac.earlyinit" to disable
early startup for debugging purposes.

Once early startup is stable, the original sandbox startup
code can be removed.

Depends on D6719

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

--HG--
extra : moz-landing-system : lando
2018-10-02 20:29:46 +00:00