Commit Graph

4822 Commits

Author SHA1 Message Date
Kris Maglione
8134b33e89 Bug 1462964: Remove obsolete nsIDOMBlob interface. r=bz
MozReview-Commit-ID: 2HIlaSrvfBe

--HG--
extra : rebase_source : 944a6244dbfe1f0a37dd34a041d1329624a86f93
extra : histedit_source : d7859be664fed00f8504e40969480d3af3d674e7%2C4456b502db338bd06823654306e47c2583101396
2018-05-21 17:32:44 -07:00
Steve Fink
e1fedf5974 Bug 1442722 - Move scope into JSStructuredData, r=baku,jorendorff
--HG--
extra : topic : clone.refactor
extra : rebase_source : 657bfd1a4c87de0a27c99e685adbf739c907ed6c
2018-04-03 11:17:33 -07:00
Stephen A Pohl
447ec53dcd Bug 1461459: Enable bug 1348361 (async process launching) on nightly only. r=ted 2018-05-21 13:53:34 -04:00
Stephen A Pohl
5b81adc6a2 Backout f266f3f133a9 (bug 1446900, bug 1461459) for referencing incorrect bug number in commit message. r=backout DONTBUILD 2018-05-21 13:51:59 -04:00
Stephen A Pohl
c466cf329f Bug 1446900: Enable bug 1348361 (async process launching) on nightly only. r=ted 2018-05-21 13:46:04 -04:00
Jan de Mooij
17f3983d0f Bug 1461605 part 1 - Rename CompartmentOptions to RealmOptions. r=luke,bz 2018-05-17 10:59:45 +02:00
Jan de Mooij
80e44e8003 Bug 1461292 part 1 - Rename JSAutoCompartment to JSAutoRealm. r=bz,luke 2018-05-16 10:53:16 +02:00
Nika Layzell
2d188849ae Bug 1455217 - Part 3: Use the new xpidl Promise type instead of nsISupports, r=bz 2018-05-14 17:55:54 -04:00
Stephen A Pohl
4ecf5cdf16 Bug 1446900: Place bug 1348361 (async content process launching) behind an ifdef and disable it to avoid numerous top crashers. r=jld 2018-05-11 20:00:40 -04:00
Eric Rahm
4e0fc495d6 Bug 1364624 - Part 1: Manually manage locks in MessageChannel::Close. r=froydnj
This switches over to manually managing the locking in MessageChannel::Close
in order to avoid a deadlock on msvc opt builds. It has the added benefit of
avoid a superfluous lock/unlock pair.

--HG--
extra : rebase_source : f3b0ee5499bd75bc75b3d1fe44c0c7efd3063aee
2018-04-26 17:14:22 -07:00
Csoregi Natalia
88704238f1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-10 19:46:00 +03:00
Ben Kelly
ef6232cef8 Bug 1459655 Check for error when serializing the LoadInfo triggering principal. r=baku 2018-05-10 08:18:05 -07:00
Stephen A Pohl
860c14b396 Bug 1366808: Properly detect buildID mismatches between parent and child processes and display about:restartrequired to prompt the user to restart Firefox before proceeding. r=jimm,felipe,bz 2018-05-08 10:31:44 -04:00
Valentin Gosu
bd4365d7e7 Bug 1448058 - Remove nsIMutable from URI implementations r=mayhemer
* Also removes NS_TryToMakeImmutable, NS_TryToSetImmutable, URIIsImmutable
* NS_EnsureSafeToReturn, nsINetUtil.toImmutableURI

MozReview-Commit-ID: 5eFtFm2CQt7

--HG--
extra : rebase_source : 1f3d23ec646883e76844d42113bc1c71c01a1ad7
2018-05-09 18:21:24 +02:00
arthur.iakab
2f2f2ffdbf Merge mozilla-central to inbound 2018-05-08 15:44:33 +03:00
Chris Peterson
71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00
Brindusan Cristian
09c2471bd3 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-05-05 00:42:16 +03:00
Cosmin Sabou
2f93cbd6cb Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : testing/profiles/prefs_general.js => testing/profiles/common/user.js
extra : rebase_source : e56a2d784bd87af73d03cc5fcdca84d8156ed054
2018-05-04 21:07:31 +03:00
Aaron Klotz
d0a001f04f Bug 1459085: Prevent mutex reentry in mscom::Interceptor::GetInterceptorForIID; r=Jamie 2018-05-03 22:57:11 -06:00
Alex Gaynor
d64dccaf76 Bug 1459270 - fixed a regression where IPC was not correctly checking for transitions to actors being dead; r=froydnj
MozReview-Commit-ID: HzhUna0mVpB

--HG--
extra : rebase_source : 495d4f70f0e9d648bfc36b84921cbfb79881f289
2018-05-04 13:51:22 -04:00
Chris Manchester
26b3ffad58 Bug 1455892 - Use a tracking stub file rather than a phony target to speed up ipdl in incremental builds. r=froydnj
This commit removes some mtime checking logic in ipdl.py that is made redundant
with make's logic to re-invoke ipdl.py when dependencies have changed.


MozReview-Commit-ID: FJuYIZv5uym

--HG--
extra : rebase_source : 5e250cd2dd57b8591db700a3d79ec36c88fa4dd4
2018-05-03 12:54:21 -07:00
Bogdan Tara
474a05018a Backed out changeset 23400e395408 (bug 1455892) for linux build bustages on ContentBridgeParent.h CLOSED TREE 2018-05-03 23:34:54 +03:00
Chris Manchester
5b50d3c787 Bug 1455892 - Use a tracking stub file rather than a phony target to speed up ipdl in incremental builds. r=froydnj
This commit removes some mtime checking logic in ipdl.py that is made redundant
with make's logic to re-invoke ipdl.py when dependencies have changed.


MozReview-Commit-ID: FJuYIZv5uym

--HG--
extra : rebase_source : 9e11ead04bd69eb1f30160fdb15b8ac74b183f87
2018-05-03 12:54:21 -07:00
Alex Gaynor
8fbe3c2f2a Bug 1457536 - refactor Transition in IPC to make it more amenable to fuzing; r=froydnj
Instead of crashing the process inside Transition on a bad state transition,
propagate an error up the stack (and crash higher up).

MozReview-Commit-ID: JJmAeq6xSfe

--HG--
extra : rebase_source : caba8a53603f7b0ad841b657aa3d00e827e3c68c
2018-05-03 12:08:48 -04:00
Alex Gaynor
8dbb80ef3d Bug 1323532 - Part 2 - don't codegen Transition functions in ipdl, just statically define the two variants we need; r=froydnj
MozReview-Commit-ID: GdATc0Wdsxi

--HG--
extra : rebase_source : 315b6d21d5bccac8335869790c0ce9fe7a1d78b7
2018-04-30 17:10:27 -04:00
Alex Gaynor
33a10861a4 Bug 1323532 - Part 1 - don't codegen State enums in ipdl, just statically define the two types we need; r=froydnj
MozReview-Commit-ID: CSfCBiQnKxZ

--HG--
extra : rebase_source : 9b1968ba812eed8f9e6b31a5a7cbf773970282d6
2018-04-30 15:22:18 -04:00
Alex Gaynor
dcaebb1096 Bug 1456147 - do not fail on an assertion error when calling Pickle::ExtractBuffers on an empty iterator; r=jld
MozReview-Commit-ID: 7m2QSOuxLOw

--HG--
extra : rebase_source : 776380e443647019f11e725a106f670adbb2c919
2018-04-23 11:20:07 -04:00
Andreea Pavel
7955752872 Merge mozilla-inbound to mozilla-central. a=merge 2018-05-01 13:13:09 +03:00
Andrew McCreight
1481f95980 Bug 1456942, part 6 - Add a test for ByteBuf. r=Nika
ByteBuf is a new IPDL built in type, so I wrote a very basic test for
it, based on shmem.ipdl. It was added in bug 1379680.

MozReview-Commit-ID: 4tbnljpUqCh

--HG--
extra : rebase_source : 6f423d7d9cf132aba4498be96548684e551b8e2c
2018-04-25 14:16:51 -07:00
Andrew McCreight
6d031ffbb6 Bug 1456942, part 5 - Add test for inconsistent refcounted types. r=Nika
MozReview-Commit-ID: F8WuWQ5n5yk

--HG--
extra : rebase_source : 9620bdfec42b561190a6902a479331c66aadd671
2018-04-25 13:23:46 -07:00
Andrew McCreight
aad458668f Bug 1456942, part 4 - Add a new test for |using|. r=Nika
Bug 1443954 added some new syntax to using, but I noticed that there
was not very much existing test coverage, so I wrote a new test that
covers all of the possible cases.

MozReview-Commit-ID: JRgHCtXHDLZ

--HG--
extra : rebase_source : caacc05ae5b1de0841f73e5fdba4891bfc0ee4bf
2018-04-25 11:25:24 -07:00
Andrew McCreight
5a9bc43157 Bug 1456942, part 3 - Specify the error messages for a few tests. r=Nika
Failing IPDL parser tests require that the error message is specified.

MozReview-Commit-ID: IGNTVAb5r0Q

--HG--
extra : rebase_source : 54e75ae8820f4e9ae2083b1f5382ff4151c8d59e
2018-04-25 11:23:18 -07:00
Andrew McCreight
a132bfb872 Bug 1456942, part 2 - Pass in a blank message-metadata file. r=Nika
The IPDL parser now expects a valid message-metadata to be passed in,
even though we don't need it for parser tests. Fix this by creating
and specifying a blank one. This fixes a regression from bug 1348591.

MozReview-Commit-ID: HJ34mqBdUyP

--HG--
extra : rebase_source : d444e5346f40399f1f1cf71b3d86b6dc15a4b731
2018-04-25 11:14:41 -07:00
Andrew McCreight
05b66f4baf Bug 1456942, part 1 - Always build the IPDL parser test directory. r=Nika
The ipc/ipdl/test/cxx/ subdirectory is only built when MOZ_IPDL_TESTS
is set, because it needs special code to be built into the
binary. ipdl/ should always be built, because it does not need special
support. This gating is already done in the ipc/ipdl/test/ directory,
so it shouldn't be done in ipc/ipdl/, because this stops us from
building it in a regular build.

MozReview-Commit-ID: Jpp0CeXEenR

--HG--
extra : rebase_source : 3dbb6a5c9b7f6ec8cbe9840bff240a63342ecd49
2018-04-25 11:02:33 -07:00
Aaron Klotz
0850bc3ec5 Bug 1451511: Add cross-process function hooking to DLL interceptor; r=handyman
--HG--
rename : ipc/mscom/DynamicallyLinkedFunctionPtr.h => mozglue/misc/DynamicallyLinkedFunctionPtr.h
extra : amend_source : 1eea43cda6e05f722f0b1373535d9ceabac18661
2018-04-04 16:31:43 -06:00
Yura Zenevich
55fe960cc1 Bug 1450927 - add getBoundsInCSSPixels XPCOM method. r=surkov r=jld
MozReview-Commit-ID: CTANPVQw1sG
2018-04-25 14:51:09 -04:00
Tiberius Oros
2fffa00bb3 Backed out 2 changesets (bug 1450927) for failing on ProxyAccessible.cpp(247) on a CLOSED TREE
Backed out changeset ca285aed3926 (bug 1450927)
Backed out changeset d7dd8b0d2473 (bug 1450927)
2018-04-25 19:31:50 +03:00
Yura Zenevich
db18588465 Bug 1450927 - add getBoundsInCSSPixels XPCOM method. r=surkov r=jld
MozReview-Commit-ID: CTANPVQw1sG
2018-04-25 11:45:47 -04:00
Gurzau Raul
faeb9b7ddd Merge inbound to mozilla-central. a=merge 2018-04-25 12:36:04 +03:00
Christoph Diehl
d5091638e8 Bug 777067 - Fuzzing: IPC Protocol Definition Language (IPDL) Protocols. r=jld
--HG--
rename : ipc/glue/Faulty.cpp => tools/fuzzing/faulty/Faulty.cpp
rename : ipc/glue/Faulty.h => tools/fuzzing/faulty/Faulty.h
2018-04-24 20:10:15 +02:00
Alex Gaynor
3e8fd2dc07 Bug 1450232 - in IPC, check that lengths fit in the available data before allocating data; r=mccr8
There are three things we want to be true:

a) If the child sends a large value and the parent can't allocate enough space
   for it we use an infallible allocation so the parent dies with an OOM.
b) If a fuzzer generates (huge-length, small-data) we don't try to allocate
   huge-length bytes; knowing that the read will fail.
c) No fuzzer-specific branches in the core IPC serialization code.

Finally, this makes (huge-length, small-data) consistent with other cases where
the data is potentially truncated: ReadParam returns false.

MozReview-Commit-ID: 6nDKrw5z4pt

--HG--
extra : rebase_source : 58372d29139e9545a6ed2852c7243affeab6fdb7
2018-04-19 16:53:29 -04:00
Christoph Diehl
e15214aa5e Bug 1450231 - Ignore MOZ_CRASH in FatalError() for --enable-fuzzing builds. r=jld 2018-04-03 09:51:21 +02:00
Nathan Froyd
53f1900f29 Bug 1451363 - part 6 - move GetIPCChannel into ProtocolState; r=mccr8
We can move this information into ProtocolState and save having two
virtual functions for every protocol.  Moving some bits out of the
codegen'd IPC code is a nice bonus, though we keep the strange setup
where toplevel protocols have two mChannel member variables.
2018-04-23 14:13:36 -04:00
Nathan Froyd
dbc53de3d9 Bug 1451363 - part 5 - remove ProtocolName virtual function; r=mccr8
ProtocolName() is only used for producing error messages and annotating
crash reports.  But examining actual crash reports that would have used
the result of ProtocolName() indicates that we can always tell what the
erroring protocol is due to the stack backtrace.  So having this virtual
function around just provides duplicate information, and it takes up too
much space in the vtable besides.  Let's get rid of it.
2018-04-23 14:13:36 -04:00
Nathan Froyd
e77f1868f1 Bug 1451363 - part 4 - consolidate generated code into IProtocol; r=mccr8
lower.py generates repetitious:

  SetManager(...);
  Register(...); // Or RegisterID.
  SetIPCChannel(...);

calls, which are moderately sized, given that the above call sequence
requires virtual calls in several places.  Instead of codegenning this
sequence, let's consolidate the sequence into IProtocol and change the
code generator to call into the consolidated function instead.
2018-04-23 14:13:37 -04:00
Nathan Froyd
9eac324691 Bug 1451363 - part 3 - make OnChannelReceivedMessage defined in early beta only; r=mccr8
This function is only overriden in two places, both of which go away
after early beta is done.  We shouldn't be paying for its vtable entry
after that point.
2018-04-23 14:13:37 -04:00
Nathan Froyd
7b8c73c090 Bug 1451363 - part 2b - move protocol event target access into ProtocolState; r=mccr8
The reasoning here is the same as for the protocol register/lookup
functions: these functions are all basic functionality that should not
be overriden by subclasses.
2018-04-23 14:13:37 -04:00
Nathan Froyd
8196fc2720 Bug 1451363 - part 2a - move protocol register/lookup functions into ProtocolState; r=mccr8
This functionality is base functionality for top-level and non-toplevel
protocols; nobody overrides this stuff, so it's safe to move into
ProtocolState.
2018-04-23 14:13:37 -04:00
Nathan Froyd
a796a8f982 Bug 1451363 - part 1 - move Shmem-related IProtocol interfaces into an intermediate State class; r=mccr8
IProtocol, which is inherited by every generated IPDL protocol and every
concrete protocol implementation in-tree, has a number of virtual
methods that are only relevant when distinguishing between top-level
protocols (IToplevelProtocol) and managed protocols (everything else).
These virtual methods require pointers in every protocol's vtable, which
is wasteful, and it's also somewhat confusing that many methods exist
but don't really need to be overridable in any useful way.

Let's clean this up, by creating a ProtocolState class to hold methods
that solely differ between top-level protocols and everything else.
This commit does that work and moves Shmem-related methods into this
class as a proof that this can be done in a reasonable way.
2018-04-23 14:13:37 -04:00
David Major
5b7eb8380c Bug 1456192 - make {Read,Write}IPDLParam MOZ_NEVER_INLINE; r=froydnj
MSVC's PGO inliner thinks these functions are hot enough to be inlined,
but they're really not, and inlining them bloats xul.dll quite a bit.
2018-04-23 14:13:37 -04:00