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

41 Коммитов

Автор SHA1 Сообщение Дата
Andrea Marchesini db0019c058 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
Bill McCloskey 5c609727dc Bug 1354249 - Use same TabGroup as original tab for print preview (r=mystor)
MozReview-Commit-ID: 5wmjLgq2j5m
2017-04-12 20:17:50 -07:00
Andrea Marchesini d99a7dac26 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
Evelyn Hung 00c1af4647 Bug 1347117 - Add Activate/Deactivate/ParentActivated to PContentBridge; r=billm
In a nested content process setup, FocusManager needs to activate focus
to a remote frame through ContentBridgeParent, not ContentParent.
2017-03-15 02:00:00 +01:00
Andrea Marchesini f9cbf66dfd Bug 1274343 - Add parent-to-child pipe streaming to IPCStream - part 2 - PParentToChild, r=smuag
--HG--
rename : ipc/glue/SendStreamAlloc.h => ipc/glue/IPCStreamAlloc.h
rename : ipc/glue/SendStreamChild.cpp => ipc/glue/IPCStreamChild.cpp
rename : ipc/glue/SendStreamParent.cpp => ipc/glue/IPCStreamDestination.cpp
rename : ipc/glue/SendStream.h => ipc/glue/IPCStreamDestination.h
rename : ipc/glue/SendStreamParent.cpp => ipc/glue/IPCStreamParent.cpp
rename : ipc/glue/SendStreamChild.cpp => ipc/glue/IPCStreamSource.cpp
rename : ipc/glue/SendStream.h => ipc/glue/IPCStreamSource.h
rename : ipc/glue/PChildToParentStream.ipdl => ipc/glue/PParentToChildStream.ipdl
2017-03-14 12:29:43 +01:00
Andrea Marchesini 6ced9f8a25 Bug 1274343 - Add parent-to-child pipe streaming to IPCStream - part 1 - renaming PSendStream to PChildToParentStream, r=smaug
--HG--
rename : ipc/glue/PSendStream.ipdl => ipc/glue/PChildToParentStream.ipdl
2017-03-14 12:28:58 +01:00
Andrew McCreight 6d0b08993a Bug 1333917 - Make ContentBridge use endpoints, not bridges. r=kanru
MozReview-Commit-ID: IPFX2pVblD7

--HG--
extra : rebase_source : b704fa496be227f3bd9e660fa73c851d845cbe71
2017-01-26 14:40:17 -08:00
Andrew McCreight c41dfa61d8 Bug 1334328 - Remove unused fields ContentBridge{Parent,Child}::mTransport. r=kanru
MozReview-Commit-ID: 39cytTfmGFk

--HG--
extra : rebase_source : 5eb641af3a8cee946e839615d10eb01d9cbff2a4
2017-01-26 15:05:36 -08:00
Ehsan Akhgari eac76d9772 Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus
This patch removes support for mozapp iframes, leaving support for
mozbrowser iframes intact.  Some of the code has been rewritten in order
to phrase things in terms of mozbrowser only, as opposed to mozbrowser
or app.  In some places, code that was only useful with apps has been
completely removed, so that the APIs consumed can also be removed.  In
some places where the notion of appId was bleeding out of this API, now
we use NO_APP_ID.  Other notions of appId which were restricted to this
API have been removed.
2016-11-16 09:13:38 -05:00
Kan-Ru Chen f8100451db 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
Andrea Marchesini db15f776a7 Bug 1288997 - memory blob should not be shared across processes - part 1 -PSendStream should use nsIContentChild, r=jld, f=bkelly 2016-09-21 12:27:26 +02:00
Gabor Krizsanits 8de309e78f Bug 1234583 -Expose OS Pid in nsITabParent. r=billm 2016-08-01 12:26:48 +02:00
Cervantes Yu 28706c5d87 Bug 1275398 - Use shmem for sending image data in IPCDataTransfer. r=nical
MozReview-Commit-ID: 9XETnSBXxEW
2016-06-16 00:57:46 +08:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Kyle Huey 44cee0989e Bug 1268313: Part 6 - Replace NewRunnableMethod with NS_NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book de92769e7e Backed out changeset 4bcb784492bb (bug 1268313)
--HG--
extra : rebase_source : f2f752ab73f5bbf31a909892a0fac0f42c894430
2016-04-29 14:21:18 +02:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey 48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Kyle Huey 12d497cb39 Bug 1268313: Part 6 - Replace NewRunnableMethod with NS_NewRunnableMethod. r=froydnj 2016-04-28 14:08:24 -07:00
Andrew McCreight 8fc2a0583c Bug 1263235, part 2 - Make PContent::AsyncMessage and PContentBridge::AsyncMessage's data argument last. r=smaug 2016-04-09 06:50:59 -07:00
Andrea Marchesini 9b34c64d31 Bug 1235576 - Fix the indentation in dom/ipc, r=smaug 2016-01-05 09:59:30 +00:00
Nathan Froyd 01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Andrea Marchesini cd4473d62f Bug 1203426 - Rename StructuredCloneIPCHelper to StructuredCloneData, r=smaug
--HG--
rename : dom/ipc/StructuredCloneIPCHelper.cpp => dom/ipc/StructuredCloneData.cpp
rename : dom/ipc/StructuredCloneIPCHelper.h => dom/ipc/StructuredCloneData.h
2015-09-10 21:50:58 +01:00
Andrea Marchesini 896e177461 Bug 1201806 - part 1 - Remove OwningSerializedStructuredCloneBuffer and use StructuredCloneIPCHelper everywhere in IPC code, r=smaug 2015-09-09 08:10:32 +01:00
chunminchang 3ccf001aaa Bug 1114507 - Part 3: Remove PContetBridge channel when grandchild-process is killed. r=kanru 2015-08-31 01:53:00 -04:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Bill McCloskey 751027c648 Bug 803783 - Send message manager results via structured clone (r=bent) 2015-05-11 17:19:10 -07:00
Andrew McCreight 9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Kershaw Chang ea49fe57ec Bug 1131444 - Close PContentBridge when content process is ended. r=khuey 2015-03-10 07:10:00 -04:00
Bill McCloskey 2f3d90830b Bug 1123461 - Make a real interface for js/ipc (r=dvander) 2015-01-26 13:32:18 -08:00
Kyle Huey 7c82e6dd0a Bug 1121673: Use move references in IPDL. r=bent 2015-01-16 11:58:52 -08:00
Kershaw Chang 4009e7ff79 Bug 1020172 - Patch 2: Manage TabParent in chrome process - v14. r=khuey 2014-10-29 19:11:00 +01:00
Kershaw Chang e94eff7080 Bug 1020172 - Patch 1: Replace process id with ContentParentId type - v3. r=khuey 2014-10-24 02:28:00 +02:00
Wes Kocher f24485360f Backed out 4 changesets (bug 1020172) for causing bug 1089542 a=backout
Backed out changeset 176ca4363517 (bug 1020172)
Backed out changeset 90714be8e689 (bug 1020172)
Backed out changeset 9d8c09e711f5 (bug 1020172)
Backed out changeset f895938013ff (bug 1020172)
2014-10-27 16:56:45 -07:00
Kershaw Chang b57883c25f Bug 1020172 - Part 2: Manage TabParent in chrome process. r=khuey 2014-10-24 02:29:00 -04:00
Kershaw Chang 040b0d19e2 Bug 1020172 - Part 1: Replace process id with ContentParentId type. r=khuey 2014-10-24 02:28:00 -04:00
Andrew McCreight 6ca7943f17 Bug 1073597, part 2 - Factor out common base class for GetCPOWManager. r=smaug 2014-10-06 15:45:42 -07:00
Ehsan Akhgari beaa1d2306 Bug 1048247 - Fix more bad implicit constructors in DOM; r=smaug 2014-08-05 09:19:51 -04:00
Benoit Jacob ec742680c8 Bug 1028588 - Fix dangerous public destructors in the rest of dom/ - r=ehsan 2014-06-23 15:56:07 -04:00
"Kan-Ru Chen (陳侃如)" 9ed870c153 Bug 879475 - Part 005. Implement ContentBridge r=jlebar
Based on original patch by David Zbarsky <dzbarsky@gmail.com>
2014-06-11 13:44:13 +08:00