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

7780 Коммитов

Автор SHA1 Сообщение Дата
ssengupta 8d095d15bf Bug 1619953 - P5 - BlobURLChannel allows loading blob data that is very recently revoked r=baku
Previously similar logic existed in BlobURLProtocolHandler, which has now been removed, since such checks are now for parent process only and should be abstracted from BlobURLProtocolHandler.

Depends on D75293

Differential Revision: https://phabricator.services.mozilla.com/D81126
2020-08-05 17:06:01 +00:00
ssengupta 562ceea795 Bug 1619953 - P2 - Asynchronous BlobURLDataRequest introduced r=baku
The content process should use this method to send blob url and triggering principal to the parent process and expect blobImpl in return, if the blob is found and the triggering principal subsumes the blob's principal.

Differential Revision: https://phabricator.services.mozilla.com/D75291
2020-08-05 17:05:54 +00:00
Anny Gakhokidze e903c66d34 Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow
This patch enables sandboxed srcdoc loads to take place via DocumentChannel,
and adds mechanisms for enabling unsandboxed ones.

Both unsandboxed srcdoc, and in subsequent patches, about:blank, loads require
that the triggering principal and the principal to inherit point to the same
instance if the load takes place in the same process as where we are inheriting
those principals from. We save those principals on a target browsing context before
we load the URI, and later, when we are deserializing LoadInfoArgs into
LoadInfo in the content process, we retrieve the saved principals if the
current load identifier of the target BC matches the load identifier saved
along with the principals.

We also need to make sure that during a process switch for about:srcdoc load,
we don't use the original URI for about:srcdoc to determine the remote type and
instead we use channel's result principal.

Differential Revision: https://phabricator.services.mozilla.com/D85079
2020-08-05 16:44:01 +00:00
Simon Giesecke 1e6ec7ec86 Bug 1656117 - Reduce include dependencies on nsRefreshDriver.h. r=mstange
The abstract observer base classes are moved to a separate header file
nsRefreshObservers.h and the includes are adjusted accordingly.

Some method implementations are moved to the corresponding implementation files
to avoid the need to include the nsRefreshDriver.h file in the header.

Differential Revision: https://phabricator.services.mozilla.com/D85764
2020-08-04 21:17:50 +00:00
Nika Layzell 94ef7ca811 Bug 1653729 - Part 3: Add nsIDOMProcessChild::GetSingleton helper, r=kmag
This should make it easier to get an XPCOM interface from a JSProcessActorChild
in the current process, when combined with the do_QueryActor overloads from p2.

Differential Revision: https://phabricator.services.mozilla.com/D84069
2020-08-04 21:35:09 +00:00
Nika Layzell 475bf900c6 Bug 1653729 - Part 2: Add methods for do_QueryActor from nsIDOMProcess*, r=kmag
Before this change, nsIDOMProcess{Parent,Child} could not directly be used in
do_QueryActor, as they don't directly inherit from JSActorManager.

The std::enable_if_t trickery is required in order to avoid overload issues when
passing types like ContentChild which inherit from both JSActorManager and
nsIDOMProcess{Parent,Child}.

Differential Revision: https://phabricator.services.mozilla.com/D84068
2020-08-04 21:35:25 +00:00
Nika Layzell 1c71a222fc Bug 1653729 - Part 1: Generalize do_QueryActor API, r=kmag
This changes the set of types which can be passed as the second argument to
do_QueryActor to ones which can be unambiguously converted to a JSActorManager,
and combines nsCOMPtr_helper implementations.

Differential Revision: https://phabricator.services.mozilla.com/D84067
2020-08-04 21:34:29 +00:00
Nika Layzell ca8ccd9569 Bug 1653407 - Part 2: Fix issue with NoteJSContextException, r=kmag
Previously we would end up throwing an uncatchable exception if actor
construction failed with an exception, due to calling
NoteJSContextException(cx), and then exiting a AutoEntryScript, which will clear
the exception on the JSContext and report it.

Differential Revision: https://phabricator.services.mozilla.com/D84066
2020-08-04 21:38:47 +00:00
Nika Layzell a753490a43 Bug 1653407 - Part 1: Handle null JSActor wrappers better, r=kmag
Previously these methods would crash if we ever didn't have a preserved wrapper,
such as when no module URI is specified.

Differential Revision: https://phabricator.services.mozilla.com/D84065
2020-08-04 21:41:07 +00:00
Andrew McCreight 3d43d61e95 Bug 1656953 - Add remoteType to nsIDOMProcessParent. r=nika
This will let people get information about the process more easily.

remoteType can't be infallible because it is a ACString.

Differential Revision: https://phabricator.services.mozilla.com/D85776
2020-08-04 16:50:00 +00:00
Mihai Alexandru Michis 9fa46e7850 Backed out 2 changesets (bug 1654957) for causing leaks.
CLOSED TREE

Backed out changeset 14761127f6bb (bug 1654957)
Backed out changeset 49a529a1cc20 (bug 1654957)
2020-08-04 19:31:06 +03:00
Jed Davis 24b6995b46 Bug 1654957 - Enable the GfxInfo component in the GPU process on Linux. r=jgilbert
Out-of-process WebGL needs GfxInfo to exist in the composition
process (which is the GPU process if it exists and the parent process
otherwise).  This patch enables the Linux version of that component in
the GPU process; the IPC currently used to give content processes copies
of the parent's GPU info is extended to also send it to the GPU process.

Differential Revision: https://phabricator.services.mozilla.com/D85443
2020-07-30 22:08:15 +00:00
Jed Davis e0230397f6 Bug 1654957 - Prelude: move GfxInfoFeatureStatus from dom to gfx. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D85488
2020-07-30 22:07:24 +00:00
Simon Giesecke 96f3e7e019 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-04 11:27:07 +00:00
Emilio Cobos Álvarez 2334b31709 Bug 1652271 - Fix IPC serialization of FeaturePolicy in presence of attribute-enabled features. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D83848
2020-08-04 09:02:31 +00:00
Noemi Erli 381fca9783 Backed out 4 changesets (bug 1654992, bug 1654991) for causing timeous in mask-opacity-1e.html
Backed out changeset 11f0f54c6e0a (bug 1654992)
Backed out changeset a353dd5b3f08 (bug 1654991)
Backed out changeset 6a7964ba549f (bug 1654991)
Backed out changeset cf3bfb91d98c (bug 1654991)
2020-08-03 22:09:36 +03:00
Andrew McCreight f6f2bd8f6e Bug 1655536, part 2 - Don't wait for memory reports from child processes that no longer exist. r=froydnj
This patch uses IPDL's return feature to ensure that the memory
reporter manager won't wait for a report from a child process
that has already exited.

This fixes a memory reporter hang that can happen if a child process
exits during a memory report, when the parent half of the actor is
being held alive. (If the parent half of the actor is not being held
alive, then mMemoryReportRequest will be naturally cleared when it
goes away.)

This was happening frequently on Windows Fission AWSY because that test
does a minimize memory right before it attempts to get a memory report,
and the preallocated content process exits when it sees a message to
minimize memory.

Differential Revision: https://phabricator.services.mozilla.com/D85499
2020-08-03 18:29:45 +00:00
Andrew McCreight 7157f25222 Bug 1655536, part 1 - Drop the return value from MemoryReportRequestClient::FinishCallback. r=froydnj
The next patch converts the memory reporting architecture to use the "returns"
feature of IPDL, and mozilla::ipc::RejectCallback does not have a return
type, so this patch removes the return value.

FinishReportingCallback::Callback() needs to remain an XPCOM method
that returns NS_OK because it is called from JS during testing.

Differential Revision: https://phabricator.services.mozilla.com/D85498
2020-08-03 18:29:02 +00:00
Csoregi Natalia b93d5d6e33 Backed out 3 changesets (bug 1647695) for failures on browser_aboutprocesses.js. CLOSED TREE
Backed out changeset 01b6951d0aae (bug 1647695)
Backed out changeset 1b1fa5dbd9bd (bug 1647695)
Backed out changeset 0f097362abf8 (bug 1647695)
2020-08-03 20:31:35 +03:00
Simon Giesecke 032d2ac9d3 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-03 14:54:18 +00:00
David Teller 71c6f3835b Bug 1647695 - Expose ChildID on frozen nsIHangReport;r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D83665
2020-08-03 14:12:24 +00:00
Coroiu Cristina 24283f9454 Backed out 3 changesets (bug 1647695) for bc failures at widget/tests/browser/browser_test_procinfo.js and ESlint on a CLOSED TREE
Backed out changeset c1af633ab74e (bug 1647695)
Backed out changeset 3417fe7200bd (bug 1647695)
Backed out changeset 2a0969c26d95 (bug 1647695)
2020-08-03 16:55:44 +03:00
David Teller 7c89088cf8 Bug 1647695 - Expose ChildID on frozen nsIHangReport;r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D83665
2020-08-03 12:49:40 +00:00
Chris Martin 552aa91269 Bug 1652561 - Remote Win32k calls in nsLookAndFeel::GetFontImpl() r=emilio,geckoview-reviewers,agi,froydnj
Content processes will now receive cached values for GetFontImpl() from the
parent process during initialization and whenever the theme changes.

This eliminates the use of several Win32k calls in content.

Differential Revision: https://phabricator.services.mozilla.com/D83406
2020-07-31 16:21:44 +00:00
Andreas Farre b13577d8e4 Bug 1613431 - Part 3: Handle synced setters return value. r=nika
Depends on D83646

Differential Revision: https://phabricator.services.mozilla.com/D83647
2020-07-31 13:37:13 +00:00
Andreas Farre 8d7d0ec85c Bug 1613431 - Part 2: Ignore synced setters return value. r=nika
Depends on D83645

Differential Revision: https://phabricator.services.mozilla.com/D83646
2020-07-31 13:37:00 +00:00
Olli Pettay 26b28f1b65 Bug 1654525 - Ensure loads initiated from session history in parent reuse the existing SHEntries, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85173
2020-07-29 14:23:09 +00:00
Nika Layzell 5ed1074194 Bug 1652085 - Delay BrowsingContextGroup destruction until acked, r=farre
This should ensure that any BrowsingContexts racily created during the discard
process don't end up creating a separate BrowsingContextGroup from their
relatives, and triggering group mismatch assertions.

Differential Revision: https://phabricator.services.mozilla.com/D84548
2020-07-30 20:27:41 +00:00
Nika Layzell 3b8fc2b4eb Bug 1652144 - Part 3: Add tests for webIsolated counts over 1, r=farre
This patch also unlocks the pref which was locked in bug 1626096, as it's no
longer an issue.

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

Differential Revision: https://phabricator.services.mozilla.com/D84061
2020-07-30 20:27:37 +00:00
Nika Layzell 59bd2d5f83 Bug 1652144 - Part 1: Remove unused argument from process launch methods, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D84060
2020-07-30 20:27:34 +00:00
Randell Jesup 41a19d75d7 Bug 1655994: Clean up process name setting r=nika
Differential Revision: https://phabricator.services.mozilla.com/D85293
2020-07-29 16:40:53 +00:00
Sebastian Streich fb1d1dc1df Bug 1558394 - Pass the TriggeringSandboxFlags to nsILoadinfo r=ckerschb,smaug,necko-reviewers,valentin
Add triggering Sandbox flags to loadinfo
***
Pass triggering Flags into Loadinfo

***
Fix triggeringSandboxflags passing

Differential Revision: https://phabricator.services.mozilla.com/D69588
2020-07-29 11:43:23 +00:00
Jonathan Kew eb8be4d270 Bug 1648355 - When doing a global font fallback search, load cmaps eagerly in the parent process. r=jwatt
This reduces IPC traffic, and avoids the (severe) impact of file access interception
and proxying by the sandbox on DirectWrite in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D83240
2020-07-22 21:12:11 +00:00
Karl Tomlinson f12d2fad45 Bug 1653667 move realtime limit initialization from RecvSetProcessSandbox() to CubebUtils r=padenot
so that this happens even when the content sandbox is not enabled.

CubebUtils::InitLibrary() is called during ContentProcess::Init(), before the
event loop is run in XRE_InitChildProcess().

Differential Revision: https://phabricator.services.mozilla.com/D84941
2020-07-27 14:48:32 +00:00
Joel Maher 2f2dc70492 Bug 1654553 - fix browser chrome tests to support Object.is instead of ==. r=gbrown,preferences-reviewers,Gijs,rpl
fix browser chrome tests to support Object.is instead of ==

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

Differential Revision: https://phabricator.services.mozilla.com/D84548
2020-07-24 20:24:45 +00:00
Nika Layzell b4964689b9 Bug 1652144 - Part 3: Add tests for webIsolated counts over 1, r=farre
This patch also unlocks the pref which was locked in bug 1626096, as it's no
longer an issue.

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

Differential Revision: https://phabricator.services.mozilla.com/D84061
2020-07-24 20:24:36 +00:00
Nika Layzell 03de005ca0 Bug 1652144 - Part 1: Remove unused argument from process launch methods, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D84060
2020-07-24 20:24:33 +00:00
Junior Hsu ddaa9f30b2 Bug 1652189 - SendOnStartRequestSent only for main document, r=mayhemer,necko-reviewers
Even if loadflag contains LOAD_DOCUMENT_NEEDS_COOKIE, we update cookie only for
the main documen
https://searchfox.org/mozilla-central/rev/9b282b34b5aa0f836beb735656c55efb2cc4c617/dom/ipc/ContentParent.cpp#5704

Hence, we don't need to wait for main thread IPC to proceed HttpChannelChild::OnStartRequest

Differential Revision: https://phabricator.services.mozilla.com/D84275
2020-07-24 05:13:26 +00:00
Gijs Kruitbosch 90ef37ddc1 Bug 1652613 - report slow script hang durations and only clear hang data after the observer notification, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D83989
2020-07-24 00:01:57 +00:00
Dorel Luca 54d5f1c9ed Backed out 4 changesets (bug 1652613) for Browser-chrome failures in browser/browser_ProcessHangNotifications.js. CLOSED TREE
Backed out changeset 76b5a5d243d1 (bug 1652613)
Backed out changeset 6f98c9b01920 (bug 1652613)
Backed out changeset 1255237ce2e7 (bug 1652613)
Backed out changeset bdf59854c900 (bug 1652613)
2020-07-24 02:58:22 +03:00
Gijs Kruitbosch a75ccccec2 Bug 1652613 - report slow script hang durations and only clear hang data after the observer notification, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D83989
2020-07-23 22:12:16 +00:00
Olli Pettay 1b3d2a37fb Bug 1647229 - Synchronize layouthistorystate to parent process, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D81753
2020-07-23 19:35:29 +00:00
Emilio Cobos Álvarez ff61891772 Bug 1653011 - Simplify and make WeakPtr<Derived> usable and compact. r=froydnj,sg,geckoview-reviewers,jgilbert,kvark,snorp
Having two classes in the inheritance chain inherit from SupportsWeakPtr
now won't compile, but you can use WeakPtr<Derived> when any base class
inherits from SupportsWeakPtr.

Differential Revision: https://phabricator.services.mozilla.com/D83674
2020-07-23 14:51:46 +00:00
Doug Thayer a538eb7804 Bug 1651941 - Avoid unnecessary empty StartupCaches r=froydnj
Prior to this patch, we were sending a boolean from InitContentChild (which
creates our StartupCache IPC actors) indicating whether we wanted to collect
new entries from a given process or not. This was so that we wouldn't accept
PutBuffer requests in these processes, since collecting them in one process
would be enough, and we don't want to waste memory. However, we actually
want the cache to be available before we can even get that IPC constructor
to the child process, so there's a window where we accept new entries
no matter what. This patch changes this by sending a boolean argument via
the command line indicating that we want to disable the Startupcache in this
process entirely. We send this when we didn't load a StartupCache off disk,
as this should be the only circumstance in which we're actually collecting
a substantial number of entries in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D83400
2020-07-22 20:31:21 +00:00
Simon Giesecke 548e423dad Bug 1654469 - Stop generating operator==/operator != for IPDL structs/unions by default. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D84485
2020-07-22 17:24:33 +00:00
Simon Giesecke e443211b53 Bug 1653229 - Remove unnecessary includes for BindingUtils.h. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D83771
2020-07-22 15:12:10 +00:00