Commit Graph

98 Commits

Author SHA1 Message Date
Andrea Marchesini
54bede96b0 Bug 1403706 - Remove race conditions in temporary blob - part 6 - Introducing PTemporaryIPCBlob, r=smaug 2017-10-05 07:41:42 +02:00
Bevis Tseng
5a549f7a6b Bug 1399707 - Make entries in TabChild::sActiveTabs and EventLoopActivation::mEventGroups unique. r=billm 2017-09-13 11:59:35 +08:00
Kris Maglione
6fc8c74694 Bug 1255894: Part 10 - Move StreamFilterParent to necko child process. r=billm,dragana
MozReview-Commit-ID: 4JKUC7x3QgN
2017-09-07 17:28:27 -07:00
Kris Maglione
61c27bf8fb Bug 1255894: Part 3 - Create skeleton IPDL framework for OOP stream filters. r=baku
This interface will allow extensions running into a content process to attach
a filtering stream listener to an HTTP request in the parent process. The
content process attaches a listener by sending a message from the content
process containing the ID of the request to filter, and the ID of the add-on
making the request. The permissions and request mappings for this are handled
by the web request service added in part 2.

MozReview-Commit-ID: B7Dd3ywwCBX
2017-03-22 20:33:05 -07:00
Bill McCloskey
2f978036c6 Bug 1333962 - Add nsILabelableRunnable to label runnables like vsync (r=kanru)
MozReview-Commit-ID: FdvqV0LfFsz
2017-08-25 10:28:23 -07:00
Jan Varga
71b9ef19b0 Bug 1350637 - Part 9: Move Local Storage event broadcasting from PContent to PBackground; r=asuth 2017-08-08 23:02:28 +02:00
Jan Varga
0218c9e591 Bug 1350637 - Part 6: Fix a deadlock when main process storage child actor triggers storage thread initialization; r=asuth 2017-08-08 23:01:52 +02:00
Jan Varga
2b0c0e39f2 Bug 1350637 - Part 1: Move PStorage stubs from PContent to PBackground; r=asuth r=billm 2017-08-08 22:56:49 +02:00
Shih-Chiang Chien
19f30d00bc Bug 1015466 - Part 3, PHttpBackgroundChannel lifecycle management. r=mayhemer
PHttpBackgroundChannel is created by content process because PBackground IPDL
can only be initiated from content process. The background channel deletion is
controlled by chrome process while PHttpChannel is going to be closed or canceled.

BackgroundChannelRegistrar is introduced for pairing HttpChannelParent and
HttpBackgroundChannelParent since they are created over different IPDL
asynchronously.

nsIParentRedirectingChannel.continueVerification is introduced to asynchronously
wait for background channel to be established on the new channel during the
Redirect2Verify phase.

MozReview-Commit-ID: 41l8ivan8iA
2017-04-24 11:09:35 +08:00
Shih-Chiang Chien
6e06089cfe Bug 1015466 - Part 1, skeleton of PHttpBackgroundChannel. r=mayhemer
PHttpBackgroundChannel is introduced to deliver OnStopRequest/OnTransportAndData/OnProgress/OnStatus on background thread.
FlushedForDiversion/DivertMessages is moved to PHttpBackgroundChannel to ensure no more channel event are delivered after these two messages on the background channel.
OnStartRequestSent is introduced to synchronize the execution order between OnStartRequest (main thread IPC) and all other messages on PHttpBackgroundChannel.

MozReview-Commit-ID: HfqvPML6EKw
2017-05-15 16:01:10 +08:00
Ehsan Akhgari
65c5ac003f Backout the experimental patch for bug 1366156 because it didn't help 2017-05-24 09:46:39 -04:00
Andrea Marchesini
1741913b1f Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini
57cf4d9170 Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Sebastian Hengst
4ba0849b10 Backed out changeset 3ac94ff745fc (bug 1359718) for bustage in IPCBlobInputStreamChild.cpp. r=backout on a CLOSED TREE 2017-05-23 19:13:14 +02:00
Sebastian Hengst
ca7e47ba22 Backed out changeset c3251f5022dd (bug 1359718) 2017-05-23 19:12:25 +02:00
Andrea Marchesini
1562ff375d Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini
25412afb69 Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Sebastian Hengst
0fc705eda3 Backed out changeset c92612ac17d3 (bug 1359718) for bustage in IPCBlobInputStreamChild.cpp. r=backout on a CLOSED TREE 2017-05-23 18:35:24 +02:00
Sebastian Hengst
3496844ce8 Backed out changeset 537abc431472 (bug 1359718) 2017-05-23 18:34:40 +02:00
Andrea Marchesini
506bb525b7 Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini
4d502282e5 Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Ehsan Akhgari
b249181e7f Bug 1366156 - Temporarily disable the collection of content js delay event telemetry probes to investigate whether they are the cause of child process INPUT_EVENT_RESPONSE_MS regressions; r=farre 2017-05-19 09:46:30 -04:00
Andrea Marchesini
d07ef1ee38 Bug 1359087 - Use IPCBlob in FileHandle - part 1 - PPendingIPCBlob protocol, r=janv 2017-05-09 22:35:27 +02:00
Kyle Machulis
19b0bf260b Bug 1323339 - Add WebAuthnManager and support IPC Child classes; r=jcj r=baku
Takes functionality once in the WebAuthentication DOM class that needs
to be handled by the content process, and moves it to a
singleton (per-content-process) manager class. This allows the
WebAuthn API to centralize management of transactions and IPC
channels. Patch also creates the child (content-process) classes for
WebAuthn IPC channels.

MozReview-Commit-ID: 6ju2LK8lvNR
2017-05-09 13:21:23 -07:00
Andreas Farre
09ee357119 Bug 1322184 - Measure time spent in content JS that causes delay in paint. r=billm, data-r=bsmedberg
MozReview-Commit-ID: Iz31CKSnDdc
2017-05-02 08:10:00 -04:00
Andrea Marchesini
b87a2a73d2 Bug 1353629 - PBlob refactoring - part 4 - IPCBlobInputStream, r=smaug
IPCBlobInputStream is a new type of nsIInputStream that is used only in content
process when a Blob is sent from parent to child. This inputStream is for now,
just cloneable.

When the parent process sends a Blob to a content process, it has the Blob and
its inputStream. With its inputStream it creates a IPCBlobInputStreamParent
actor. This actor keeps the inputStream alive for following uses (not part of
this patch).

On the child side we will have, of course, a IPCBlobInputStreamChild actor.
This actor is able to create a IPCBlobInputStream when CreateStream() is
called.  This means that 1 IPCBlobInputStreamChild can manage multiple
IPCBlobInputStreams each time one of them is cloned. When the last one of this
stream is released, the child actor sends a __delete__ request to the parent
side; the parent will be deleted, and the original inputStream, on the parent
side, will be released as well.

IPCBlobInputStream is a special inputStream because each method, except for
Available() fails. Basically, this inputStream cannot be used on the content
process for nothing else than knowing the size of the original stream.

In the following patches, I'll introduce an async way to use it.
2017-04-24 12:09:40 +02:00
Andrea Marchesini
4bb8d9c667 Bug 1340921 - Introduce PMemoryStream for having PBlob and Multi-e10s happy - part 2 - PMemoryStream actor, r=mrbkap 2017-03-29 10:40:38 +02:00
Andrea Marchesini
30bbbae2fc Bug 1274343 - Add parent-to-child pipe streaming to IPCStream - part 2 - PParentToChild, r=smuag 2017-03-14 12:29:43 +01:00
Andrea Marchesini
a8870babfb Bug 1274343 - Add parent-to-child pipe streaming to IPCStream - part 1 - renaming PSendStream to PChildToParentStream, r=smaug 2017-03-14 12:28:58 +01:00
Emanuel Hoogeveen
9ce82d99b5 Bug 1338574 - Part 3: Use MOZ_CRASH_UNSAFE_PRINTF in IPC glue. r=mrbkap 2017-02-21 18:01:48 +01:00
Daosheng Mu
2f9db115a9 Bug 1315896 - Part 2: Remove MOZ_GAMEPAD in Gamepad module; r=ted.mielczarek
MozReview-Commit-ID: Hbv6THaI5Rk
2016-12-08 13:00:44 -10:00
Andi-Bogdan Postelnicu
d2ce5ebcc6 Bug 1318335 - Use C++11's override and remove virtual where applicable in ipc/. r=billm
MozReview-Commit-ID: 2Ae0htgmM7T
2016-11-17 15:12:09 +02:00
Kan-Ru Chen
1b9dd22e2d Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Alexandre Lissy
b2834a3543 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6
2016-08-02 14:54:00 +02:00
Chih-Yi Leu
8795be667d Bug 1282993 - Fix build error in Platform which don't support gamepad API. r=baku 2016-06-29 20:39:00 +02:00
Chih-Yi Leu
8012308286 Bug 1221730 - Change GamepadServiceTest into webidl. r=qdot, r=baku 2016-06-28 00:26:00 +02:00
Chih-Yi Leu
50630611e7 Bug 1221730 - Move gamepad API to PBackground. r=qdot, r=baku 2016-06-28 00:25:00 +02:00
James Andreou
b0a31c26c3 Bug 1276328 - Remove private browsing flags r=baku 2016-06-07 13:50:00 +02:00
Andrew McCreight
0514236009 Bug 1276318, part 2 - Fix mode lines in ipc/glue. r=billm
MessageChannel.{h,cpp}, MessageLink.{h,cpp}, and ProtocolUtils.h are
using 4-space indent so I left those alone.
2016-05-27 14:54:31 -07:00
Ben Kelly
5b46bd3b21 Bug 1093357 P1 Implement an actor for streaming pipes from child to parent. r=jld
* * *
Bug 1093357 P1 interdiff 001 address review feedback
2016-05-15 10:32:09 -07:00
Andrea Marchesini
32c6dd01b5 Bug 1258221 - patch 3 - Rename FileSystemTaskBase to FileSystemTaskChildBase, r=smaug 2016-04-09 19:17:28 +01:00
Andrea Marchesini
f5655f4f9e Bug 1258221 - patch 2 - Port FileSystem API and DeviceStorage API to PBackground, r=smaug 2016-04-09 19:17:02 +01:00
Jan Varga
a1bb6a4521 Bug 961049 - Part 8: Move getFileReferences() from PContent under new protocol PBackgroundIndexedDBUtils; r=baku 2015-11-22 10:44:33 +01:00
Jan Varga
ea0cabfec0 Bug 961049 - Part 4: QuotaManager on PBackground core changes; r=baku 2015-11-22 10:43:55 +01:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Gian-Carlo Pascutto
690b815d50 Bug 1200477 - Allow building with WebRTC disabled. r=glandium,mrbkap 2015-09-18 08:29:14 +02:00
Jan Varga
7634d6acc6 Bug 771288 - Multiprocess FileHandle support (FileHandle on PBackground); r=baku 2015-09-09 13:15:05 +02:00
Gian-Carlo Pascutto
5d6fb6efb4 Bug 1104616 - Proxy video capture access to the main process. r=jesup,glandium,mrbkap 2015-08-31 14:51:29 +02:00
Jan Varga
82b713176c Bug 1173756 - Part 1: Update asmjscache to use PBackground; r=luke 2015-08-29 07:45:04 +02:00
Cervantes Yu
fcfcd12422 Bug 1155547, Part 2: Create PNuwa protocol (managed by PBackground) for forking content processes. r=khuey
This allows us to send a sync fork request to the Nuwa process when we need one but there is no
spare process available. After an app is launched, the request to fork a spare process is still
handled asynchronously.
2015-07-31 15:25:27 +08:00