Commit Graph

1737 Commits

Author SHA1 Message Date
Ed Morley
c12b7139c6 Merge mozilla-central and b2g-inbound 2013-10-01 12:00:25 +01:00
Thomas Zimmermann
19ae300ab9 Bug 919913: Introduce DBusReplyCallback, r=qdot,echou
DBusReplyCallback replaces the removed DBusCallback as type for
reply-handler functions. Bluetooth, the only user of DBus, has
been updated as well.
2013-10-01 10:20:55 +02:00
Thomas Zimmermann
2f4cef68a1 Bug 919913: Cleanup DBusUtils, r=qdot
This patch cleans up the DBus utilitys and helper classes. All functions
for sending have been removed. Their users have been converted to the
new methods in RawDBusConnection. Include statements have been cleaned
up as well. Some methods of DBusMessageRefPtr have been moved from the
header to the source file to prevent inclusion of the DBus API from within
the header file.
2013-10-01 10:20:39 +02:00
Thomas Zimmermann
7eaed0c5d5 Bug 919913: Add send methods to RawDBusConnection, r=qdot
This patch adds methods for sending DBus messages to the class
RawDBusConnection. There are 3 types of interfaces.

 - Send             Sends a message over DBus. No error checking or
                    handling of replies is performed. These methods
                    do not block the sending thread.

 - SendWithReply    Sends a message over DBus and runs a call-back
                    function for the reply. This should be the default
                    case for most scenarios. These methods do not
                    block the sending thread.

 - SendWithError    Sends a message over DBus and waits for the reply
                    or an error. This interface has only been added for
                    some existing code that can safely block the sending
                    thread. Don't use it in new code.

These 3 types of interfaces represent what is currently used of the
existing send functions in DBusUtils. When all users have been converted
to the new methods, the interfaces in DBusUtils can be removed.
2013-10-01 10:20:21 +02:00
Mark Hammond
6337687f5c Bug 920397 part 3 - Ensure PContentParent doesn't close process handles multiple times. r=bsmedberg 2013-10-01 10:56:16 +10:00
Mark Hammond
9b5805c788 Bug 920397 part 2 - MessageChannel::~MessageChannel() now asserts that closing the handle succeeded. r=bsmedberg 2013-10-01 10:56:16 +10:00
Mark Hammond
041acb9024 Bug 920397 part 1 - base::CloseProcessHandle() checks result in debug builds and is used everywhere a process handle is closed. r=bsmedberg 2013-10-01 10:56:15 +10:00
David Anderson
c8133fee65 Rename IPDL's RPC to Interrupt (bug 910020, r=bent).
--HG--
rename : ipc/ipdl/test/cxx/PTestRPCErrorCleanup.ipdl => ipc/ipdl/test/cxx/PTestInterruptErrorCleanup.ipdl
rename : ipc/ipdl/test/cxx/PTestRPCRaces.ipdl => ipc/ipdl/test/cxx/PTestInterruptRaces.ipdl
rename : ipc/ipdl/test/cxx/PTestRPCShutdownRace.ipdl => ipc/ipdl/test/cxx/PTestInterruptShutdownRace.ipdl
rename : ipc/ipdl/test/cxx/PTestRacyRPCReplies.ipdl => ipc/ipdl/test/cxx/PTestRacyInterruptReplies.ipdl
rename : ipc/ipdl/test/cxx/TestRPCErrorCleanup.cpp => ipc/ipdl/test/cxx/TestInterruptErrorCleanup.cpp
rename : ipc/ipdl/test/cxx/TestRPCErrorCleanup.h => ipc/ipdl/test/cxx/TestInterruptErrorCleanup.h
rename : ipc/ipdl/test/cxx/TestRPCRaces.cpp => ipc/ipdl/test/cxx/TestInterruptRaces.cpp
rename : ipc/ipdl/test/cxx/TestRPCRaces.h => ipc/ipdl/test/cxx/TestInterruptRaces.h
rename : ipc/ipdl/test/cxx/TestRPCShutdownRace.cpp => ipc/ipdl/test/cxx/TestInterruptShutdownRace.cpp
rename : ipc/ipdl/test/cxx/TestRPCShutdownRace.h => ipc/ipdl/test/cxx/TestInterruptShutdownRace.h
rename : ipc/ipdl/test/cxx/TestRacyRPCReplies.cpp => ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp
rename : ipc/ipdl/test/cxx/TestRacyRPCReplies.h => ipc/ipdl/test/cxx/TestRacyInterruptReplies.h
rename : ipc/ipdl/test/ipdl/error/rpcMessageCompress.ipdl => ipc/ipdl/test/ipdl/error/intrMessageCompress.ipdl
rename : ipc/ipdl/test/ipdl/error/tooWeakRPCAsync.ipdl => ipc/ipdl/test/ipdl/error/tooWeakInterruptAsync.ipdl
rename : ipc/ipdl/test/ipdl/ok/rpcProtocol.ipdl => ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl
2013-09-30 17:27:45 -07:00
Cervantes Yu
eaf8730772 Bug 771765 - Support template content process, part 9: allocating a toplevel protocol should return itself. r=dzbarsky
Reverse the effect in bug 879475 part 14 since we need to keep track of open protocols in the Nuwa process.
2013-09-26 12:19:09 +08:00
Ryan VanderMeulen
4dd576fb2f Merge m-c to inbound. 2013-09-30 16:51:06 -04:00
Benjamin Smedberg
ac8ae5b462 Bug 920695 part A - move xpcshell code into libxul and make the xpcshell binary just a stub, r=bholley
--HG--
rename : js/xpconnect/shell/xpcshell.cpp => js/xpconnect/src/XPCShellImpl.cpp
rename : js/xpconnect/shell/jsshell.msg => js/xpconnect/src/jsshell.msg
extra : rebase_source : 9a2ab7508e3cb7a6bfec6b1e98f49799221d1376
2013-09-30 16:09:28 -04:00
Vicamo Yang
dcaf2bced0 Bug 919982: B2G RIL - read Gonk property "ro.moz.ril.numclients" instead. r=hsinyi 2013-09-30 17:24:54 +08:00
David Anderson
f0500f6a4e Combine AsyncChannel, SyncChannel, and RPCChannel into one class (bug 901789, r=cjones,bent).
--HG--
rename : ipc/glue/RPCChannel.cpp => ipc/glue/MessageChannel.cpp
rename : ipc/glue/RPCChannel.h => ipc/glue/MessageChannel.h
2013-09-27 18:42:08 -07:00
Ryan VanderMeulen
fb2d6dc1a4 Backed out 6 changesets (bug 913985) for suspicion of causing intermittent Android crashes on a CLOSED TREE.
Backed out changeset de21920d2b8e (bug 913985)
Backed out changeset f0f5497d65bb (bug 913985)
Backed out changeset 1e16ca4ad801 (bug 913985)
Backed out changeset 9c069a0820ea (bug 913985)
Backed out changeset 274df3abc991 (bug 913985)
Backed out changeset 05fe8b17516a (bug 913985)

--HG--
rename : build/annotationProcessors/AnnotationInfo.java => build/annotationProcessors/MethodWithAnnotationInfo.java
rename : build/annotationProcessors/utils/AlphabeticAnnotatableEntityComparator.java => build/annotationProcessors/utils/AlphabeticMethodComparator.java
rename : build/annotationProcessors/utils/GeneratableElementIterator.java => build/annotationProcessors/utils/GeneratableEntryPointIterator.java
rename : mobile/android/base/mozglue/generatorannotations/WrapElementForJNI.java => mobile/android/base/mozglue/GeneratableAndroidBridgeTarget.java
rename : mobile/android/base/mozglue/generatorannotations/OptionalGeneratedParameter.java => mobile/android/base/mozglue/OptionalGeneratedParameter.java
2013-09-27 17:02:09 -04:00
Nathan Froyd
51b40471b2 Bug 914826 - part 6 - don't include basictypes.h or nscore.h in ipdl headers; r=ehsan 2013-09-10 15:55:39 -04:00
Nathan Froyd
49ff4edd5d Bug 914826 - part 5 - provide for cpp-only include files, starting with nsIFile.h and GeckoProfiler.h; r=ehsan 2013-09-10 15:45:16 -04:00
Nathan Froyd
0579fe5481 Bug 914826 - part 3 - forward-declare nsIFile for GetMinidump() declaration; r=ehsan 2013-09-10 15:35:51 -04:00
Nathan Froyd
ef5b2c6acc Bug 914826 - part 2 - rename builtinIncludes to builtinHeaderIncludes; r=ehsan 2013-09-10 15:34:44 -04:00
Nathan Froyd
92a447e6a7 Bug 914826 - part 1 - use static_assert instead of COMPILE_ASSERT in IPCMessageStart.h; r=ehsan 2013-09-10 15:07:10 -04:00
Chris Kitching
b3fd693d20 Bug 913985: Part 5 - Refactor the Bridge to use the generated code. r=kats 2013-09-27 10:10:37 -04:00
Kartikaya Gupta
7f22c5c405 Back out d9bdfdfda06e to dd17e0758a00 (bug 913985) due to incorrect author on some of the patches. r=backout
--HG--
rename : build/annotationProcessors/AnnotationInfo.java => build/annotationProcessors/MethodWithAnnotationInfo.java
rename : build/annotationProcessors/utils/AlphabeticAnnotatableEntityComparator.java => build/annotationProcessors/utils/AlphabeticMethodComparator.java
rename : build/annotationProcessors/utils/GeneratableElementIterator.java => build/annotationProcessors/utils/GeneratableEntryPointIterator.java
rename : mobile/android/base/mozglue/generatorannotations/WrapElementForJNI.java => mobile/android/base/mozglue/GeneratableAndroidBridgeTarget.java
rename : mobile/android/base/mozglue/generatorannotations/OptionalGeneratedParameter.java => mobile/android/base/mozglue/OptionalGeneratedParameter.java
2013-09-27 10:25:23 -04:00
Chris Kitching
96d931b9eb Bug 913985: Part 5 - Refactor the Bridge to use the generated code. r=kats 2013-09-27 10:10:37 -04:00
Gregory Szorc
9d660cc01b Bug 921070 - Remove precompile tier; r=glandium
It made sense at the time. We now have inverted tiers and will soon have
derecursified building. This doesn't make sense any more.
2013-09-26 16:05:10 -07:00
Benoit Girard
a9670206fe Bug 919712 - Add labels in IPC message wait. r=benjamin 2013-09-24 11:40:01 -04:00
David Zbarsky
ff4ab2e771 Bug 879475: Allocing an actor for a bridged or opened protocol should return bool r=jlebar
Conflicts:
	dom/ipc/ContentChild.cpp
	dom/ipc/ContentChild.h
2013-09-23 17:54:25 -04:00
Ehsan Akhgari
b4cc06df88 Bug 918923 - Part 2: Switch to #including nsString.h in code using the internal strings API; r=bsmedberg 2013-09-23 13:25:00 -04:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
677706cd20 Bug 771765 - Support template content process, part 8: process initialization flow changes. r=khuey
Changes initialization code for the template process:
* Let the process run for NUWA_PREPARATION_TIME ms and then start freezing the threads.
* Delay android binder thread pool creation after the content process is forked from the template and other thread recreation has finished.
* Poke the app shell after the content process is forked from the template.
2013-06-03 18:14:46 +08:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
1eb6567bb0 Bug 771765 - Support template content process, part 7: Don't schedule timer in the message pump if template process is ready. r=khuey 2013-06-03 18:14:44 +08:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
d6da7b763f Bug 771765 - Support template content process, part 6: support re-creation of the threads created in the template process. r=khuey, r=jorendorff
The threads that are frozen/recreated include:
* ImageBridgeChildThread.
* Image decoding thread pool.
* IPC thread (checkpointed, but not frozen).
* GC Helper thread.
* XPC runtime watchdog thread.
* Socket transport service thread/thread pool.
* Memory pressure watcher.
* Timer thread.
* DOM promise worker.
2013-06-03 18:14:42 +08:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
3adf8353b4 Bug 771765 - Support template content process, part 4: Clone IPC protocol objects that will be up when the template process is ready. r=khuey, r=bent 2013-06-03 18:14:37 +08:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
8ec656a38c Bug 771765 - Support template content process, part 3: IPC glue and IPDL codegen to support protocol cloning. r=bent 2013-05-31 21:16:57 +08:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
7d20b19ad7 Bug 771765 - Support template content process, part 2: IPC and glue changes. r=bent
Changes include:
* Getting/resetting platform thread ID.
* Creating an IPC channel with existing file descriptor sent from the template process.
* Child process host with existing process forked from the template.
2013-05-31 21:16:54 +08:00
Nathan Froyd
288be756b6 Bug 909922 - don't pragma pack ipc message headers; r=bent
The IPC::Message header is surrounded by:

#pragma pack(push,2)
...
#pragma pack(pop)

which (at least on GCC) specifies that structure members defined lexically
within the pragma should be two-byte aligned, rather than the ABI's declared
alignment.

But for IPC::Message::Header, this is a silly requirement, as everything there
is four bytes; there's no reason to pack the members any tighter.  And packing
tighter means that strict alignment platforms (like ARM) need to use more
complex code for something as simple as storing to one of the members--like
when we set a message's request ID, over and over and over.  The current code
for setting a message's request ID on ARM looks like:

     264:	6863      	ldr	r3, [r4, #4]
     266:	696a      	ldr	r2, [r5, #20]
     268:	809a      	strh	r2, [r3, #4]
     26a:	0c12      	lsrs	r2, r2, #16
     26c:	80da      	strh	r2, [r3, #6]

With the patch, it looks like:

     264:	6863      	ldr	r3, [r4, #4]
     266:	696a      	ldr	r2, [r5, #20]
     268:	605a      	str	r2, [r3, #4]

Only four bytes, but multiplied over several hundred set_routing_id calls, it
saves some code size and runtime.  I verified that the header's length doesn't
change by looking at debug information.
2013-08-27 16:32:44 -04:00
Ryan VanderMeulen
c22b2b3980 Merge m-c to b2g-inbound. 2013-09-12 20:41:54 -04:00
Benjamin Smedberg
8b46e74436 Bug 800347 - Try clearing RPCChannel in the destructor so that the dequeue task is cancelled properly, r=dvander 2013-09-12 14:24:17 -04:00
Jed Davis
7c8f4c7a6a Bug 915129 - Don't link in epoll_sub.c from libevent on Android or B2G. r=bent 2013-09-12 11:08:50 -04:00
Shelly Lin
3fe9b98681 Bug 911009 - Add error handling for state of ChannelError when opening a ProcessLink. r=cjones 2013-09-06 10:53:15 +08:00
Mark Hammond
e90f00e83f Bug 914902 - remove printf as child process closes. r=cjones 2013-09-12 09:14:34 +10:00
Nicholas Nethercote
9d1d4e73b0 Bug 910517 (3rd attempt) - Remove nsIMemoryReporter, and rename nsIMemoryMultiReporter as nsIMemoryReporter. r=mmcr8.
--HG--
rename : content/canvas/src/WebGLMemoryMultiReporterWrapper.h => content/canvas/src/WebGLMemoryReporterWrapper.h
extra : rebase_source : 2b2a1b2667d6562fcf803ec48b4a8c10fdd519a3
2013-08-27 16:24:51 -07:00
Ms2ger
614277f4ef Bug 913953 - Part ab: Remove unused WriteInto function; r=ehsan 2013-09-10 09:03:37 +02:00
Ms2ger
7910bbcac5 Bug 913953 - Part aa: Remove unused GetNonClientMetrics function; r=ehsan 2013-09-10 09:03:37 +02:00
Ms2ger
c93c8b59cd Bug 913953 - Part z: Remove unused GetServicePackLevel function; r=ehsan 2013-09-10 09:03:37 +02:00
Ms2ger
d71ed8d439 Bug 913953 - Part y: Remove unused AddAccessToKernelObject function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
0ed20c1289 Bug 913953 - Part x: Remove unused GetUserSidString function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
39264ad0a6 Bug 913953 - Part w: Remove unused GetLogonSessionOnlyDACL function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
33b7b4f37d Bug 913953 - Part v: Remove unused HWND subclassing functions; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
2bce033d67 Bug 913953 - Part u: Remove unused HWND user data functions; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
dcd9cd389a Bug 913953 - Part t: Remove unused HWND creation/destruction functions; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
063f3fbad0 Bug 913953 - Part s: Remove unused UserAccountControlIsEnabled function; r=ehsan 2013-09-10 09:03:36 +02:00
Ms2ger
472ca8bef5 Bug 913953 - Part r: Remove unused GetClassName function; r=ehsan 2013-09-10 09:03:36 +02:00