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

1208 Коммитов

Автор SHA1 Сообщение Дата
Nika Layzell b8ffcd26b0 Bug 1440511 - Part 11: Switch to calling IPDLParamTraits directly when pickling and unpickling messages, r=froydnj
MozReview-Commit-ID: 1t4oIp5JWcU
2018-03-05 16:00:04 -05:00
Nika Layzell 4cfd1b17fa Bug 1440511 - Part 10: Implement IPDLParamTraits for IPDL generated types, r=froydnj
MozReview-Commit-ID: 2ljPFJKM9Fg
2018-03-05 16:00:04 -05:00
Nika Layzell 68cee68ee8 Bug 1440511 - Part 9: Correct serialization and deserialization of arrays of Shmem objects, r=froydnj
MozReview-Commit-ID: KEFduw2Pn8r
2018-03-05 16:00:03 -05:00
Nika Layzell ea516e7fbb Bug 1440511 - Part 7: Include c++ includes in ipdlh generated .cpp files, r=froydnj
This is important as these includes are often used to define ParamTraits
implementations which are needed to serialize struct members and
parameters. The place where the code which uses these implementations
will be moving from the protocol where they are used to the file where
the structs are defined, which means we need to includes these files
there.

MozReview-Commit-ID: H1wqgyv5mel
2018-03-05 16:00:03 -05:00
Nika Layzell 50056699b1 Bug 1440511 - Part 6: Support passing the fq flag to _cxxBareType in more places, r=froydnj
MozReview-Commit-ID: K1lkVr6KdZo
2018-03-05 16:00:02 -05:00
Nika Layzell 351767a407 Bug 1440511 - Part 2: Support specializations in _splitMethodDefn, r=froydnj
MozReview-Commit-ID: JFYgyUr4I4G
2018-03-05 16:00:01 -05:00
Nathan Froyd 062f6d980e Bug 1443236 - remove static init and shutdown nsRegion routines; r=kats
These routines are no-ops; let's get rid of them.
2018-03-05 14:06:50 -05:00
Nika Layzell 785a14270e Bug 1431867 - Part 2: Add move constructors and assignment operators to IPDL unions, r=mccr8
MozReview-Commit-ID: IQVODEfMGi9
2018-02-01 11:30:50 -05:00
Nika Layzell a1e4513e2a Bug 1431867 - Part 1: Remove some unnecessary complexity from generated IPDL structs, r=mccr8
MozReview-Commit-ID: HvX4ZF8t9Eg
2018-02-01 11:30:49 -05:00
Noemi Erli 7df180b6ad Backed out 2 changesets (bug 1431867) for build bustages on ClientSourceOpChild.cpp:57:12 on a CLOSED TREE
Backed out changeset 4cdb114a46f9 (bug 1431867)
Backed out changeset b5a46d76193b (bug 1431867)
2018-01-31 22:15:54 +02:00
Nika Layzell 08119d282a Bug 1431867 - Part 2: Add move constructors and assignment operators to IPDL unions, r=mccr8
MozReview-Commit-ID: IQVODEfMGi9
2018-01-31 14:40:36 -05:00
Nika Layzell c9e0af69b6 Bug 1431867 - Part 1: Remove some unnecessary complexity from generated IPDL structs, r=mccr8
MozReview-Commit-ID: HvX4ZF8t9Eg
2018-01-31 14:40:35 -05:00
David Parks cc15f3d517 Bug 1382251: Part 8 - Migrate some previously hooked functions to FunctionHook/Broker; r=jimm,froydnj
Moves GetWindowInfo, GetKeyState, SetCursorPos, GetSaveFileNameW and GetOpenFileNameW to the new FunctionHook and FunctionBroker systems.
2017-11-06 11:07:16 -08:00
David Parks 93bbbac8e4 Bug 1382251: Part 6 - Start/stop new top-level brokering actors on their own threads; r=jld
The FunctionBroker actors allow the NPAPI process (child) to run methods on the main process (parent).  Both the parent and the child run dedicated threads for this task -- this is a top-level protocol.
2017-11-06 10:29:15 -08:00
Chris Peterson 1a33f28694 Bug 1428984 - Part 3: Remove unused inline flag. r=froydnj
inline is never set so cgen never emits inline.

MozReview-Commit-ID: BDL6BV8906t

--HG--
extra : rebase_source : aa51cda34db36ba08622d9940402cea14617c74a
2018-01-12 21:14:53 -08:00
Chris Peterson caaf1b568c Bug 1428984 - Part 2: Remove unused never_inline flag. r=froydnj
never_inline is never set so cgen never emits MOZ_NEVER_INLINE.

MozReview-Commit-ID: HS7qw7D4lBC

--HG--
extra : rebase_source : 2eae9e3a7a0c95d94986283fabe670d5decec3c3
2018-01-12 21:12:07 -08:00
Chris Peterson 428b284e8d Bug 1428984 - Part 1: Consolidate virtual, pure, override, and static MethodDecl types into an MethodSpec enum. r=froydnj
pure or override implies virtual. static is mutually exclusive with virtual (and pure and override). Combining these types into a "method specifier" enum simplifies the code and prevents bogus states like virtual=0 and pure=1.

MozReview-Commit-ID: IFeuvbp1RIo

--HG--
extra : rebase_source : d423d168a8b3a3d60cabd0f5e58fd03c6f655baf
2018-01-09 00:10:02 -08:00
Chris Peterson 32cf7b1a07 Bug 1428535 - Part 3: Emit override specifiers in generated ipc/ipdl code. r=froydnj
MozReview-Commit-ID: 2mpQcRKzfCo

--HG--
extra : rebase_source : 70844a95a8dfbb9e1d3a9bd177987f32e57a22b2
extra : intermediate-source : eba2f29350c39acede276e505ef6aa7337ba7f2a
extra : source : fafaa4d1e1a4cf2da4459c55927e5bd67f870cb0
2017-10-12 00:07:35 -07:00
Sylvestre Ledru 5de63ef061 Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 5orfnoude7h

--HG--
extra : rebase_source : 1ed9a6b56e1d27221a07624767a7fb0e6147117f
2017-12-08 13:46:13 +01:00
Eric Rahm 07c97a5afe Bug 1423773 - Part 1: Remove usage of nsStringGlue.h. r=glandium
This removes an unnecessary level of indirection by replacing all
nsStringGlue.h instances with just nsString.h.

--HG--
extra : rebase_source : 340989240af4018f3ebfd92826ae11b0cb46d019
2017-12-06 16:52:51 -08:00
Ben Kelly fb38b7b228 Bug 1423412 P1 Actually mark window/worker ClientSource objects controlled when loaded with a controlling service worker. r=baku r=jld 2017-12-05 20:45:22 -05:00
Andrew McCreight f69cf04a33 Bug 1419455, part 3 - Remove the unused return value for the upgrade() methods. r=kanru
Also ensure we're more consistent about having two blank lines after these methods.

MozReview-Commit-ID: 2SXXjDuMW4u

--HG--
extra : rebase_source : 05279ceab3aa32d1e577ea02ccd113180bb55792
2017-11-21 08:45:20 -08:00
Andrew McCreight 65015439d9 Bug 1419455, part 2 - Clean up standardTypedefs. r=kanru
There's already a typedef for MessageChannel, so use that instead of
Channel. Also, use IProtocol and not ProtocolBase or ChannelListener,
for simplicity.

MozReview-Commit-ID: 2zCjTpPTW4L

--HG--
extra : rebase_source : eed8d6d51a512ac85f6b4962fc12591bf81c2981
2017-11-21 08:27:32 -08:00
Andrew McCreight 1bae204066 Bug 1419455, part 1 - Inline _semsToChannelParts. r=kanru
This method is now trivial, so we can inline a few things.  This
removes the only callers of sendSems(), so remove that, too.

MozReview-Commit-ID: Bb4EF9M56ut

--HG--
extra : rebase_source : dedf31aa225361e31122362aefc76940edbf25f3
2017-11-21 08:15:51 -08:00
Jeff Muizelaar fba16646be Bug 1379680. Add an ipc ByteBuf type. r=billm
This adds a ByteBuf type that can be sent by taking
ownership of its buffer instead of having to make a copy.
2017-11-29 10:11:15 -05:00
Gabriele Svelto ef3b2f88cc Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm
MozReview-Commit-ID: 4mDW7cJqHDn

--HG--
extra : rebase_source : 17c51ed796733d4a512e1d6f47273318dcc26b11
2017-10-10 12:06:35 +02:00
shindli fb855aa7ba Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto f0b9eb9ff9 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from ipc; r=billm
MozReview-Commit-ID: 4mDW7cJqHDn

--HG--
extra : rebase_source : a13301f4faea301cd528179790f2430171f59a48
2017-10-10 12:06:35 +02:00
Andrew McCreight f966d52048 Bug 1417657 - Add basic test for prio(). r=bkelly
MozReview-Commit-ID: AigSKc2EKGr

--HG--
extra : rebase_source : c2580693dcacf97fb8701d28e5d20cba3508997e
2017-11-15 13:29:56 -08:00
Nika Layzell b4c0dcb142 Bug 1418048 - Part 3: Accept callbacks passed to async-returning SendXXX methods as rvalue references on a CLOSED TREE, a=bustage
MozReview-Commit-ID: 7M1uuWr0fMM
2017-11-20 19:11:48 -05:00
Nika Layzell 8c139d50a6 Bug 1418048 - Part 2: Pass callbacks by rvalue reference when possible, a=bustage
MozReview-Commit-ID: 4KsbRJ9AEdB
2017-11-20 18:12:21 -05:00
Nika Layzell a7666fd8fe Bug 1418048 - Add a callback-based Send API to async returning IPDL methods, r=billm
Currently if you write an async IPDL method which has a return value, we expose
a SendXXX method which returns a MozPromise. This MozPromise can then be
->Then-ed to run code when it is resolved or rejected.

Unfortunately, using this API loses ordering guarantees which IPDL provides.
MozPromise::Then takes an event target, which the resolve runnable is dispatched
to. This means that the resolve callback's code doesn't have any ordering
guarantees relative to the processing of other IPC messages coming over the same
protocol.

This adds a new overload to SendXXX with two additional arguments, a lambda
callback which is called if the call succeeds, and a lambda callback which is
called if the call fails. These will be called in order with other IPC messages
sent over the same protocol.

MozReview-Commit-ID: FZHJJaSDoZy
2017-11-20 17:55:32 -05:00
sotaro 551a052a4a Bug 1410766 - Re-acquireDevices in gpu process when SimulateDeviceReset() is called r=dvander 2017-11-03 17:06:37 +09:00
Chris Peterson 1df202b177 Bug 1412048 - Replace NS_RUNTIMEABORT("...") with MOZ_CRASH("..."). r=froydnj
And remove unreachable code after MOZ_CRASH().

MozReview-Commit-ID: 6ShBtPRKYlF

--HG--
extra : rebase_source : 0fe45a59411bda663828336e2686707b550144ae
extra : source : 8473fd7333d2abe1ea1cc176510c292a5b34df45
2017-10-24 23:30:31 -07:00
sotaro 8d85c3d52b Bug 1405952 - Remove PWebRenderBridge::SetDisplayListSync r=kats,kanru 2017-10-20 19:48:57 +09:00
Nicholas Nethercote 8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Gian-Carlo Pascutto bc7dfc9353 Bug 1382323 - Remote OSProtocolHandlerExists. r=jld,smaug
MozReview-Commit-ID: Gml7cjbgUvK

--HG--
extra : rebase_source : 6ee7dfc8b5c05aec1ed268011fbec2ef64760554
2017-09-04 21:48:59 +02:00
Benjamin Smedberg ce00e2cd37 Bug 1352567 - Remove plugin IPC code to support stream types other than NP_NORMAL (seekable and/or file streams), r=jimm
MozReview-Commit-ID: FWl2gcpKy6D
2017-10-02 14:54:22 -07:00
Kan-Ru Chen 9016ef6cef Bug 1397456 - Always use static name for ipc messages r=billm
Never store names in Message. One can get string names from
Message::name() or use IPC::StringFromIPCMessageType() when only
message id is available.

MozReview-Commit-ID: 15ksx6SE90c

--HG--
extra : rebase_source : 1a041dc365b7f42edd540d8c7a4dfd8912e48921
2017-09-14 16:08:57 +08:00
Nathan Froyd 37cbcb454b Bug 1397823 - part 4 - reduce codesize for IPDL IPC::Message creation; r=kanru
Each protocol in IPDL has a bunch of autogenerated functions that
instantiate IPC::Message with various parameters.  Each of these
functions, then:

1) Pays the cost of calling malloc()
2) Setting up various parameters
3) Calling IPC::Message()

There's no reason that we should be duplicating 1) across all of these
autogenerated functions.  In step 2), several of the parameters we're
setting up are common across all or nearly all calls: the message
segment size is almost always zero, and we're always indicating that
IPDL-generated messages should be recorded in telemetry.

Instead of duplicating that code several thousand times, we can add a
small helper function that takes the only interesting parameters for an
IPDL message.  This helper function can then deal with calling malloc in
a single place and setting up the common parameters.  For messages that
require a custom segment size, we'll have to use the old scheme, but
such messages are uncommon.

The previous changes are not required for this scheme to work, but they
do help significantly, as the helper function (Message::IPDLMessage) can
now take four parameters, which ensures that its arguments are passed
solely in registers on Win64 and ARM.  The wins from this change are
also larger than they would be without the previous parts: ~100K on
x86-64 Linux (!)  and ~80K on ARM Android.
2017-09-15 08:06:11 -04:00
Nathan Froyd a697f87d36 Bug 1397823 - part 3 - do a better job setting IPC::Message flags; r=kanru
The current IPC::Message constructor takes a large number of arguments,
three of which--the nesting level, the priority, and the
compression--are almost always constant by virtue of the vast majority
of Message construction being done by auto-generated IPDL code.  But
then we take these constant values into the Message constructor, we
check them for various values, and then based on those values, we
perform a bunch of bitfield operations to store flags based on those
values.  This is wasted work.

Furthermore, for replies to IPDL messages, we'll construct a Message
object, and then call mutating setters on the Message object that will
perform even more bitfield manipulations.  Again, these operations are
performing tasks at runtime that are the same every single time, and use
information we already have at compile time.

The impact of these extra operations is not large, maybe 15-30K of extra
code, depending on platform.  Nonetheless, we can easily make them go
away, and make everything cleaner to boot.

This patch adds a HeaderFlags class that encapsulates all the knowledge
about the various kinds of flags Message needs to know about.  We can
construct HeaderFlags objects with strongly-typed enum arguments for the
various kinds of flags, and the compiler can take care of folding all of
those flags together into a constant when possible (and it is possible
for all the IPDL-generated code that instantiates Messages).  The upshot
is that we do no unnecessary work in the Message constructor itself.  We
can also remove various mutating operations on Message, as those
operations were only there to support post-constructor flag twiddling,
which is no longer necessary.
2017-09-15 08:06:11 -04:00
Nathan Froyd c726125099 Bug 1397823 - part 2 - tidy _generateMessageConstructor enums a little; r=kanru
There's no need to be repeating 'IPC::Message::' prefixes or spreading
around more ExprVar calls than we need here.  Let's try to improve the
signal-to-noise ratio of this code by introducing a helper function to
inject some of the boilerplate for us.
2017-09-15 08:06:11 -04:00
Nathan Froyd f4a054ab8d Bug 1397823 - part 1 - move work into _generateMessageConstructor; r=kanru
_generateMessageConstructor takes a lot of `md.FOO`-style parameters,
which could be derived inside the function by simply passing `md`.
Especially with the upcoming changes to calculate things like reply-ness
of messages, sync-ness, etc, we'd be wanting to pass even more
parameters like `md.FOO`.  So let's just pass `md` in, and then we can
make all the necessary future changes in a single place.
2017-09-15 08:06:11 -04:00
J.C. Jones 554acaea86 Bug 1245527 - Remove NSS U2F SoftToken. r=ttaubert, r=jed
The nsIU2FToken and its implementors are no longer needed; the soft token was
re-implemented into dom/webauthn/U2FSoftTokenManager.cpp during the WebAuthn
implementation. When the dom/u2f/ code changed to the implementation from
WebAuthn, the old synchronous version became dead code.

This patch removes the dead code.

MozReview-Commit-ID: 2yDD0tccgZr

--HG--
extra : rebase_source : 0f14d8de8f62599a41c13aa4d8fc9cdbc1fd79c7
2017-09-05 12:32:42 -07:00
Phil Ringnalda 2dba33e427 Backed out 3 changesets (bug 1245527) for ASan browser-chrome leaks and Android mochitest bustage
Backed out changeset 8ee1f7aebd62 (bug 1245527)
Backed out changeset e6a5de8d1246 (bug 1245527)
Backed out changeset be63e73426b4 (bug 1245527)

MozReview-Commit-ID: AU22LgPh9iB
2017-09-09 00:09:21 -07:00
J.C. Jones 9ade50e63c Bug 1245527 - Remove NSS U2F SoftToken. r=ttaubert, r=jed
The nsIU2FToken and its implementors are no longer needed; the soft token was
re-implemented into dom/webauthn/U2FSoftTokenManager.cpp during the WebAuthn
implementation. When the dom/u2f/ code changed to the implementation from
WebAuthn, the old synchronous version became dead code.

This patch removes the dead code.

MozReview-Commit-ID: 2yDD0tccgZr

--HG--
extra : transplant_source : %B3%96Te%E7%02%08%98%1A%B2%FA%1C%40%C4J%BC%B2%85j%81
2017-09-05 12:32:42 -07:00
Bill McCloskey 95968309c5 Bug 1397506 - IPDL unit test fix (r=kmag)
MozReview-Commit-ID: 96el4jm6WBS
2017-09-07 22:31:34 -07:00
Nicolas Silva 09e43ac029 Bug 1393031 - Expose webrender transactions at the ipc boundary. r=jrmuizel, r=kanru 2017-09-04 13:59:26 +02:00
Kris Maglione 616f60eb84 Bug 1255894: Part 9 - Allow returning non-copyable types in async IPDL methods. r=kanru
Certain types (such as Shmem and Endpoint types) cannot be copied, and need to
be moved when passed around. When used with MozPromises, that means that the
promise needs to be non-shareable, and the resolve functions need to use the
correct ref qualifiers.

MozReview-Commit-ID: Kt4WZNsDErK

--HG--
extra : rebase_source : 5a96f9844df1646482aa223edf5081de9d5fc976
2017-08-27 18:57:30 -07:00
Henry Chang 25f77bb74d Bug 1349255 - Part 1: Make PBrowser.NotifyIMEFocus async to avoid UI jank. r=kanru,masayuki
Telemetry and some performance profiles show that Msg_NotifyIMEFocus can take
a few seconds to complete, and jank the browser. With bug 1217700, it removes
the necessity of sync Msg_NotifyIMEFocus, so in this patch we make this async
for performance improvement.

MozReview-Commit-ID: 15eUwMJ2Q7H

--HG--
extra : rebase_source : b463e6e881ca5ebec00d0f76e29ca103059b3ddd
2017-05-08 19:07:56 +08:00
Stone Shih de7f705042 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Stone Shih 7de447a25a Backed out changeset 46d8f42863af (bug 1351148) 2017-08-11 15:19:44 +08:00
Stone Shih 9d1d77d849 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Jan Varga ceff0f7d8f Bug 1350637 - Part 1: Move PStorage stubs from PContent to PBackground; r=asuth r=billm
--HG--
rename : dom/storage/PStorage.ipdl => dom/storage/PBackgroundStorage.ipdl
2017-08-08 22:56:49 +02:00
Nicholas Nethercote 96045fda51 Bug 1382955 (part 3) - Remove a bunch of unused HAL stuff. r=gsvelto,kanru. 2017-08-02 10:09:32 +10:00
Carsten "Tomcat" Book 28bdd40776 Merge mozilla-central to mozilla-inbound 2017-07-28 09:48:24 +02:00
Carsten "Tomcat" Book de369deb98 Backed out changeset 284af26c1b53 (bug 1351148) 2017-07-28 09:20:27 +02:00
Nathan Froyd f8bedda41c Bug 1384713 - remove unused *MsgStartChild constants; r=billm
We only ever use these for passing them into Endpoint construction.
Let's remove them.  Removing them also shows that the corresponding
field in Endpoint is essentially read-only, so we can completely avoid
passing in protocol IDs to Endpoint.
2017-07-27 13:32:15 -04:00
Kyle Machulis 2c4c8a9654 Bug 1382788 - Remove GetBlocklistState IPC message; r=bsmedberg
We removed all uses of GetBlocklistState in bug 1350640. This patch
removes the message and supporting functions from the PContent IPDL.

MozReview-Commit-ID: 4JtGAWZ0nPu

--HG--
extra : rebase_source : 4eb3c21e3768e9d8284d4eec129e099be5ef17d0
2017-07-20 12:57:01 -07:00
Andrew McCreight 5729273ca7 Bug 1383881 - Fix sync message whitelist for PTestPriority. r=billm
This protocol was changed in bug 1351148, but the whitelist was not
updated.

MozReview-Commit-ID: Btl5633et9T

--HG--
extra : rebase_source : 0ce70a649c83213a8a47e1b08c06d7d5743a9842
2017-07-24 13:19:03 -07:00
Henry Chang 53ee190096 Bug 1380974 - Use custom size for small frequent messages. r=billm
Since the default size is 64, we only care about message size which is > 64 bytes.

MozReview-Commit-ID: 2vUpcaUjlNP

--HG--
extra : rebase_source : 946ae82f8fc2febd05d8fc4323145643ec97b306
2017-07-20 11:37:09 +08:00
Ryan VanderMeulen f4e3a91992 Merge m-c to inbound. a=merge 2017-07-21 09:40:28 -04:00
Samael Wang e90e4d4b15 Bug 1350643 - Part 7: Remove sync GetDPI/DefaultScale/WidgetRounding. Use primary screen's value until RecvShow. r=kanru
MozReview-Commit-ID: GlDMNecWp3j

--HG--
extra : rebase_source : 1f8573df8845c100172f41febc5a84bbcd069769
2017-05-19 18:20:18 +08:00
Kevin Chen 91dc0db35c Bug 1364563 - Add a path for content process only device reset. r=dvander 2017-07-18 23:09:00 -04:00
dan1bh de45c53ef7 Bug 1352559 - Remove support for plugin-provided streams; NPN_NewStream, PPluginStream and other supporting machinery, r=bsmedberg
Removed API List:
* NPN_NewStream
* NPN_Write
* NPN_DestroyStream
* nsNPAPIStreamWrapper
* nsPluginStreamToFile
* PPluginStream.ipdl

MozReview-Commit-ID: 61dKGct3qGW

--HG--
extra : source : 999aa7b6683d7f0cf481f8dd0e8a9ba3dade4a05
extra : intermediate-source : cb1548354e0cf582dca6b0ab0d27712d01a4c819
2017-07-11 14:27:25 -04:00
Nicholas Nethercote 7f215371c0 Backed out changeset cb1548354e0c (bug 1352559, part 3) for causing *many* crashes in Nightly. r=backout 2017-07-17 09:41:29 +10:00
Stone Shih 9573b6e439 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Wes Kocher 33c2277e1f Merge m-c to inbound, a=merge
MozReview-Commit-ID: 7rfXDtMWy2C
2017-07-12 18:26:46 -07:00
dan1bh b62787e960 Bug 1352559 - Remove support for plugin-provided streams; NPN_NewStream, PPluginStream and other supporting machinery, r=bsmedberg
Removed API List:
* NPN_NewStream
* NPN_Write
* NPN_DestroyStream
* nsNPAPIStreamWrapper
* nsPluginStreamToFile
* PPluginStream.ipdl

MozReview-Commit-ID: 61dKGct3qGW

--HG--
extra : rebase_source : 1567d89d0735ca23c964a0c6691f9a117305641f
extra : source : 999aa7b6683d7f0cf481f8dd0e8a9ba3dade4a05
2017-07-11 14:27:25 -04:00
Sebastian Hengst 849284daf4 Backed out changeset 999aa7b6683d (bug 1352559) 2017-07-12 19:10:50 +02:00
dan1bh 88039d6fa3 Bug 1352559 - Remove support for plugin-provided streams; NPN_NewStream, PPluginStream and other supporting machinery, r=bsmedberg
Removed API List:
* NPN_NewStream
* NPN_Write
* NPN_DestroyStream
* nsNPAPIStreamWrapper
* nsPluginStreamToFile
* PPluginStream.ipdl

MozReview-Commit-ID: 61dKGct3qGW

--HG--
extra : rebase_source : 0e9be256f97be62efe376a3f70d579859592901f
2017-07-11 14:27:25 -04:00
Henry Chang 6d648badcb Bug 1348591 - Support custom default segment buffer list size. r=billm
MozReview-Commit-ID: 2Nkj6RPx62f

--HG--
extra : rebase_source : 4e763563e3f9e9927314e804ba4e0fbd291fc9e8
2017-06-21 17:55:13 +08:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
sotaro 1deee6448b Bug 1377024 - Add support of device reset test from about:support r=kats,dvander 2017-06-29 11:46:36 -07:00
Carsten "Tomcat" Book 5f00ae3a8b merge mozilla-inbound to mozilla-central a=merge 2017-06-29 15:47:04 +02:00
Carsten "Tomcat" Book 257a632d4b Merge mozilla-central to autoland on a CLOSED TREE 2017-06-28 16:33:00 +02:00
Carsten "Tomcat" Book ba466337dd Backed out changeset 4364536ae549 (bug 1343728) 2017-06-28 15:52:04 +02:00
Carsten "Tomcat" Book 6365f16e57 Backed out changeset a1e773337202 (bug 1350633) 2017-06-28 15:52:01 +02:00
Carsten "Tomcat" Book 45f2e51f0a Merge mozilla-central to autoland 2017-06-28 13:47:29 +02:00
Michael Layzell 3c82b8c224 Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm
MozReview-Commit-ID: Bql29wgVDZ5
2017-06-27 16:24:48 -04:00
Michael Layzell 31e36ee704 Bug 1343728 - Part 4: Remove the window creation sync IPC calls, r=billm, r=smaug
MozReview-Commit-ID: IWayDUWuRrf
2017-06-27 16:24:48 -04:00
Kartikaya Gupta 83a30f9ca7 Bug 1375497 - Add the new IPDL messages to sync-messages.ini. r=dvander
MozReview-Commit-ID: 72xnGBwbFb8

--HG--
extra : rebase_source : a4dbba8e5f4e3c3c44ead892d71fc4019d4fe734
2017-06-27 20:29:06 -04:00
Ryan Hunt db5f497c0f Bug 1351783 part 16 - Perform async scrolling for keyboard events when possible. r=kats,botond,dvander
This commit ties it all together by dispatching keyboard actions to scroll targets
in response to keyboard inputs when we have current and valid focus state.

MozReview-Commit-ID: G7rZiS3FH5e

--HG--
extra : rebase_source : 10129d417fe8ef576cac5bda3157dd8f65b5843a
extra : histedit_source : be651a33f787f68bc764988ddc073d346e854491
2017-06-05 19:46:06 -05:00
Ryan Hunt c1312e5abc Bug 1351783 part 12 - Create and sync focus sequence numbers. r=kats,botond,dvander
Focus can change at any moment in a document. This causes non-determinism and
correctness problems for doing keyboard apz scrolling. To get around this, we
will maintain deterministic behavior for focus changes initiated by input events
and see if we can get away with more non-determinism for things like `setTimeout`

In order to do this, we disable async keyboard scrolling when an input event is
processed that could have a event listener. We then attach a sequence number to
that input event and dispatch it to content. In content, we record the highest
sequence number that we have processed from an event, and send that on each focus
update. Using this, we can determine in APZ if we have a current focus target or
if we are still waiting for an input event to be processed and focus to be
reconfirmed.

MozReview-Commit-ID: CWcu8YEFQz4

--HG--
extra : rebase_source : 8c54a619bd4f5ee892f0cc8768a10f3e1e4e0b59
extra : histedit_source : 601ca293a028787883841adc6b40e62c0cc829e5
2017-06-05 19:45:31 -05:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Michael Layzell 17143c4e93 Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm
MozReview-Commit-ID: Bql29wgVDZ5
2017-06-28 12:25:32 -04:00
Michael Layzell 83cff4de78 Bug 1343728 - Part 4: Remove the window creation sync IPC calls, r=billm, r=smaug
MozReview-Commit-ID: IWayDUWuRrf
2017-06-28 12:25:30 -04:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Wes Kocher b9d43d4afd Backed out 4 changesets (bug 1343728) for failures in test_group_mouseevents.html a=backout
Backed out changeset 2029cb6bce86 (bug 1343728)
Backed out changeset 0169e09f6030 (bug 1343728)
Backed out changeset 831e95b29f66 (bug 1343728)
Backed out changeset d5630ef01b17 (bug 1343728)

MozReview-Commit-ID: 2RRBTmp5FGj
2017-06-21 17:13:49 -07:00
Wes Kocher 0439cd545d Backed out changeset 36d662fbab77 (bug 1350633) for failures in test_group_mouseevents.html a=backout
MozReview-Commit-ID: Gh9eflBppgq
2017-06-21 17:12:20 -07:00
David Anderson aa1457713c Allow IPDL message sends to be deferred and re-sent as needed. (bug 1369529 part 2, r=billm)
--HG--
extra : rebase_source : 46d2af94da6b38e8c2fe70fd4566650d8cec8fe4
2017-06-21 13:40:18 -07:00
David Anderson 1951b4cd34 Add IPDL test files for message ordering problems in OMTP. (bug 1369529 part 1, r=billm)
--HG--
extra : rebase_source : 2609a7371d78a34e750aa65687ca0011eec9f14c
2017-06-21 13:40:18 -07:00
Michael Layzell f02a75cf86 Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm
MozReview-Commit-ID: Bql29wgVDZ5
2017-06-21 14:23:16 -04:00
Michael Layzell 746a415780 Bug 1343728 - Part 4: Remove the window creation sync IPC calls, r=billm, r=smaug
MozReview-Commit-ID: IWayDUWuRrf
2017-06-21 14:23:15 -04:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Sebastian Hengst 7e1b1cf069 Backed out changeset 05a5f9d8249f (bug 1343728) 2017-06-16 22:20:37 +02:00
Sebastian Hengst e8cca2e7cf Backed out changeset 956306ea34f3 (bug 1350633) 2017-06-16 22:20:32 +02:00
Michael Layzell 6648f5c781 Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm
MozReview-Commit-ID: Bql29wgVDZ5
2017-06-16 14:59:35 -04:00
Michael Layzell c0d7319a4f Bug 1343728 - Part 3: Remove the window creation sync IPC calls, r=billm, r=smaug
MozReview-Commit-ID: IWayDUWuRrf
2017-06-16 14:59:34 -04:00
Bill McCloskey 5066de8593 Bug 1366072 - MozPromise tests (r=jwwang)
MozReview-Commit-ID: 69OQb1f3UTd
2017-06-13 14:51:07 -07:00
Bill McCloskey c85ab6308c Bug 1366072 - Change promises to take nsISerialEventTarget instead of AbstractThread (r=jwwang)
MozReview-Commit-ID: 4azUhSB6whu
2017-06-13 14:51:01 -07:00
Nicholas Nethercote 0be77baa96 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.

--HG--
extra : rebase_source : 47e298fdd6f6b4af70e3357ec0b7b0580c0d0f50
2017-06-07 12:33:19 +10:00
Jeff Muizelaar 4cf1367466 Bug 1370681. WebRender: Remove unnecessary sync messages. r=kats,dvander
These don't need to be sync and we're spending a noticeable amount of
time in DeleteImage.
2017-06-08 18:05:57 -04:00
Kyle Machulis 13959a88ce Bug 1337058 - Remove FindPlugins IPC message; r=bsmedberg 2017-06-06 18:29:32 -07:00
Ryan VanderMeulen 4b1082a507 Backed out changeset 0ff4ad45f99c (bug 1337058) for causing bug 1370237.
--HG--
extra : rebase_source : 3ed4d5a41898ead386f8a75b0d2f7be1899cf767
2017-06-05 20:14:55 -04:00
Kartikaya Gupta 8bd2880fc4 Bug 1369840 - Add new test IPDL message to sync-messages.ini. r=dvander
MozReview-Commit-ID: 51i94Gj0Mgq
2017-06-04 22:29:35 -04:00
Kyle Machulis 2902c3f037 Bug 1337058 - Remove FindPlugins IPC message; r=bsmedberg
MozReview-Commit-ID: GQVHEeQp1dx

--HG--
extra : rebase_source : d421a613434be2bcca1120cfffb92ed9f20ba9d4
2017-06-01 15:33:23 -07:00
Kan-Ru Chen 2813dde8a6 Bug 1368031 - Pass resolver function to Recv methods instead of a MozPromise r=billm
Added new typedef for the Resolve function. The Resolve function is a
std::function accepting corresponding parameters. When it's invoked it
will send the reply immediately. Users can still wrap it in a
MozPromise if they want promise chaining.

The original typedef of the Promise type is repurposed as the Send*
functions' return type.

MozReview-Commit-ID: JZ4IsgJ87M1
2017-06-01 15:57:21 +08:00
Kan-Ru Chen fc620b75af Bug 1368031 - Do not send reply if actor is dead r=billm
Actors with async returns methods will automatically implement
WeakPtr so we can check in the resolving function whether it's safe to
send messages.

MozReview-Commit-ID: IyDwIYSShlS
2017-06-01 15:57:20 +08:00
Kearwood Gilbert eb3becc0b0 Bug 1362213 - Implement chrome-only API to manage VR sessions r=daoshengmu,kanru,smaug
- Added new chrome-only webidl methods to be used by browser UI and WebExtensions
- Implemented bitmasked group visibility for VR sessions to enable switching
  between chrome and regular content presentations.
- Implemented throttling mechanism to avoid runaway, unthrottled render loops
  for VR sessions that are hidden by group visibility bitmasks or due to
  lower level platform VR events, such as during the Oculus
  "Health and Safety Warning".
- Simplified the PVRManager IPC protocol while extending it to support
  VR session groups and later WebVR content performance profiling API's.
- Removed the last WebVR related sync IPC call.


MozReview-Commit-ID: BMEIPyYeEbq

--HG--
extra : rebase_source : 47d3682cad3d913504175b7d4c3e9d992236f097
2017-05-08 16:01:36 -07:00
Kartikaya Gupta d5c99e4ebb Bug 1367837 - Implement some APZ test util APIs for webrender. r=botond,dvander
This implements some methods exposed on DOMWindowUtils and used by
reftests, for the WebRender codepath. The implementation is very similar
to the implementation in LayerTransactionParent.

MozReview-Commit-ID: HP8OxzIzS7P
2017-05-28 07:48:36 -04:00
Kan-Ru Chen e900659346 Bug 1367176 - Expose promise typedef to public so it can be used outside of actor. r=billm
MozReview-Commit-ID: JRlPR2rs3ij

--HG--
extra : rebase_source : 7e23178f678d0fffd99d21bbf4fdbb954792fa0e
2017-05-24 13:06:35 -04:00
David Parks f2774deb20 Bug 1363290 - Part 3: Proxy win32's SetCursorPos for plugins in chrome process. r=jimm, r=jed
SetCursorPos is used by Flash's relative cursor motion behavior.  It is blocked by the plugin sandbox.  This patch allows it to run by proxying it on the main process.

--HG--
extra : histedit_source : 85515d398c0c107c2258185c0591a943b26e724a
2017-05-16 14:47:09 -07:00
Andrea Marchesini 281c7e8cdd Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini bc8f9a2827 Bug 1359718 - Get rid of PBlob - part 1 - Remove PBlobStream, r=smaug, r=kanru 2017-05-23 18:04:27 +02:00
Ehsan Akhgari 1040ee9f65 Bug 1347035 - Store the maximum touch points for each tab child on the object instead of querying it synchronously from the parent actor when neeeded; r=smaug ipc-r=kanru 2017-05-23 17:00:09 -04:00
Sebastian Hengst b34db7c9fe Backed out changeset 48ed92a3d18a (bug 1359718) 2017-05-23 19:12:31 +02:00
Sebastian Hengst 4ac10ab053 Backed out changeset c3251f5022dd (bug 1359718) 2017-05-23 19:12:25 +02:00
Andrea Marchesini f512688b0b Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini 7c4d305b8f Bug 1359718 - Get rid of PBlob - part 1 - Remove PBlobStream, r=smaug, r=kanru 2017-05-23 18:04:27 +02:00
Sebastian Hengst 77897ad1e3 Backed out changeset 3b7d055b4207 (bug 1359718) 2017-05-23 18:34:45 +02:00
Sebastian Hengst 89e8ea64b1 Backed out changeset 537abc431472 (bug 1359718) 2017-05-23 18:34:40 +02:00
Andrea Marchesini 7db3365daf Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini ed95a3adde Bug 1359718 - Get rid of PBlob - part 1 - Remove PBlobStream, r=smaug, r=kanru 2017-05-23 18:04:27 +02:00
Wes Kocher 8b07ba2a07 Merge m-c to inbound a=merge
a=release IGNORE BAD COMMIT MESSAGES
2017-05-19 15:18:51 -07:00
Michael Layzell 7d8410d3a5 Bug 1348401 - Make the PPrinting::ShowProgress IPC message async, r=mconley, r=billm
MozReview-Commit-ID: 5pK08I3itYa
2017-05-19 16:16:13 -04:00
Kartikaya Gupta 5d656fab0f Merge m-c to graphics
MozReview-Commit-ID: HvsAeMjJAIA
2017-05-19 09:30:48 -04:00
Kartikaya Gupta aca076b94b Merge m-c to graphics
MozReview-Commit-ID: DFNbcj14mg9

--HG--
rename : memory/mozjemalloc/jemalloc.c => memory/mozjemalloc/mozjemalloc.cpp
rename : memory/mozjemalloc/jemalloc_types.h => memory/mozjemalloc/mozjemalloc_types.h
2017-05-18 08:34:15 -04:00
Jeff Muizelaar b9411eb4eb Bug 1364626. Ensure our transaction arrives at the compositor before asking the parent to paint. r=dvander
This makes UpdateLayerTree synchronous enough to ensure that the layer
transaction from the child reaches the compositor. Given the comment in
http://searchfox.org/mozilla-central/rev/484d2b7f51b7aed035147bbb4a565061659d9278/dom/interfaces/base/nsIDOMWindowUtils.idl#106
this seems to be the original intent of this function anyways. Without this, we
can have a race between the child talking to the compositor and the child
talking to the parent talking to the compositor.

This also changes GetCompositorBridgeChild to work even when the widget doesn't
have a CompositorBridge
2017-05-17 10:45:33 -04:00
Jeff Muizelaar 0ed20eff4a Revert "Ensure our transaction arrives at the compositor before asking the parent to paint"
This reverts commit e0ec2a72700f.
2017-05-17 10:44:33 -04:00
Jeff Muizelaar b2c7a3fec1 Ensure our transaction arrives at the compositor before asking the parent to paint
This makes UpdateLayerTree synchronous enough to ensure that the layer
transaction from the child reaches the compositor. Given the comment in
http://searchfox.org/mozilla-central/rev/484d2b7f51b7aed035147bbb4a565061659d9278/dom/interfaces/base/nsIDOMWindowUtils.idl#106
this seems to be the original intent of this function anyways. Without this, we
can have a race between the child talking to the compositor and the child
talking to the parent talking to the compositor.

This also changes GetCompositorBridgeChild to work even when the widget doesn't
have a CompositorBridge
2017-05-17 10:42:09 -04:00
Henry Chang 8091c86b7e Bug 1364857 - Reject pending promises for actor when it's going to be destroyed. r=kanru
The lifetime of async IPDL returned promise may be longer than its actor.
That is, the handler (receiver) may have not resolve/reject the promise when the actor
is destroyed. In this case, we have to reject all the pending promises before
ActorDestroy() is called on the "sender" side.

Besides, the handler (receiver) can reject with reason "ActorDestroyed" to silently
cancel the promise without trying to reply to the remote actor which may
have died. The sender-side promise is responsible for rejecting the pending promises,
which will be done in MessageChannel::RejectPendingPromisesForActor().

MozReview-Commit-ID: 4XjmquZzDBO

--HG--
extra : rebase_source : 48539e35e4587e09be1d66497b1ea32d1a95ee9a
2017-05-17 16:59:48 +08:00
JW Wang f63d012078 Bug 1365517 - Remove the call to AbstractThread::GetCurrent() in TestAsyncReturns.cpp. r=kanru
See bug 1365483 for the rationale.

MozReview-Commit-ID: AGFtjTzRqvC

--HG--
extra : rebase_source : c8309d12fe8cbbc964f7bdf8b4e79683a1af6756
2017-05-17 15:34:20 +08:00
David Anderson 42e57ec6d3 Remove old device reset and compositor swapping code. (bug 1363126 part 3, r=rhunt) 2017-05-11 22:44:28 -07:00
David Anderson 27df5ad5bd Handle remote device resets by recreating the entire rendering stack. (bug 1363126 part 1, r=rhunt, ipc_r=billm) 2017-05-11 22:44:27 -07:00
David Anderson af30648746 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.
2017-05-05 10:53:17 -07:00
Phil Ringnalda 6b129efd40 Backed out changeset 867fcd3e181d (bug 1350634) for leaking in sessionstore's browser-chrome tests
MozReview-Commit-ID: 7NS2GkfZSp0
2017-04-30 21:14:10 -07:00
David Anderson d7a1f66c55 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.
2017-04-30 17:22:56 -07:00
Samael Wang d5dd0ed263 Bug 1337064 - Remove sync protocol PContent::AllocateTabId. r=kanru
Remove sync protocol AllocateTabId. Instead we generate tabId in
each process with nsContentUtils::GenerateTabId, and register
RemoteFrameInfo in parent process. If the tab id was generated from
a content process, it's sent parent through either PBrowserConstructor
or PContent::CreateChildProcess.

MozReview-Commit-ID: D3W2fK9eCNH

--HG--
extra : rebase_source : 1913f8f586537be1c82a70a19cc8c6351671d0df
2017-04-05 18:42:00 +08:00
Kan-Ru Chen 6c2259f717 Bug 1358697 - Don't capture the Promise raw pointer and make static analysis happy. r=billm
MozReview-Commit-ID: 7lMVMcNBDHJ

--HG--
extra : rebase_source : 3526408144e9d0486e0c212151682bc98275c8e5
2017-04-22 10:38:52 +08:00
Iris Hsiao d838010e1d Backed out changeset 2f0e513820c0 (bug 1358697) for build bustage 2017-04-25 10:04:11 +08:00
Kan-Ru Chen 3d7756c274 Bug 1358697 - Don't capture the Promise raw pointer and make static analysis happy. r=billm
MozReview-Commit-ID: 7lMVMcNBDHJ

--HG--
extra : rebase_source : 4ea2e25c3a7e1f49a79b9b994024c00494f78047
2017-04-22 10:38:52 +08:00
Kan-Ru Chen ffab50c6f8 Bug 1313200 - Allow IPC messages to async return MozPromises. r=billm,jwwang
This patch implements async returns for IPDL using MozPromises. There
are following changes:

* Initialize AbstractThreads for MessageLoops
* Record promises and their reject functions
  * When async message returns, call their resolve functions
  * When send error or channel close, call their reject functions
* Implement "unresolved-ipc-promises" count for about:memory
* Test cases

See bug attachment for generated code from test cases

MozReview-Commit-ID: 7xmg8gwDGaW

--HG--
rename : ipc/ipdl/test/ipdl/error/AsyncReturn.ipdl => ipc/ipdl/test/ipdl/ok/AsyncReturn.ipdl
extra : rebase_source : 9a5821d6c0e5f7152b8152a17a409b94e8258dc3
2017-03-16 17:36:15 +08:00
Sebastian Hengst 45fe002ab2 Backed out changeset 325bf1bf5a1f (bug 1313200) for Android and reftest bustage. r=backout
--HG--
rename : ipc/ipdl/test/ipdl/ok/AsyncReturn.ipdl => ipc/ipdl/test/ipdl/error/AsyncReturn.ipdl
2017-04-18 18:24:56 +02:00
Kan-Ru Chen 625b54086e Bug 1313200 - Allow IPC messages to async return MozPromises. r=billm,jwwang
This patch implements async returns for IPDL using MozPromises. There
are following changes:

* Initialize AbstractThreads for MessageLoops
* Record promises and their reject functions
  * When async message returns, call their resolve functions
  * When send error or channel close, call their reject functions
* Implement "unresolved-ipc-promises" count for about:memory
* Test cases

See bug attachment for generated code from test cases

MozReview-Commit-ID: 7xmg8gwDGaW

--HG--
rename : ipc/ipdl/test/ipdl/error/AsyncReturn.ipdl => ipc/ipdl/test/ipdl/ok/AsyncReturn.ipdl
extra : rebase_source : 55c4f68a3f8b7d0df5ca9f9c45b9a205b337282d
2017-03-16 17:36:15 +08:00
Aaron Klotz 6302f1af4a Bug 1322532: Add sync text event to PDocAccessible; r=tbsaunde, r=billm
MozReview-Commit-ID: AFZMYghoOHe

--HG--
extra : rebase_source : 2364cf4a5ecaaceda151e16df170aebb77ae55e9
2017-04-13 17:08:42 -06:00
raouldc b4261cfb61 Bug 1352576 - Removed all instances of NPN_GetAuthenticationInfo from the codebase r=bsmedberg
NPN_GetAuthenticationInfo is an NPAPI API we implemented for Java and since we only support Flash we no longer need it.

MozReview-Commit-ID: HxNn91QeaMB

--HG--
extra : rebase_source : 016320ce93bde525dbf1b74f50f8b60d141d31cd
2017-04-13 23:57:08 +12:00
Bill McCloskey cd7be5521e Bug 1349699 - Assert when destroying a MessageLoop that a live MessageChannel is attached to (r=dvander)
MozReview-Commit-ID: GGr5UqJl3ui
2017-04-11 13:15:07 -07:00
Kartikaya Gupta 5e82717849 Bug 1350638 - Remove the GetCompositorOptions IPC message as it is no longer used. r=dvander
MozReview-Commit-ID: 18uiWGA9eJy

--HG--
extra : rebase_source : 217697a0e63d8c02d78de894ff7f33850924e50c
2017-04-09 17:31:59 -04:00
Phil Ringnalda 3c97553fda Backed out 2 changesets (bug 1349699) for Win8 opt xpcshell crashes at mozilla::ipc::MessageChannel::WillDestroyCurrentMessageLoop
Backed out changeset 5cc766c0864e (bug 1349699)
Backed out changeset 13f1d3918fe5 (bug 1349699)
2017-04-03 22:54:59 -07:00
Bill McCloskey 754aae1913 Bug 1349699 - Assert when destroying a MessageLoop that a live MessageChannel is attached to (r=dvander)
MozReview-Commit-ID: GGr5UqJl3ui
2017-04-03 21:54:19 -07:00
Phil Ringnalda 884bc64271 Backed out 3 changesets (bug 1349699) for Android mozilla::ipc::MessageChannel::WillDestroyCurrentMessageLoop crashes
Backed out changeset 8a50c2d76afc (bug 1349699)
Backed out changeset 3b9eadd61e26 (bug 1349699)
Backed out changeset 16e000b3fe0c (bug 1349699)
2017-04-03 21:07:49 -07:00
Bill McCloskey c3bd8c6e5b Bug 1349699 - Assert when destroying a MessageLoop that a live MessageChannel is attached to (r=dvander)
MozReview-Commit-ID: GGr5UqJl3ui
2017-04-03 19:41:13 -07:00
David Anderson 0f3b97ed9c When using the GPU process, combine layer ownership and window mapping into a single IPC message. (bug 1350660 part 1, r=rhunt, r=billm) 2017-04-03 15:13:37 -07:00
Kan-Ru Chen 8ba424eabb Bug 1194751 - Part 6. Use mozilla::widget::ScreenManager in content process. r=mconley
This is the most important part of the patch series. It removes the
PScreenManager protocol and use ScreenManager directly in the content
processes.

Initial and subsequent updates are sent via PContent::RefreshScreens.
struct ScreenDetails are kept to serialize Screen over IPC.

nsIScreenManager::ScreenForNativeWidget is removed because
nsIWidget::GetWidgetScreen can replace it. nsIScreen::GetId is removed
because it's not useful for the more general Screen class.

MozReview-Commit-ID: 5dJO3isgBuQ

--HG--
extra : rebase_source : 06aa4e4fd56e2b2af1e7483aee7c0cc7f35bdb97
2017-03-09 19:30:26 +08:00
Chris Pearce 78f1197a59 Bug 1315850 - Add LaunchGMPForNodeId to allowed sync IPCs. r=kanru
This merges two existing off-main-thread sync IPCs into a single operation.  We
will change them into a single async operation in a follow up.

MozReview-Commit-ID: EfMozbRysGR

--HG--
extra : rebase_source : c7f5c395a719b9f3f13d398f8ca976b09f25ce49
2017-03-13 11:46:28 +13:00
Andrew McCreight 8153ed878d Bug 1348838 - Pass in errfnSentinel in verify checkedRead. r=kanru
MozReview-Commit-ID: A40h9VEakBM

--HG--
extra : rebase_source : da708cb63228fa663a7ee472e821fb6b9798cb88
2017-03-20 09:55:52 -07:00
Carsten "Tomcat" Book 492970c342 merge mozilla-inbound to mozilla-central a=merge 2017-03-23 13:44:09 +01:00
Eric Rahm 3693cc51e3 Bug 1349350 - Make IPDL checker sync IPC message errors fatal. r=ehsan
The IPDL sync IPC message error checker needs to actually return a result and
exit if it fails.

MozReview-Commit-ID: 1ZAuAWRlsvk
2017-03-22 15:01:50 -07:00
Eric Rahm 1ad9009da0 Bug 1347000 - Fix false-positive sync message not found errors on windows builds. r=billm
MozReview-Commit-ID: 6ZLCJKotqEE
2017-03-22 15:01:49 -07:00
Wes Kocher 9a54a919a0 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2LT2oEKZno8
2017-03-21 16:20:49 -07:00
Michael Layzell b6012319a5 Bug 1337056 - Part 10: Remove ReadPermissions from the sync-messages list, r=billm
MozReview-Commit-ID: 8Ki4KEHKnQm
2017-03-21 11:08:03 -04:00
Ehsan Akhgari 566751834a Bug 1346583 - Remove the PContent::Msg_OpenAnonymousTemporaryFile sync IPC; r=billm 2017-03-21 09:27:48 -04:00
Kearwood Gilbert b38d859652 Bug 1346926 - Make PVRManager::SetHaveEventListener async r=kanru
- There appears to be no issues with simply changing
  SetHaveEventListener from sync to async.

MozReview-Commit-ID: 3LKgDx9AZnm

--HG--
extra : rebase_source : 6c706f592f71a8c967a58f6906861fcff2525ebf
2017-03-21 13:21:17 -07:00
Kearwood Gilbert 4e410934af Bug 1346923 - Remove PVRManager::GetDisplays sync IPC r=daoshengmu,kanru
- PVRManager::GetDisplays was a sync IPC that was part of an optimization
  for a use case that has been eliminated by changes to the WebVR spec.
- This was an optimization for Navigator.activeVRDisplays that would allow
  enumeration of displays active in any content process without powering
  on any additional VR hardware.  This will no longer be necessary as the
  activeVRDisplays has been restricted to returning only the displays
  active in the current javascript context.

MozReview-Commit-ID: F6sOtM9nups

--HG--
extra : rebase_source : bd8967fab9677206d998eea922c8d1640551de1c
2017-03-15 16:40:57 -07:00
Andrew McCreight 042b6e5ca4 Bug 1347527, part 2 - Fix incorrect protocol name. r=kanru
This was causing the wrong error.

MozReview-Commit-ID: GQmuOOH55Ta

--HG--
extra : rebase_source : 1689af838857a9f08571fe3fc0a43c822abf242c
2017-03-15 06:24:53 -07:00
Andrew McCreight 04d2052106 Bug 1347527, part 1 - "can't use compression" IPDL error message doesn't have a closing paren. r=kanru
MozReview-Commit-ID: CONYxlOB2sP

--HG--
extra : rebase_source : 3c0784e9fd25c9bf2a67ec6fca9cb6d61730a9b9
2017-03-15 06:03:56 -07:00
Andrew McCreight d64b9bd504 Bug 1319620 - Check that IPDL unit tests in error/ fail for the right reason. r=billm
An IPDL unit test that is intended to fail should check that the
reason the test fails matches the expected reason for failure. We have
had a number of cases where some change, like renaming a keyword,
causes tests to start failing for the wrong reason, which means they
are no longer testing anything useful.

To support this, each file in error/ must contain one or more error
annotations. An error annotation is a line starting with "//error:",
followed by whatever the rest of the expected error is. For every one
of these annotations that a file has, the stderr output of compiling
the test must contain the specified string, including the "error:". It
is also an error for an error/ file to not contain an error
annotation.

To generate the initial set of annotations, I just copied and pasted
the error that each test produced. I did some light auditing to check
that the errors are reasonable, which did turn up one minor error
which I fixed as part of bug 1347527.

This patch does not check that every error produced by compiling the
file is in the list of expected errors. I think that's less of a
problem if it does occur.

MozReview-Commit-ID: BrePLGPPRil

--HG--
extra : rebase_source : 0ddb2f866c4b4ab74b7e975ce5877568c8cc3b62
2017-03-15 10:43:51 -07:00
Andrew McCreight a83e44233a Bug 1346958 - Eliminate PickleIterator::operator= calls. r=kanru
MozReview-Commit-ID: BGJUt9NG3GX

--HG--
extra : rebase_source : 0eb1dfb289c009097357e99bd84dbc83f6755997
2017-03-13 14:24:45 -07:00
Kearwood Gilbert 5441d7848d Bug 1345564 - Reduce sync IPC calls used by WebVR r=daoshengmu,Ehsan,kanru
- Eliminated the VRDisplay.GetImmediateSensorState sync call
  and associated code as it is no longer needed.

MozReview-Commit-ID: 7BsCKC9EbsY

--HG--
extra : rebase_source : ae2de369d156e397d919d83b6c63b10374953bae
2017-03-03 16:21:18 -08:00
Andrew McCreight 6634f11883 Bug 1345977 - Add unused message to PTestSyncHang to prevent compiler warning. r=billm
Adding this unused message prevents a compiler warning
about the private field mState being unused.

Also, get rid of some trailing whitespace.

MozReview-Commit-ID: Lb43JQhIbJU

--HG--
extra : rebase_source : c76eb5383a1535c79f2a66d3d6f8454e5b61d945
2017-03-10 14:34:19 -08:00
Andrew McCreight 50ab94e943 Bug 1345897 - Use a separate error function for sentinel errors. r=kanru
Using a separate error function will distinguish mismatched sentinels
from other errors, such as array length problems.

MozReview-Commit-ID: Gl8swNhqLns

--HG--
extra : rebase_source : 494759b105086c6c26f3ac53fb644bbf51c12800
2017-03-09 13:37:55 -08:00
Andrew McCreight 91a4a0b1a5 Bug 1346345 - Implement != operator for IPDL structs. r=kanru
MozReview-Commit-ID: H1CDbuXZ5U0

--HG--
extra : rebase_source : 88005a00cf7c9625179b63354d8947635fcf8d2a
2017-03-10 11:42:07 -08:00
Ehsan Akhgari e559e3333d Bug 1343731 - Remove the sync IPC during DataStorage initialization; r=keeler,billm
Instead of initializing DataStorage objects on demand in the content
process, we initialize them at content process startup by getting the
parent to send down the information about the existing DataStorages at
child process startup.  After that point, the dynamic change
notifications added in bug 1215723 will take care of keeping the
information in sync.
2017-03-10 22:35:07 -05:00
Ehsan Akhgari 5ab5fb52c4 Bug 1342636 - Part 3: Remove the GetCurrentScreenConfiguration sync IPC message; r=billm 2017-03-10 21:29:04 -05:00
Michael Layzell 3acb9e3b8a Bug 1342635 - Part 2: Add a telemetry probe for IPDL IPC serialzation time, r=billm
MozReview-Commit-ID: Gyx4QO8f5yx
2017-03-10 09:15:26 -05:00
Michael Layzell 657e5bfebf Bug 1342635 - Part 1: Add a telemetry probe for IPDL IPC deserialization time, r=billm
MozReview-Commit-ID: 8XWFWoRECrC
2017-03-10 09:15:26 -05:00
Ehsan Akhgari dcb0bf572d Bug 1345497 - Remove the unused PVRManager::GetControllers sync IPC; r=kip,billm 2017-03-09 23:26:47 -05:00
Ehsan Akhgari cc09372649 Bug 1345111 follow-up: Add a few platform-specific sync IPC messages back; fake-r=billm 2017-03-08 23:27:47 -05:00
Ehsan Akhgari 0946cb8425 Bug 1345111 - Make the IPDL compiler error out when it finds sync-messages.ini entries without corresponding IPDL sync messages; r=billm
This ensures that our sync-messages.ini correctly reflects the existing set of
sync IPC messages we have.
2017-03-08 22:43:35 -05:00
Andrea Marchesini 12b54aa0f5 Bug 1299500 - Get rid of DeviceStorage API - part 10 - DeviceStorage, r=ehsan, r=billm 2017-03-08 20:15:45 +01:00
Wes Kocher ee0cad3420 Backed out changeset 2288120b007e (bug 1345111) for Windows build failures a=backout
MozReview-Commit-ID: IcBrJg6Ff8T
2017-03-07 17:28:01 -08:00
Ehsan Akhgari 0899f728cc Bug 1345111 - Make the IPDL compiler error out when it finds sync-messages.ini entries without corresponding IPDL sync messages; r=billm
This ensures that our sync-messages.ini correctly reflects the existing set of
sync IPC messages we have.
2017-03-07 20:13:29 -05:00
Andrew McCreight e5898d34c7 Bug 1342580 - Don't generate actor "state" method. r=kanru
MozReview-Commit-ID: 8Am8TIQfH0h

--HG--
extra : rebase_source : bcd0458573c2aa48908f1407ad3e7e72870c94aa
2017-02-24 15:35:35 -08:00
Eitan Isaacson 650a105b84 Bug 1337077 - Remove sync state transfer of SpeechSynthesis. r=smaug
MozReview-Commit-ID: LMjZOEjeg8Q

--HG--
extra : rebase_source : 62b456a917ccdf767a8242ad88652e84881d0d10
2017-02-23 10:18:21 -05:00
David Parks 8e150e4643 Bug 1284897 - Hook GetSaveFileNameW/GetOpenFileNameW to record and grant a sandboxed process permission to access user-chosen files. r=jimm
--HG--
extra : rebase_source : 024eae9f9657579debd38baba1526acfdca2385a
2017-02-08 11:38:40 -08:00
Kartikaya Gupta 8ec93b1895 Bug 1340067 - Follow-up to delist a formerly sync message that is now async. r=dvander?
MozReview-Commit-ID: CcKSgmSy2hA
2017-02-21 11:00:41 -05:00
Kan-Ru Chen 09858c1716 Bug 1336919 - Add a sync message whitelist and check it in IPDL compile phase. r=billm
MozReview-Commit-ID: ENFkBzpGo2j
2017-02-20 10:40:54 +08:00
Blake Kaplan 7f89fb24f2 Bug 1335989 - Avoid a second copy when sending substrings through IPC. r=billm
MozReview-Commit-ID: HF27bYPH7Uq

--HG--
extra : rebase_source : 3b919d462068d76862e38401be1db9add1aebd05
2017-02-15 16:26:04 -08:00
Carsten "Tomcat" Book b218b4c6ae merge mozilla-inbound to mozilla-central a=merge 2017-02-16 13:15:55 +01:00
Wes Kocher 3797956aa6 Merge m-c to inbound a=merge
MozReview-Commit-ID: BemR756HJnR
2017-02-15 16:33:03 -08:00
Bill McCloskey ce7bbe01fe Bug 1339224 - Give names to built-in IPC messages (r=kanru)
MozReview-Commit-ID: DEC2gXK6o0M
2017-02-15 12:30:01 -08:00
Andrew McCreight 90506fcef4 Bug 1338594 - Add more basic IPDL tests. r=kanru
MozReview-Commit-ID: 2hS9GoTSyb8

--HG--
extra : rebase_source : f3dc85bfa524e7f8316446f9162b2481cba472c9
2017-02-09 08:49:33 -08:00
Andrew McCreight 0a919fc483 Bug 1338728 - Don't check for delete in CheckTypes. r=kanru
GatherDecls also checks for it.

MozReview-Commit-ID: AmCdcUE1EMu

--HG--
extra : rebase_source : 1d27f3e35369a90ac37ab4cbca3f393187a25107
2017-02-10 16:39:55 -08:00
Andrew McCreight e8691e4e82 Bug 1338915 - Print a more specific message for invalid compression. r=kanru
MozReview-Commit-ID: IeSOZNBDkSR

--HG--
extra : rebase_source : 968129bfcdf5d2316537da50514b16b942604648
2017-02-14 08:54:27 -08:00
Andrew McCreight a03c79af0a Bug 1339477 - Add more IPDL unit tests. r=kanru
--HG--
extra : rebase_source : 3e06de7f11cd51633e58639951254dbfe0cf0fe8
2017-02-14 08:34:04 -08:00
Andrew McCreight 854e3bed0e Bug 1328421 - Replace MessageId with ID in the IPDL parser. r=billm
MozReview-Commit-ID: YHfxmB1McY

--HG--
extra : rebase_source : e3d96ab8d56e47535268a71457ec4aa25ef98658
2017-02-14 09:53:25 -08:00
Andrew McCreight a090af81d1 Bug 1338592 - Use .nested, not .nestedRange on Protocol. r=billm
The parser always sets the first value of the tuple .nestedRange to
NOT_NESTED, so there's no need to actually store it. Instead, we
create a range when we're creating the ProtocolType. This makes it
clearer what is happening. The range is needed for the type because
the nesting pair is compared with those from messages, where the first
element can be something else.

Prior to bug 1306708, the lower range could be specified in the IPDL
file, but all uses were NOT_NESTED, so I suppose that is why it was
eliminated.

Note that the constructor for Protocol sets .nested to NOT_NESTED, but
prior to my patch, the field was never used. The constructor also
never initialized .nestedRange, but the parser always sets it so that
isn't much of an issue.

MozReview-Commit-ID: FMnoZRrkfoA

--HG--
extra : rebase_source : 3adb64b27d4a7a4e9c6c7695b145136813dbed5d
2017-02-10 09:12:42 -08:00
Bevis Tseng ee3c2357de Bug 1338455 - SetManager in prior to Register to Inherit EventTarget from Manager. r=billm
MozReview-Commit-ID: DkbhLm4g939
2017-02-10 15:42:45 +08:00
Andrew McCreight 490c8baf66 Bug 1336589 - Don't check struct decls from an included file in the context of the includee. r=billm
See MutRecHeader1.ipdlh for a more detailed explanation.

MozReview-Commit-ID: JHYd7qKSjrr

--HG--
extra : rebase_source : 2d405b3cb4384d6c815fe1634216682fd828f930
2017-02-08 11:07:24 -08:00
Andrew McCreight de95dbd061 Bug 1337536 - MessageType ctor assert should check cdtype. r=billm
type is some existing Python object, so this assertion can never fail.

Looking at GatherDecls::visitMessageDecl, I think this is supposed to
be checking cdecl.

MozReview-Commit-ID: 8Oppw5SYdWO

--HG--
extra : rebase_source : d2e5d6c4f22a490e14f668a1f6ed28738dc56ca8
2017-02-07 14:15:31 -08:00
Andrew McCreight 9a8abaf744 Bug 1337914 - Add dummy argument to IPDLUnitTestProcessChild::Init. r=kanru
This fixes a build error.

MozReview-Commit-ID: DMc4lwtuipo

--HG--
extra : rebase_source : 2686efb3e8fccc090b8fbfa352838d13b7709610
2017-02-08 12:26:20 -08:00
Andrew McCreight 621a063c39 Bug 1335886, part 4 - Remove the unused node arg to {enter,exit}Scope. r=billm
MozReview-Commit-ID: Fuj3RrnBBwV

--HG--
extra : rebase_source : 4dff4f1dc4a52f8d53637442995ebabd66cdf9b8
2017-02-01 13:07:59 -08:00
Andrew McCreight baf5f306e7 Bug 1335886, part 3 - Don't use symtab property to avoid infinite recursion. r=billm
Instead, just stick a "visited" property on them. The symtab property
on nodes isn't used for any other purpose.

The next patch will eliminate the unused args to enterScope and
exitScope.

MozReview-Commit-ID: 3WW2NPVB0gM

--HG--
extra : rebase_source : 2c2add652e1156a397a155c74015671877af3690
2017-02-01 12:50:02 -08:00
Andrew McCreight 4f5c5e3153 Bug 1335886, part 2 - Nodes never have existing symbol tables in enterScope. r=billm
This code gets deleted in the next patch, but the point here is that
we can still compile Firefox with this assertion in place.

MozReview-Commit-ID: 33dw0xm7L4R

--HG--
extra : rebase_source : 140fca3b0b5abf5b3d6636ea63bae2adf1311b09
2017-02-01 11:51:43 -08:00
Andrew McCreight 77ff8c47bf Bug 1335886, part 1 - Set symtab on GatherDecls instead of TcheckVisitor. r=billm
It is always initially set to None, and the other subclass of
TcheckVisitor (CheckTypes) never uses it.

MozReview-Commit-ID: CKxXoHXopqF

--HG--
extra : rebase_source : 2422e31fb99f894948da01a0bcd7d5a2bf92ceb7
2017-02-01 11:56:03 -08:00
Andrew McCreight 79c6450803 Bug 1336180 - Remove obsolete references to .type attribute in type.py. r=billm
MozReview-Commit-ID: KZiSLMOj4x4

--HG--
extra : rebase_source : 353340d2927bbefcb3365bc30636bead9b019a1f
2017-02-01 14:55:50 -08:00
Andrew McCreight 5f5807e1c3 Bug 1316755, part 2 - Remove bridges, opens and spawns from IPDL. r=billm
MozReview-Commit-ID: 2BDEXV0r8QB

--HG--
extra : rebase_source : 286b10988daab138b18f816149853b43069df65e
2017-01-26 16:43:27 -08:00
Andrew McCreight cd7431a68e Bug 1316755, part 1 - Remove IPDL unit tests that use bridges, opens, and spawns. r=billm
MozReview-Commit-ID: 3Te6nPOhYss

--HG--
extra : rebase_source : 3b8bf30e9f0c3c7c962a73fd8043af8152ebc93a
2017-01-26 16:30:18 -08:00
Andrew McCreight 7ebc34bfc2 Bug 1335103 - Remove spurious usage of Actor in lower.py. r=billm
Actor is used in the process checking code, which will get deleted in
a separate bug. Instead, just convert the actor name + side to a
string manually.

MozReview-Commit-ID: 9zfD4MuscVw

--HG--
extra : rebase_source : 95037d1db717618ebb34ec44832e9d2498815ebd
2017-01-27 15:48:52 -08:00
Andrew McCreight 92628f1901 Bug 1334720 - Remove some unused IPDL code generator methods. r=jld
MozReview-Commit-ID: 4PRMjdjyFM8

--HG--
extra : rebase_source : 47592a3ee082a52b075c1d659754e07369e98d52
2017-01-26 17:05:10 -08:00
Bill McCloskey 4fd9d369d6 Bug 1331804 - Change default IPC message name to make it clearer (r=kanru)
MozReview-Commit-ID: 69l9FuqgSTV
2017-01-24 16:34:37 -08:00
Andrew McCreight a619072cc3 Bug 1332445 - Get rid of SymbolTable::globalScope. r=kanru
MozReview-Commit-ID: Ar69yiCqJnT

--HG--
extra : rebase_source : 33a19aaf6f1586bd1c023cfe7637201ea6774301
2017-01-23 10:52:22 -08:00
Andrew McCreight d6a0e6b709 Bug 1332486, part 3 - Merge CxxType into ImportedCxxType. r=kanru
MozReview-Commit-ID: 2lrVvDZJYhD

--HG--
extra : rebase_source : 1049108315123e3ade71d828cca5fc2f5c023a40
2017-01-23 10:45:11 -08:00
Andrew McCreight 656a6d5bf6 Bug 1332486, part 2 - Remove some type predicates that are never used. r=kanru
MozReview-Commit-ID: 89S5cZqaguH

--HG--
extra : rebase_source : 599d40bfb53ecdadb57902bcde3ab7c3ef3bb970
2017-01-23 10:42:17 -08:00
Andrew McCreight 44f6bf8952 Bug 1332486, part 1 - Remove the unused BuiltinCxxType. r=kanru
MozReview-Commit-ID: JRrWI26xWCy

--HG--
extra : rebase_source : 7be6512436e66075d900477f30057182de34483d
2017-01-23 10:39:39 -08:00
Mike Hommey f9c3dd278b Bug 1332523 - Make the Bootstrap API entry point the same for both dependent and standalone linkage. r=bsmedberg
--HG--
extra : rebase_source : 21d9371dfa0a7ed7ff056d8486f28c978df8932d
2017-01-13 07:29:56 +09:00
Andrew McCreight 09bbd9cfe3 Bug 1331787 - Make IPDL aborts fatal in release builds. r=billm
MozReview-Commit-ID: JSgNXtnjNxv

--HG--
extra : rebase_source : fbe1cbf05b0a7f50c26b57a1800bddbdd6e49469
2017-01-17 15:42:30 -08:00
Mike Hommey 09dc362a61 Bug 1306327 - Use the new XRE Bootstrap API in Desktop Firefox. r=bsmedberg
This just wraps all the XRE method calls to go through the Bootstrap API
instead of relying on the XPCOM glue methods.

--HG--
extra : rebase_source : eccbe18b9b21ca1ab6c403515ffd60f0a9174d9c
2016-12-16 11:10:02 +09:00
Nathan Froyd d489d17c87 Bug 1322553 - part 3 - add profiler start/end markers for sync IPC; r=mstange
This is gnarly IPDL code, but the generated code is probably easier to
review.  Before when sending a sync message, we had:

    bool sendok__ = (GetIPCChannel())->Send(msg__, (&(reply__)));
    if ((!(sendok__))) {
        return false;
    }

Now, we have:

    bool sendok__;
    {
        GeckoProfilerTracingRAII syncIPCTracer(
                "IPC",
                "PJavaScript::Msg_PreventExtensions");
        sendok__ = (GetIPCChannel())->Send(msg__, (&(reply__)));
    }
    if ((!(sendok__))) {
        return false;
    }
2017-01-07 15:56:49 -05:00
Andrew McCreight f27d72c33d Bug 1323468, part 4 - inline |from| in Transition. r=kanru
MozReview-Commit-ID: LwcpNikbe2b

--HG--
extra : rebase_source : 25ace3d2f3e408ca48c72f6e8ea11217990a6f12
2016-12-14 11:15:05 -08:00
Andrew McCreight d0dc5ef0a4 Bug 1323468, part 3 - Change the return type of Transition to void. r=kanru
This function either crashes or returns true.

MozReview-Commit-ID: IX2MPbgLal0

--HG--
extra : rebase_source : f199280e2670c2d28357ea67523ae0336c160551
2016-12-14 10:27:22 -08:00
Andrew McCreight 888e432b17 Bug 1323468, part 2 - Pass the message id directly to Transition and eliminate Trigger. r=kanru
MozReview-Commit-ID: GU3lXP3eRh6

--HG--
extra : rebase_source : c01247a988cc80cf2739c10a44dc0a971495e528
2016-12-14 10:09:47 -08:00
Andrew McCreight 2a9fd5cd2a Bug 1323468, part 1 - Remove some unused variables from genTransitionFunc. r=kanru
MozReview-Commit-ID: 7aoV1jcO5Sn

--HG--
extra : rebase_source : f184797c0408890f0360651e8c233cef89896515
2016-12-14 09:41:33 -08:00
Andrew McCreight d00682b3cf Bug 1321029 - State::__Error is no longer used. r=kanru
MozReview-Commit-ID: 3HfwUrcGeTv

--HG--
extra : rebase_source : 67941c9703cba52938c0ba92c69288da95dde54b
2016-11-28 15:39:11 -08:00
Carsten "Tomcat" Book fd4709f9c1 merge mozilla-inbound to mozilla-central a=merge 2016-12-14 16:41:28 +01:00
Bill McCloskey 67bf1ff2ba Revert "Bug 1319271 - Return early in Send__delete__ method when Send fails. r=billm"
This reverts commit 8807f9ccde574d50a142ac9378890cc7ac5b68e2.
2016-12-13 16:46:32 -08:00
Kan-Ru Chen 4fa8f3b74f Bug 1319271 - Return early in Send__delete__ method when Send fails. r=billm
Only for the async version.

MozReview-Commit-ID: GOVSpzT3JlX
2016-12-07 12:12:43 -10:00
Tomislav Jurin 348bfffc19 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Andrew McCreight f03404b039 Bug 1321010 - Remove two minor bits of deritrus from IPDL Python code. r=kanru
The bug referred to in the comment was fixed 6 years ago.

The includes in cgen.py are unused.

--HG--
extra : rebase_source : f4521112ee3f2280836ac7030b25ddcba2321eda
2016-11-28 15:16:57 -08:00
Andrew McCreight 3b21f2993f Bug 1316757, part 7 - Remove IPDL state machine from frontend. r=billm
This patch removes all user-specified state machine support from the
IPDL parser, then deletes all of the code related to it from the AST,
type checking, and code generation. The default state machine code
relating to tracking whether the protocol is dead or not will still be
generated. In fact, this patch should not change the code that is
generated for any protocol that does not use the custom state machine
syntax.

MozReview-Commit-ID: 1fABHR3zJx

--HG--
extra : rebase_source : a2c6655e767741eb7d697e55548c2409a4bdff12
2016-11-23 15:04:09 -08:00
Andrew McCreight 0492d18521 Bug 1316757, part 6 - Comment out various race-related state machines. r=billm
The state machine stuff provides a decent compact overview of where
races are supposed to happen, so I just commented them out.

MozReview-Commit-ID: 1K5mw2kyXWb

--HG--
extra : rebase_source : db3fea5e80c47e04c103b1231077bd9b2c62c4d4
2016-11-23 14:58:49 -08:00
Andrew McCreight ff229fdc74 Bug 1316757, part 5 - Comment out simple uses of state machine from cxx/ unit tests. r=billm
MozReview-Commit-ID: 3Ce1nte6EoN

--HG--
extra : rebase_source : ef8f0b1e5d7c9016151f3dcf08398456b929420d
2016-12-13 13:07:38 -08:00
Andrew McCreight 2f16f62dfe Bug 1316757, part 4 - Remove trivial state machines from IPDL unit tests. r=billm
MozReview-Commit-ID: GJgfzQ8CArj

--HG--
extra : rebase_source : 87aa940d87dd2286168699a0a25508bcb34dbdc2
2016-11-23 09:13:46 -08:00
Andrew McCreight a3d8276ca3 Bug 1316757, part 3 - Delete IPDL unit tests that look like they only test state machine stuff. r=billm
MozReview-Commit-ID: 7Lek3YzLIft

--HG--
extra : rebase_source : 16a53cbd579554a82b84ee28f638b3517537e413
2016-11-23 09:10:45 -08:00
Andrew McCreight c5c7f69cf3 Bug 1316757, part 2 - Remove assertions involving state() from cxx/ unit tests. r=billm
With the removal of state machines, the state() method is no longer
supported, so these assertions must be removed.

MozReview-Commit-ID: 4HV8cQqowlp

--HG--
extra : rebase_source : 512c740e7a7de8904b237d745cddea82dc82a603
2016-11-28 13:43:09 -08:00
Andrew McCreight 4bf21b65b7 Bug 1320833 - Only generate State enum case for PFoo::State::__Dying when hasReentrantDelete(). r=kanru
MozReview-Commit-ID: DpxXD7y8GpD

--HG--
extra : rebase_source : ae9044309196f8c799674d85ebe0db869b4207f4
2016-11-28 15:49:26 -08:00
Andrew McCreight 5a67cdbd4f Bug 1320835 - Remove unused _getcallerpath from IPDL's parser.py. r=kanru
MozReview-Commit-ID: APiXElSQGQ1

--HG--
extra : rebase_source : e8a3c140ff9594f34e76809c72e2f6567285c455
2016-11-28 14:47:57 -08:00
Andrew McCreight f91a03949a Bug 1320755 - Remove dependence of IPDL unit tests on state() method. r=dvander
The uses of state() in TestHangs and TestStackHooks only have two
states, depending on how many times the method has been called.

Two uses of state() have to be fixed in TestLatency. Each waits for 5
messages, then resets the state and sends replies.

MozReview-Commit-ID: 7Glj7wbl1ni

--HG--
extra : rebase_source : 55a88a9b31b2effc8af5629262a5f4d34987ba40
2016-11-23 15:21:58 -08:00
Andrew McCreight ced5e33c0a Bug 1319910 - Crash child, not parent, on FatalError in TestActorPunning and TestBadActor. r=billm
The parent process crashes if it gets a bad message from the child,
but that makes it hard to test. This patch overrides the fatal error
handling method and uses the old behavior, that kills the child.

I copied the code to kill the child from TestHangs.

MozReview-Commit-ID: 3YgqaCgHGI0

--HG--
extra : rebase_source : cbecee2742014e969c641b89833cff5f46b99a33
2016-11-23 13:40:04 -08:00
Andrew McCreight 1cb2f34ca9 Bug 1319595, part 7 - Remove obsolete test. r=billm
Bill said it is okay to declare interrupt parent-to-child messages now.

MozReview-Commit-ID: 5Ma6pfkUZmt

--HG--
extra : rebase_source : 68fd3f51a9154136003871425762816593d66139
2016-11-22 16:06:11 -08:00
Andrew McCreight 35d5402bc4 Bug 1319595, part 6 - Fix various IPDL tests. r=billm
managerNoCtor.ipdl: Add a message so that parsing doesn't just fail
immediately with a syntax error.

shmem_access_union.ipdl: Remove this test, which involves the
semi-removed ACL feature for shmem.

oldIncludesyntax.ipdl: To be safe, make the protocol more valid by
adding a message.

multimanNonexistentMgrs.ipdl: Make the name of the protocol match the
name of the file.

MozReview-Commit-ID: 9zx5fmAWIIc

--HG--
extra : rebase_source : a5b9b9f19bc0329a06ca4ff8be3ef4b879054dd9
2016-11-22 15:26:08 -08:00
Andrew McCreight 554d2bf9c1 Bug 1319595, part 5 - Rename rpc to interrupt in IPDL error/ unit tests. r=billm
Change message annotations from "rpc" to "intr" to match the current
name, and similarly rename the protocols and the files.

MozReview-Commit-ID: Dd9ikvAHMnV

--HG--
extra : rebase_source : 0b2d57ca2c4405319f4ecd6ba2f633128355b381
2016-11-22 15:01:33 -08:00
Andrew McCreight 6d897bf5ca Bug 1319595, part 4 - Fix type checker handling of end points without qualifiers. r=billm
If qname has no quals, then fullname would be None, which breaks the
string concatenation in parentEndpointDecl and childEndpointDecl, even
if no endpoints are declared. This patch uses the short name if there
are no quals, while preserving the behavior that we want to pass None
into declare for fullname.

MozReview-Commit-ID: 9nuO8GWhBRH

--HG--
extra : rebase_source : df7e8b80d06b5cf1d4905624c0a3c4eac6703612
2016-11-22 13:55:59 -08:00
Andrew McCreight 025b63715a Bug 1319595, part 3 - Allow including a type twice as long as it is from the same file both times. r=billm
This patch fixes multipleUsingCxxTypes.ipdl. This is a regression from
bug 918651.

MozReview-Commit-ID: 3ByBvp6FZUe

--HG--
extra : rebase_source : 8038d8662360a8f12e571716eb7c59d2b3754508
2016-11-22 14:25:04 -08:00
Andrew McCreight 175c88a5d3 Bug 1319595, part 2 - Add async annotations to IPDL unit tests. r=billm
As of bug 1240871 these are no longer optional.

MozReview-Commit-ID: 2r2uxJP9dDr

--HG--
extra : rebase_source : 6ca55ae336a7c7d37764b657333e331f3b6158c9
2016-11-22 14:05:19 -08:00
Andrew McCreight 05edbf70f3 Bug 1319595, part 1 - Remove IPDL error tests involving state machine or bridge/open. r=billm
MozReview-Commit-ID: 4TUWBGzh3eJ

--HG--
extra : rebase_source : 1e7bed9deaec652e7aafab03860e58a2c3b10716
2016-11-22 14:01:34 -08:00