Commit Graph

509 Commits

Author SHA1 Message Date
David Anderson
f93649bf3c Remove bogus assert in RPC calls (bug 937216, r=cjones). 2013-12-05 15:06:29 -08:00
Mike Hommey
d83ce2a599 Bug 942031 - Don't link against the js engine when there's no need to. r=mshal 2013-11-24 08:18:50 +09:00
Nathan Froyd
90298e4466 Bug 939109 - remove stray debugging statement; r=ehsan 2013-11-15 10:15:53 -05:00
Mike Hommey
931cb49886 Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
db9e5129bc Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey
f0d1cd1e10 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
f81885e53b Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Nathan Froyd
15ba3d1b1f Bug 918651 - part 10 - remove the |USING CxxType| rule from the IPDL grammar; r=ehsan 2013-10-18 15:04:07 -04:00
Nathan Froyd
ccdd4fb35d Bug 918651 - part 8 - remove redundant includes from IPDL files; r=ehsan
These include statements have been made redundant by all the qualifications
to the using statements.
2013-10-18 13:34:08 -04:00
Nathan Froyd
8e3d023792 Bug 918651 - part 7 - place includes intelligently in generated IPDL files; r=bent
This is where the magic starts to happen.  We move includes from the base
protocol header (${NAME}.h) to the parent and child headers (${NAME}Parent.h
and ${NAME}Child.h) to follow good include hygiene.

For the base protocol header, we examine the set of types used by struct and
union definitions to determine which headers we need to include.

For parent and child headers, we forward declare what we can and include
appropriate headers otherwise.  For forward-declared types, we include the
appropriate headers in the parent and child source files.
2013-10-01 12:55:42 -04:00
Nathan Froyd
2112ca2985 Bug 918651 - part 6 - add unqualifiedTypedefs parameter to _ComputeTypeDeps; r=ehsan
When computing what set of includes a header file needs, we need to know
about all types that protocol-defined types use, not just qualified
ones: both global-scope names and same-namespace-as-protocol names are
valid to use without any sort of qualification.  This flag would normally
not be used in generating actual C++ code and therefore defaults to False.
2013-10-18 12:08:10 -04:00
Nathan Froyd
e2ede970d2 Bug 918651 - part 5 - qualify all IPDL using statements with required header; r=ehsan 2013-10-01 15:25:07 -04:00
Nathan Froyd
d556a7d083 Bug 918651 - part 4 - add keyword arguments to _makeForwardDeclForQClass; r=ehsan
We're going to need these later when we hand-roll our own forward declarations
for classes and structs.
2013-10-01 12:02:57 -04:00
Nathan Froyd
e286ae8b77 Bug 918651 - part 3 - add optional |from header| qualification to using statements in ipdl; r=bent 2013-09-23 21:20:18 -04:00
Nathan Froyd
d7d30f0b4a Bug 918651 - part 2 - don't munge the translation unit's headers; r=ehsan
Keep the builtin headers separate from the translation unit's headers.
We do this so when we start twiddling with the translation unit's headers,
we don't have to handle cases where those headers are actually builtin
headers.
2013-10-01 11:42:50 -04:00
Nathan Froyd
973f5e7322 Bug 918651 - part 1 - remove unnecessary using statements from IPDL files; r=ehsan 2013-10-18 14:48:13 -04:00
Mike Hommey
45f0482824 Bug 864774 part 3 - Move some more CPPSRCS to moz.build. r=mshal 2013-10-30 07:51:03 +09:00
Mike Hommey
cf2b1d71d9 Bug 930896 - Keep track of files generated by a build backend. r=gps 2013-10-29 08:00:30 +09:00
Mike Hommey
d49305a881 Bug 930350 - Fix --enable-ipdl-tests build. r=gps. DONTBUILD because NPOTB 2013-10-25 08:39:45 +09:00
Mike Hommey
f1c0c07862 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Brian O'Keefe
0cbcd904c7 Bug 928709 - Convert chromium-config.mk to mozbuild, r=mshal 2013-10-02 13:17:55 -04:00
Mike Hommey
80c623bb6a Bug 921492 - Make StrictOrderingOnAppendList use actual alphabetical sorting. r=mshal,r=gps 2013-10-24 08:05:43 +09:00
Daniel Holbert
3c8b2d8dd4 Bug 925243: Mark ipc/ipdl as FAIL_ON_WARNINGS. r=ehsan 2013-10-10 13:44:13 -07:00
Cervantes Yu
5d06311c30 Bug 922461: fix unused variable in CloneManagees() of actors that doesn't manage other protocols. r=bent 2013-10-10 09:17:01 -07:00
Nathan Froyd
7289391ff5 Bug 924410 - don't generate typedefs in Message subclasses; r=ehsan
There's no reason for them to be there, since Message subclasses are nothing
more than a constructor and a logging method.
2013-10-01 12:50:18 -04:00
Ms2ger
df62fb8b0f Bug 900980 - Part a: Move unconditional assignments to EXPORT_LIBRARY to moz.build; rs=gps 2013-10-03 09:11:13 +02:00
Nathan Froyd
afbaf51de8 Bug 921563 - part 2 - delete typedefs and using statements from global scope in IPDL C++ files; r=gps 2013-09-27 13:14:47 -04:00
Nathan Froyd
9126a16e06 Bug 921563 - part 1 - declare return types in IPDL C++ with C++0x late return syntax; r=gps
Every IPDL C++ class contains a bunch of typedefs.

Every IPDL C++ source file contains a bunch of typedefs and using statements
for the exact same types.

Why is that?

Because the class itself is not in scope for name lookup of return types of C++
methods.  This limitation is annoying, but it makes sense.  The typedefs and
using statements therefore exist so we can be a little sloppy about return
types.

Let's stop being sloppy and polluting the global namespace inside these
files.  Less pollution makes it easier to smash the IPDL files together for
unified compilation.  One could do this by qualifying all necessary return
types...or we could just use the C++0x late return syntax, which guarantees the
class *is* in scope for name lookup.  I like this version a lot better.
2013-09-27 13:50:20 -04:00
David Anderson
9af725998a Introduce new RPC messaging semantics (bug 910493 part 1, r=cjones). 2013-10-01 09:15:03 -07:00
David Anderson
9579f654ae 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
ec406ac440 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
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E)
1e916930c1 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
David Anderson
8cd94ee096 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
Nathan Froyd
ddb736dd1b 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
1d1dd733fb 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
6bdac65643 Bug 914826 - part 3 - forward-declare nsIFile for GetMinidump() declaration; r=ehsan 2013-09-10 15:35:51 -04:00
Nathan Froyd
821302bd95 Bug 914826 - part 2 - rename builtinIncludes to builtinHeaderIncludes; r=ehsan 2013-09-10 15:34:44 -04:00
Nathan Froyd
4ff7ade093 Bug 914826 - part 1 - use static_assert instead of COMPILE_ASSERT in IPCMessageStart.h; r=ehsan 2013-09-10 15:07:10 -04:00
Gregory Szorc
2b2720f0c8 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
David Zbarsky
68058a840f 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
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Brian O'Keefe
b0a1c0a276 Bug 875934 - Move LIBRARY_NAME to moz.build, batch 4; r=mshal 2013-08-15 09:12:40 -04:00
Brian O'Keefe
0ee041b9fd Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
David Anderson
86124d9cd4 Don't deadlock on a child process for a CPOW (bug 905896, r=cjones). 2013-08-26 21:56:57 -07:00
Birunthan Mohanathas
ee5104f639 Bug 784739 - Switch from NULL to nullptr in ipc/. r=ehsan 2013-08-23 15:51:44 -04:00
Nathan Froyd
b2bbf2c192 Bug 908208 - part 3 - move guts of FatalError out-of-line to ProtocolUtils.cpp; r=bent 2013-08-22 10:39:32 -04:00
Nathan Froyd
c20b3ef050 Bug 908208 - part 2 - declare FatalError as MOZ_NEVER_INLINE rather than virtual; r=bent 2013-08-22 10:06:50 -04:00
Nathan Froyd
6f0d0a5670 Bug 908208 - part 1 - add support for MOZ_NEVER_INLINE to MethodDecl; r=bent 2013-08-22 10:06:21 -04:00
Ms2ger
8085d723ed Bug 883284 - Part d: Move LIBXUL_LIBRARY into moz.build (f-j); r=bsmedberg 2013-08-22 08:56:00 +02:00
David Zbarsky
be2cac7179 Bug 879475 - Rename the MsgStart messages to MsgStartChild for child protocols r=jlebar 2013-08-20 15:46:41 -04:00