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

4625 Коммитов

Автор SHA1 Сообщение Дата
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
Kartikaya Gupta b4ad327a0e Bug 1390488 - Pass the childProcessTmpDir from the parent process to the GPU process. r=froydnj
The GPU process doesn't have the directory service enabled, so it can't find
a tmp dir to put its .extra files for crash reports. Even if we do enable the
directory service, we still don't get the correct "content process tmp dir" in
the GPU process, because the UUID baked into that folder is passed via the
preferences service, and that isn't initialized in the GPU process either.
Rather than unneccessarily initialize all this stuff in the GPU process just
to get one folder name, we can pass that folder name directly in the argv list.

See comments 12-19 on the bug for further discussion of the various solutions
attempted/explored.

MozReview-Commit-ID: 1sFg27hIe7S

--HG--
extra : rebase_source : 78eb600a58fed45800b9df8303cc4d6898d96ae9
2017-09-13 11:26:25 -04:00
Kartikaya Gupta 2d2252c7b9 Bug 1390488 - Clean up ifdef indenting and balancing comments, no functional changes. r=froydnj
This function is very large and has many nested ifdefs. Without this cleanup
it was really hard to figure out where all I needed to add code.

MozReview-Commit-ID: IeA0AWW62Mn

--HG--
extra : rebase_source : a8447df42c60da79f1c982111c8f65bd0175f1de
2017-09-13 10:17:39 -04:00
Sebastian Hengst b5c600d7f8 Backed out changeset fdffa51b68d1 (bug 1390488) for build bustage at ipc/glue/GeckoChildProcessHost.cpp:868: undefined reference to `CrashReporter::GetChildProcessTmpDir(nsIFile**)'. r=backout on a CLOSED TREE 2017-09-13 16:37:50 +02:00
Sebastian Hengst 3066457971 Backed out changeset b80e267bdf30 (bug 1390488) 2017-09-13 16:36:56 +02:00
Kartikaya Gupta 36b2d6e26d Bug 1390488 - Pass the childProcessTmpDir from the parent process to the GPU process. r=froydnj
The GPU process doesn't have the directory service enabled, so it can't find
a tmp dir to put its .extra files for crash reports. Even if we do enable the
directory service, we still don't get the correct "content process tmp dir" in
the GPU process, because the UUID baked into that folder is passed via the
preferences service, and that isn't initialized in the GPU process either.
Rather than unneccessarily initialize all this stuff in the GPU process just
to get one folder name, we can pass that folder name directly in the argv list.

See comments 12-19 on the bug for further discussion of the various solutions
attempted/explored.

MozReview-Commit-ID: 1sFg27hIe7S

--HG--
extra : rebase_source : 62ff819c5b03f642cd4b9af7c89c84b790397372
2017-09-13 10:18:15 -04:00
Kartikaya Gupta 89b69bc1d6 Bug 1390488 - Clean up ifdef indenting and balancing comments, no functional changes. r=froydnj
This function is very large and has many nested ifdefs. Without this cleanup
it was really hard to figure out where all I needed to add code.

MozReview-Commit-ID: IeA0AWW62Mn

--HG--
extra : rebase_source : a8447df42c60da79f1c982111c8f65bd0175f1de
2017-09-13 10:17:39 -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
Sebastian Hengst ecf716b8bb merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: CmMBcpJapLy
2017-09-12 11:35:15 +02:00
Bob Owen 6b4635da55 Bug 1395952: Enhance telemetry for failed launch of Windows sandboxed process by process type/error code key. r=jimm, data-r=rweiss
Only one telemetry accumlation will occur for each key per session.
2017-09-12 07:53:52 +01:00
Doug Thayer d01cafd325 Bug 1397376 - Avoid copying on initializing histogram ranges r=gfritzsche
Since LinearHistogram and its descendants inherit ranges_ from
Histogram, and we wanted to replace the copying into a std::vec
for Histogram, the simplest approach seemed to just be to
precompute ranges for all histograms, exponential or otherwise.
This should have the added benefit of reducing the memory
footprint for those histograms, since they will benefit from the
deduplication work that the precomputing script already does.

MozReview-Commit-ID: JTV5Dej5ZIb

--HG--
extra : rebase_source : de942d54b3475be54c70d43d2fa8e772ee2e18c4
2017-09-08 12:13:44 -07:00
Wes Kocher 05c4aba599 Merge m-c to autoland, a=merge CLOSED TREE
MozReview-Commit-ID: 2dRRh6JLTIL
2017-09-11 15:21:36 -07:00
Aaron Klotz 5ff52c6547 Bug 1398907: Handler path should be written using length of null-terminated string in bytes, not size of the buffer; r=eeejay
MozReview-Commit-ID: 64Zv3obsQie

--HG--
extra : amend_source : bddaf442ed1af677aac6d03417fa2afc754b07eb
2017-09-11 13:47:38 -06:00
Andrea Marchesini ee5e12fec0 Bug 1397645 - Propagation of the IPCBlobInputStream slicing to the parent process, r=asuth 2017-09-11 17:29:44 +02:00
Jeff Hajewski 91957254d0 Bug 1383816 - Adds IPC Read and Write methods for FocusTarget and NoFocusState structs and creates EmptyStructSerializer helper class; r=botond
Since NoFocusState is am empty struct used in the |mData| variant in
FocusTarget, we need to add a Reader and a Writer for IPC for NoFocusState so we
can properly read and write the |mData| variant. The NoFocusState Read and Write
methods do not read or write anything, since NoFocusState does not contain any
data. This is done by creating a helper class EmptyStructSerliazer and
inheritting from EmptyStructSerializer for the NoFocusState specialization.

The |Read| and |Write| methods for FocusTarget are updated by removing the read
and write code for the individual types of |mData| and instead makes use of the
IPC read and write methods for Variant.

MozReview-Commit-ID: 3159sp6FLek

--HG--
extra : rebase_source : ff82797c26abffbd8bbcc465dc40c621be3257d0
2017-09-02 14:10:40 -05:00
Jeff Hajewski 4a5af78bc9 Bug 1383816 - Fixes several minor errors in Variant's IPC implementation. r=botond
* VariantWriter construction switched to use aggregate initialization
* Call to AsVariant was inappropriately called via |paramType| when it should
  have been called via |mozilla|
* |Next::Read| call in VariantReader specialization was missing the |result|
  argument

MozReview-Commit-ID: Izany7iDX0k

--HG--
extra : rebase_source : 7387e72100c7d2ba8fcfd1e5a3b6d0ce6be6c740
2017-09-03 06:30:42 -05:00
Chris Manchester c0a229d4c3 Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium
MozReview-Commit-ID: FMEtb5PY7iP

--HG--
extra : rebase_source : 3cdee7528846462c758e623d6bcd2e6e17dbabff
2017-09-11 11:33:26 -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
Bill McCloskey 505889dbf4 Bug 1396155 - Change MessageChannel ordering assertion (r=froydnj)
MozReview-Commit-ID: 9MS9svUAeYR
2017-09-07 22:31:34 -07:00
Bill McCloskey ae0dd13fe2 Bug 1397468 - Shmem creation/destruction messages should not be SystemGroup (r=dvander)
It's important that shmem creation/destruction messages be ordered
correctly with respect to other messages that use shmems. For example,
if we create a shmem with ID 10 and then send a message that
references shmem 10, then the creation message must be handled before
the referencing message. If shmem creation/destruction messages go in
a separate queue from other messages, this ordering may not be
preserved.

Leaving shmem creation/destruction unlabeled will give us the correct
ordering. Eventually, though, we'll need to provide a solution that
doesn't bottleneck the event queue.

MozReview-Commit-ID: 88MrslRrfnh
2017-09-07 22:31:34 -07:00
Kris Maglione 058f9fb930 Bug 1255894: Part 10 - Move StreamFilterParent to necko child process. r=billm,dragana
MozReview-Commit-ID: 4JKUC7x3QgN

--HG--
extra : rebase_source : ec1bcdc9d89b264df65b0ec1096921a4fc105f30
2017-09-07 17:28:27 -07:00
Aaron Klotz d8518e56ab Bug 1383501: Move stream creation below buffer size check in mscom::ProxyStream::ProxyStream; r=jimm
MozReview-Commit-ID: fG4an6mSiR
2017-09-06 10:38:13 -06:00
Kris Maglione c79059605f Bug 1396856: Part 2 - Add top outer window ID to LoadInfo. r=ehsan
The WebRequest API needs to know if a given window ID is at the top level, for
various reasons. It currently figures this out by mapping a channel's load
context to a <browser> element, which tracks its current top outer window ID.
But this is inefficient, and not friendly to C++ callers.

Adding the top window ID to the load info simplifies things considerably.

MozReview-Commit-ID: Fy0gxTqQZMZ

--HG--
extra : rebase_source : bb5b1e1b3294004ca5e713fc88c4e20652296e53
2017-09-06 14:25:23 -07:00
Bevis Tseng cd0ef77297 Bug 1390076 - Label MainThreadInvoker using SystemGroup. r=aklotz 2017-08-28 14:11:38 +08:00
Bill McCloskey 677102393e Bug 1395330 - Release IPC lifetime assertions (r=mccr8)
MozReview-Commit-ID: 3CGjEofjojc
2017-09-06 15:28:41 -07:00
Nathan Froyd d549d65f97 Bug 1396869 - eliminate -Wunused-private-field warnings in Android's message pump; r=jld
Android's MessagePumpForUI includes some useless code in its
MessagePumpAndroid class, which is completely unused.  Let's go ahead
and delete that.
2017-09-06 13:10:33 -04: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
Kris Maglione bbd81a336a Bug 1255894: Part 3 - Create skeleton IPDL framework for OOP stream filters. r=baku
This interface will allow extensions running into a content process to attach
a filtering stream listener to an HTTP request in the parent process. The
content process attaches a listener by sending a message from the content
process containing the ID of the request to filter, and the ID of the add-on
making the request. The permissions and request mappings for this are handled
by the web request service added in part 2.

MozReview-Commit-ID: B7Dd3ywwCBX

--HG--
extra : rebase_source : bf67c87f03c8355109bcc1193fbcb0b1c70ef224
2017-03-22 20:33:05 -07:00
Aaron Klotz 5e15da4ff9 Bug 1395329: Modify mscom::Interceptor::Create to properly initialize IUnknown interfaces; r=jimm
MozReview-Commit-ID: 7ZLzpH030Of

--HG--
extra : rebase_source : c49df7205a20c8ef4afbfb31b6cc5f54475179a0
2017-08-30 16:34:43 -06:00
Sebastian Hengst a895d4ae49 Backed out changeset 0eb505a8ac7c (bug 1395329) for Windows static bustage in Interceptor.obj. r=backout 2017-09-01 19:58:06 +02:00
Aaron Klotz 64fc054dc6 Bug 1395329: Modify mscom::Interceptor::Create to properly initialize IUnknown interfaces; r=jimm
MozReview-Commit-ID: 7ZLzpH030Of

--HG--
extra : rebase_source : 24fd48eb72bcee18bbc75a670d0035362dbeb92d
2017-08-30 16:34:43 -06:00
Aaron Klotz 693b60cf9c Bug 1395840: Backed out changeset e7f2eaf99d46 on suspicion of breaking virtual buffers in a11y clients; r=backout 2017-09-01 10:44:41 -06:00
Aaron Klotz a55d72f6da Bug 1383501: Move a crash annotation so that it does not mask a previous annotation with the same key; r=handyman
MozReview-Commit-ID: 9u7VTKDglrS
2017-08-31 11:31:28 -06:00
Petr Sumbera 61bd1ae7d9 Bug 1392203 - Make internal libevent work on Solaris. r=glandium 2017-08-23 03:40:23 -07:00
Sebastian Hengst 030c11d7dd merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4IUksc3Mn9i
2017-08-31 14:36:51 +02:00
Aaron Klotz 81a34aa6ab Bug 1383501: Change remaining references to HKEY_CLASSES_ROOT to HKEY_LOCAL_MACHINE in mscom-related code; r=jimm
MozReview-Commit-ID: GAV3iqapXss

--HG--
extra : rebase_source : c0ed0578ca2e560203fc6c1a8fd172272209e84c
2017-08-28 15:15:35 -06:00
Aaron Klotz 2614073612 Bug 1393600: Prevent mismatches between the handler's expected interface and the one being provided by content; r=jimm
MozReview-Commit-ID: 9DTZHplk4Cz

--HG--
extra : rebase_source : 6c948e34b2bab71ba9a8df21b3d49495e2c9477b
2017-08-24 15:31:02 -06:00
Aaron Klotz f550f56c7e Bug 1394395 - Fix mscom build when ACCESSIBILITY is disabled. r=jimm
MozReview-Commit-ID: KmMTWR9FQcx

--HG--
extra : rebase_source : afb5ebce0c9478b4fba26610c2ee4292ee4afcb2
2017-08-28 12:27:28 -06:00
Wes Kocher 2198196808 Merge inbound to central, a=merge
MozReview-Commit-ID: G6QZZ8RGk6n
2017-08-29 16:14:22 -07:00
Aaron Klotz 73a014d007 Bug 1383501: Restrict mscom::MainThreadRuntime crash annotations to chrome and content to avoid false-positive leakchecks in gpu process; r=bustage CLOSED TREE
--HG--
extra : rebase_source : df8afbd05f6743163710cb29b1dab18a7aeaed3a
2017-08-29 12:00:04 -06:00
Aaron Klotz 436ebb0970 Bug 1383501: Follow-up: Remove unnecessary assertion; r=bustage 2017-08-29 11:32:19 -06:00
Jan Varga 1cb8d244c7 Bug 1351488 - Simplify IPCStreamSource::DoRead() and remove reallocation of the buffer (r=asuth)
MozReview-Commit-ID: 90mZpD1YqpV

--HG--
extra : rebase_source : 4a46872e1a89cabd43576b9437a93912185af4f5
2017-08-29 10:42:33 -05:00
Aaron Klotz de44372d1c Bug 1383501: More crash annotation improvements for mscom proxy unmarshaling failures; r=jimm
MozReview-Commit-ID: DIOsFREuhxj

--HG--
rename : ipc/mscom/InterfaceRegistrationAnnotator.cpp => ipc/mscom/RegistrationAnnotator.cpp
rename : ipc/mscom/InterfaceRegistrationAnnotator.h => ipc/mscom/RegistrationAnnotator.h
2017-08-28 15:16:20 -06:00
Tom Ritter ecc4b5ef67 Bug 1394868 Fix include casing in VTableBuilder.h to fix MinGW build r=aklotz
MozReview-Commit-ID: 8YHKyOOd7S5

--HG--
extra : rebase_source : d1ae0def3418235632b2ac8d671d4e8d3f6fa2b4
2017-08-29 11:34:58 -05:00
Jan de Mooij 3e1a11f41d Bug 1393790 part 1 - Remove JS_STUBGETTER and JS_STUBSETTER. r=jorendorff 2017-08-28 10:39:57 +02:00
Wes Kocher 7ea5ed6e6a Merge m-c to autoland, a=merge
MozReview-Commit-ID: LEKykpTAKjv
2017-08-25 17:32:33 -07:00
Wes Kocher 68149d6a59 Merge inbound to central, a=merge
MozReview-Commit-ID: 3N9jinnrmjb
2017-08-25 16:21:57 -07:00
Sebastian Hengst 6fd5b9e1ca merge mozilla-central to autoland. r=merge a=merge 2017-08-25 13:19:59 +02:00
Sebastian Hengst 31302b9cec merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 5armhVE9Jui
2017-08-25 13:12:04 +02:00
Cervantes Yu 7d0d416f10 Bug 1390143 - Generate the parent minidump synchronously to keep parent process's stack when creating paired minidumps. r=gsvelto
Bug 1360308 offloads IO operations from the main thread when we create paired minidumps.
This breaks the symmetry of paired minidumps: the thread stacks of the parent minidump
doesn't correspond to the thread stacks in the child minidumps and renders the parent
stack useless. This patch moves generation of the parent minidump back to the main
thread to keep the context of the parent process when creating paired minidumps. Child
minidump is still created asynchronously.

MozReview-Commit-ID: 9RmBAuXMPSX
2017-08-25 11:12:34 +08:00
Aaron Klotz 5921c2115b Bug 1393589: Refactor NOPING marshaling into its own class, mscom::FastMarshaler, and use it with IGeckoBackChannel; r=jimm
MozReview-Commit-ID: 9osDoYcvtWV

--HG--
extra : rebase_source : 9ead42f1b0c79f11b15121274a996d33d7ad4830
2017-08-17 15:54:28 -06:00
Aaron Klotz d7d645f5c4 Bug 1390652: Part 3 - Add proxy wrapper that passes its inner proxy through content as a blob; r=jimm
MozReview-Commit-ID: A4pAyiuJUlz
2017-08-21 15:47:44 -06:00
Aaron Klotz bd05dcbb61 Bug 1392681: Move IStream creation out of mscom::ProxyStream into its own utility functions; r=jimm
MozReview-Commit-ID: EucWtw0YeBI
2017-08-22 10:48:12 -06:00
Aaron Klotz 153e6759b5 Bug 1390652: Part 2 - Add support for TABLESTRONG marshaling to mscom::ProxyStream; r=jimm
MozReview-Commit-ID: 8hSvkULxF50
2017-08-16 16:31:07 -06:00
Ryan VanderMeulen 2f60ba6fc6 Merge m-c to autoland. a=merge
CLOSED TREE

--HG--
extra : amend_source : 57c6e5e3155c1ad79d409f8a71c40704297b0600
2017-08-24 20:59:40 -04:00
Tom Ritter 9f954680d0 Bug 1392688 Make variable DebugOnly to silence warning about it being unused r=jld
MozReview-Commit-ID: 7wSkP2Lcd0W

--HG--
extra : rebase_source : 1aa49424442f9bc278c257a3a65d93b22f04aea8
2017-08-22 12:41:24 -05:00
Gabriele Svelto 7387dc791b Bug 1393435 - Remove unnecessary inclusions of the crash reporter header files; r=mconley
MozReview-Commit-ID: 3tdFDrTYql8

--HG--
extra : rebase_source : cc862688f19afb8a5cf8c7cf915a5d3d45f041b5
2017-08-07 14:10:02 +02:00
Bill McCloskey c0ec174576 Bug 1391848 - Use nsIEventTarget instead of nsIThread for MessageLoop/Pump (r=kanru)
MozReview-Commit-ID: 8op94arX6FE
2017-08-25 10:28:23 -07:00
Bill McCloskey 2f11271997 Bug 1391865 - Use same PBackground for all cooperative threads (r=bevis)
MozReview-Commit-ID: 5Fgp42o8zbE
2017-08-25 10:28:23 -07:00
Bill McCloskey 587e22d043 Bug 1333962 - Add nsILabelableRunnable to label runnables like vsync (r=kanru)
MozReview-Commit-ID: FdvqV0LfFsz
2017-08-25 10:28:23 -07:00
Jan de Mooij 0f2181d932 Bug 1393715 - Remove JSFUN_STUB_GSOPS and JS_FS. r=arai 2017-08-25 17:04:12 +02:00
Eric Rahm a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Tom Ritter d0293ed01d Bug 1392684 Remove const qualifier that gets discarded after function return in mscom::AgileReference r=aklotz
gcc throws a warning-as-error saying that the const qualifier will be ignored by function callers.
Remove the const qualifier to remove the warning.

MozReview-Commit-ID: JRQMz6Zdcdz

--HG--
extra : rebase_source : 687a7b310270823180b848d6c65cba7ba688b2ae
2017-08-22 17:25:27 -05:00
Boris Zbarsky f979e78b8c Bug 1393063 - Part 1: Fix IPCStreamSource's handling of async streams returning 0 from Available. r=bkelly
This aligns the code more closely with how the input stream pump works: 0
available bytes when the stream itself told us it's ready means the stream is at
the end.

Note from asuth: This fix was originally part of bug 1371699, it was part 5.
However, its initial landing was backed out, but it is now very much needed for
bug 1393063, so I'm landing it.

--HG--
extra : rebase_source : 0675d9fd5796a90a4e206cbfa350cc5b4cd94d54
2017-06-13 16:16:55 -04: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
J. Ryan Stinnett c3afba59bb Bug 1390736 - Add RUST_LOG_CHILD for child-only logging. r=froydnj
For certain use cases, it's nice to be able to target Rust debug logging to only
child processes (so you focus on web content vs. chrome running in the parent).

This adds `RUST_LOG_CHILD` which is copied to `RUST_LOG` when launching child
processes.

MozReview-Commit-ID: BWAZ4f51AW

--HG--
extra : rebase_source : 4663803f4ebd35d3fa655a2e2c404afa81671c2e
2017-05-01 16:42:15 -05:00
Tom Ritter c9aa053d8a Bug 1394874 Fix function order and add include to fix MinGW build r=aklotz
nsPrintfCString.h was not included, so it caused an error
GetStringValue was called before it was defined

MozReview-Commit-ID: HYoyWyaxqaZ

--HG--
extra : rebase_source : bf2c253cdba0c2fcf079a5b9bb275d39c6074f44
2017-08-30 00:36:14 -05:00
Wes Kocher c043502159 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 7sFZmPUXSx6
2017-08-18 17:21:29 -07:00
Eric Rahm 0938982c90 Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj
--HG--
extra : rebase_source : 063c7f95dda063eafabfa1921366bd1957b8fe73
2017-08-11 17:45:18 -07:00
Aaron Klotz 322aa4efee Bug 1383501: Add crash report annotations to proxy unmarshaling failure paths; r=jimm
--HG--
extra : amend_source : 69af068238f7792d2e579e02031d0b1e67b95e52
2017-08-09 15:07:11 -06:00
Masatoshi Kimura f7fb96c7e5 Bug 1390106 - Stop using versioned scripts in tests. r=jmaher
MozReview-Commit-ID: ErqU4M1f7Oj

--HG--
extra : rebase_source : 968490c3f787949324c44ba75b6daf5c346f54c3
2017-08-14 20:46:55 +09: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
Wes Kocher 5a4357c768 Merge inbound to central, a=merge
MozReview-Commit-ID: GArkKmOFIVH
2017-08-11 13:15:33 -07:00
Wes Kocher cff9e9b197 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2YvHbITn9w3
2017-08-10 18:25:34 -07:00
Sebastian Hengst 51d351f567 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-10 17:41:11 +02:00
Doug Thayer a70aac6a11 Bug 1388748 - Don't resize histogram ranges on init r=gfritzsche
We were using std::vector::assign, which resizes the vector to
match the incoming data. This isn't what we want, as ranges_ has
already been sized to bucket_count_ + 1. Instead, just use a
copy.

MozReview-Commit-ID: EGuW5jj7Rpq

--HG--
extra : rebase_source : 616d61fc27c7e43c22ea69e11e070ba958bf20a9
2017-08-09 10:21:09 -07:00
Bill McCloskey 81720f1abb Bug 1384336 - Fix to MainThreadInvoker to avoid deadlocks (r=aklotz)
When removing our Windows message loop pumping code in the content
process, a11y code on the MTA thread must have some way to wake up the
main thread. The main thread could be blocked either on a conditional
variable waiting for a Gecko event, or it could be blocked waiting on
a Windows HANDLE in IPC code (doing a sync message send). In the
former case, we wake it up by posting an event to the main thread. In
the latter case, we continue to use the asynchronous procedure call
mechanism.

MozReview-Commit-ID: FN6KWaGo9Zl
2017-08-09 21:24:20 -07:00
Mike Hommey 889e867916 Bug 1388981 - Fixup EVENT__SIZEOF_OFF_T. r=jld
There are two problems related with EVENT__SIZEOF_OFF_T:
- When building Firefox with -D_FILE_OFFSET_BITS=64, off_t is 64 bits,
  but the in-tree event-config.h still defines EVENT__SIZEOF_OFF_T to 4.
- When building Firefox *without* -D_FILE_OFFSET_BITS=64 (the default)
  against a system libevent that was built with -D_FILE_OFFSET_BITS=64,
  its event-config.h defines EVENT__SIZEOF_OFF_T to 8, which then
  doesn't match off_t size.

For the latter, libevent actually defines its own off_t type, that
callers are supposed to use instead of off_t. So that's what our
static_assert should be checking.

--HG--
extra : rebase_source : 4231530e3c260b2cdd53e15206d48ef0779e394c
2017-08-10 14:03:08 +09:00
Bob Owen 132c433aab Bug 1388048 - Check for failure of ResolveJunctionPointsAndSymLinks in GeckoChildProcessHost::GetPathToBinary. r=jimm
This patch also adds logging into ResolveJunctionPointsAndSymLinks to help diagnose issues that
might arise if the resolution fails or the path is not usable for some reason.
2017-08-07 17:27:10 +01:00
Carsten "Tomcat" Book c329d562fb merge mozilla-inbound to mozilla-central a=merge 2017-08-09 11:37:08 +02:00
Eric Rahm fe18bf0131 Bug 1386825 - Part 4: Remove remaining instances of MOZ_B2G. r=froydnj
MozReview-Commit-ID: 8r4eMwiZ4Vg
2017-08-08 14:41:09 -07:00
Jan Varga ac9ac9e347 Bug 1350637 - Part 9: Move Local Storage event broadcasting from PContent to PBackground; r=asuth 2017-08-08 23:02:28 +02:00
Jan Varga 03162967f7 Bug 1350637 - Part 8: Implement BackgroundParent::GetLiveActorArray; r=billm 2017-08-08 23:02:16 +02:00
Jan Varga 9d50c72e29 Bug 1350637 - Part 6: Fix a deadlock when main process storage child actor triggers storage thread initialization; r=asuth 2017-08-08 23:01:52 +02:00
Jan Varga 9ea37e48ab Bug 1350637 - Part 3: Move mozilla::dom::Optional serialization helper to ipc/glue/IPCMessageUtils.h to make it available to other consumers; r=billm 2017-08-08 23:01:03 +02: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
Stone Shih 7de447a25a Backed out changeset 46d8f42863af (bug 1351148) 2017-08-11 15:19:44 +08:00
Doug Thayer d8e7d5c150 Bug 1383210 - Use precomputed histogram buckets r=gfritzsche
The log and exp calls in base::Histogram::InitializeBucketRange()
were showing up in profiles. This patch uses the precomputed
buckets for exponential histograms instead of computing them at
runtime. Though linear histograms do show up in the profile that
prompted this change, they contribute much less, and due to the
trivial nature of generating these, it's unlikely that a static
cache would provide much if any speedup.

MozReview-Commit-ID: IavFwoWjFhk

--HG--
extra : rebase_source : ad7d641ab2982f5cf8d202c7c382bfc26daa4bd5
2017-08-04 10:02:28 -07:00
Wes Kocher 4550ccb5d1 Backed out changeset 277c7e4952a8 (bug 1383210) for flake8 failures a=backout
MozReview-Commit-ID: 3j1ROBxjf2Z
2017-08-08 12:38:41 -07:00
Doug Thayer b31336cbe3 Bug 1383210 - Use precomputed histogram buckets r=gfritzsche
The log and exp calls in base::Histogram::InitializeBucketRange()
were showing up in profiles. This patch uses the precomputed
buckets for exponential histograms instead of computing them at
runtime. Though linear histograms do show up in the profile that
prompted this change, they contribute much less, and due to the
trivial nature of generating these, it's unlikely that a static
cache would provide much if any speedup.

MozReview-Commit-ID: IavFwoWjFhk

--HG--
extra : rebase_source : 18101da322faf9477acae266e9e27f579464f8d0
2017-08-04 10:02:28 -07:00
Jason Orendorff 5df09661ff Bug 1363200 - JSAPI for realms: JS_SetVersionForCompartment() -> JS::SetVersionForCurrentRealm(). r=sfink
--HG--
extra : rebase_source : 8b0d53210fe827a648251395e038cb7b9eb616e9
2017-05-22 14:40:13 -05:00
Nathan Froyd 0e2d3cda96 Bug 1387134 - out-of-line type-specific Pickle::Write* methods; r=billm
Having these functions declared in the class definition and therefore
inlined means that every call site is bloated by having to store the
argument so its address can be taken and load the sizeof() constant.
There's no good reason that we should be doing this; the Read*
counterparts are also out-of-lined, which hasn't seemed to cause any
problems.  Moving these out-of-line saves about 200K (!) of space on
x86-64 Linux.
2017-08-04 17:12:38 -04:00
Wes Kocher 2196b718d3 Merge inbound to central, a=merge
MozReview-Commit-ID: DlSLhaepjeU
2017-08-03 18:06:53 -07:00
Jan Varga 35496c2080 Bug 1283609 - Part 4: Remove unused code; r=billm 2017-08-03 11:22:32 +02:00
Jan Varga ae5b947527 Bug 1283609 - Part 3: Core changes, stop using nested event loop in BackgroundChild::GetOrCreateForCurrentThread(); r=billm
- BackgroundChild::GetOrCreateForCurrentThread(nsIIPCBackgroundChildCreateCallback* aCallback) emulates former asynchronous behavior
2017-08-03 11:22:11 +02:00
Jan Varga fdb1375046 Bug 1283609 - Part 2: Rename BackgroundChild::SynchronouslyCreateForCurrentThread to BackgroundChild::GetOrCreateForCurrentThread; r=billm 2017-08-03 11:21:53 +02:00
Jan Varga 72d235da4a Bug 1283609 - Part 1: Add an IToplevelProtocol::Open overload that takes an nsIEventTarget; r=billm 2017-08-03 11:21:44 +02:00
Aaron Klotz 13318abe9e Bug 1386422: Clean up error handling and stream positioning in StreamHandlerFromOBJREF; r=jimm
MozReview-Commit-ID: HmbZeX76bkb
2017-08-01 15:43:26 -06: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
Masatoshi Kimura 8ed4a80a4e Bug 1322874 - Get rid of nsIURI.originCharset. r=valentin.gosu
nsIURI.originCharset had two use cases:
 1) Dealing with the spec-incompliant feature of escapes in the hash
    (reference) part of the URL.
 2) For UI display of non-UTF-8 URLs.

For hash part handling, we use the document charset instead. For pretty
display of query strings on legacy-encoded pages, we no longer care to them
(see bug 817374 comment 18).

Also, the URL Standard has no concept of "origin charset". This patch
removes nsIURI.originCharset for reducing complexity and spec compliance.

MozReview-Commit-ID: 3tHd0VCWSqF

--HG--
extra : rebase_source : b2caa01f75e5dd26078a7679fd7caa319a65af14
2017-08-02 20:43:30 +09: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
Bill McCloskey 638d315450 Bug 1388920 - Call OnChannelConnected handler in parent protocols (r=bkelly)
MozReview-Commit-ID: 8lmpPlmraSw
2017-08-10 14:31:13 -07:00
Georg Koppen 235a9211b1 Bug 1372959 - Fix broken mingw-w64 build with --enable-accessibility. r=aklotz
This is a patch originally proposed by Jacek Caban.

--HG--
extra : rebase_source : 6f4c8049baec67f00484364b36a98d1a583eb2b5
2017-08-09 12:49:45 +02:00
Bob Owen 00eaf28579 Bug 1386502 - Whitelist paths added via pref for files opened in the content process during some tests. r=jimm
--HG--
extra : rebase_source : a34c7e1d445154843e8efd0146824dff0bdfda9b
2017-08-07 17:42:00 +01:00
Tom Ritter 762be623bf Bug 1390624 Resolve missing do_GetCurrentThread instance by including nsThreadUtils.h r=cyu
MozReview-Commit-ID: 2cQN4VTix7q

--HG--
extra : rebase_source : 169da32f32ae5c3f74b928e04b217cf9b6d58e4f
2017-08-16 20:12:37 -05:00
Aaron Klotz 9788ece7db Bug 1384328: Follow-up: Fix some error handling problems exposed by 71df96e65afa; r=bustage
MozReview-Commit-ID: GOar3lF4kCr
2017-08-01 15:11:34 -06:00
Dean deef8d264a Bug 1381470 - Added a less memory consuming method to tell if a histogram is empty. r=chutten 2017-07-31 21:38:48 +02:00
Aaron Klotz 43fe35a023 Bug 1384328: Marshal proxies destined for parent main thread with MSHLFLAGS_NOPING; r=jimm
MozReview-Commit-ID: Jfd4reMNYU0

--HG--
extra : rebase_source : 313b8db3381b730cc06843658b56a9fe9b4fa54c
2017-07-31 16:11:19 -06:00
Bob Owen 7aa93cb129 Bug 1369669: Resolve junction points and symlinks in the child executable path before launching. r=jimm
This is required so that DLL paths loaded after lockdown match policy rules.
2017-07-29 09:29:56 +01:00
Bill McCloskey c6c1f4bbc9 Bug 1385413 - Remove thread parameter from onDispatchedEvent (r=erahm)
This parameter isn't used by any implementation of onDispatchedEvent,
and keeping the parameter makes later refactorings in this bug more difficult.

MozReview-Commit-ID: 90VY2vYtwCW
2017-07-28 13:09:06 -07:00
Sebastian Hengst 6389867b7c Backed out changeset 1d87b1dc4ce2 (bug 1272697) for failing mochitest test_interfaces.html for 'ByteLengthQueuingStrategy' and wpts, e.g. general.dedicatedworker.html. r=backout on a CLOSED TREE 2017-07-28 20:20:50 +02:00
Till Schneidereit dec687b07c Bug 1272697 - Part 2: Add runtime pref to enable streams. r=baku,jonco
MozReview-Commit-ID: 5OSxbcd3jQB
2017-07-28 17:48:12 +02: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
Carsten "Tomcat" Book d360d49d2a merge mozilla-inbound to mozilla-central a=merge 2017-07-27 10:57:25 +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
Bevis Tseng a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Aaron Klotz 748441ac46 Bug 1383260: Fix problems with unmarshaling handler-wrapped object when in its original apartment; r=jimm 2017-07-21 16:16:16 -06:00
Kartikaya Gupta ba4b3b9101 Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.

MozReview-Commit-ID: 6s78RvPFMzv

--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
2017-07-26 16:03:57 -04:00
Carsten "Tomcat" Book 198430bca2 merge mozilla-inbound to mozilla-central a=merge 2017-07-26 11:11:40 +02:00
Wes Kocher f19f28adfd Merge m-c to autoland, a=merge
MozReview-Commit-ID: F1X8wKqbkg
2017-07-25 19:16:09 -07:00
Nathan Froyd d501af7ca9 Bug 1378973 - label mscom's MainThreadRelease runnable; r=billm
These pointers don't touch things in the DOM, so SystemGroup is fine for
releasing them.
2017-07-25 11:17:32 -04:00
Bill McCloskey c590d9adb8 Bug 1383322 - Allow changing the current MessageLoop (r=dvander)
MozReview-Commit-ID: 1kyHqrhOzjF
2017-07-25 19:52:29 -07:00
Wes Kocher a1eadef812 Merge m-c to autoland, a=merge
MozReview-Commit-ID: B7oWq7qfpJ0
2017-07-24 18:13:05 -07:00
Chris H-C d85e538902 bug 1366294 - Part 11 - Fix OSX Build. r=gfritzsche
MozReview-Commit-ID: DSljXr8ZRhy
2017-07-24 09:52:26 -04:00
Chris H-C 6f04d378e5 bug 1366294 - Part 9 - Fix Windows Build. r=gfritzsche
MozReview-Commit-ID: 8P2W8fD2xNi
2017-07-24 09:52:26 -04:00
Georg Fritzsche 3a649263e4 Bug 1366294 - Part 3 - Refactor TelemetryHistogram storage. r=chutten
Previously we used the base::StatisticsRecorder object for storage by name.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.

In this re-write, we instead introduce the following lookup paths (managed in TelemetryHistogram.cpp):
- Main storage:
  - (histogramId, processId, sessionOrSubsession) -> Histogram*
  - (histogramId, processId) -> KeyedHistogram* (this handles subsessions internally)
- Lookup:
  - (histogramName) -> histogramId
  - (HistogramID) -> bool (is recording enabled for this histogram?)

This is wrapped with a few lookup functions.

This also allows us to keep HistogramIDs in the JS histogram instances now, instead of pointers to Histogram instances.
That means Histogram instance life-time management is now properly contained inside TelemetryHistogram.cpp.

MozReview-Commit-ID: 5yijGv7mc89
2017-07-24 09:52:26 -04:00
Georg Fritzsche 681bd8d85a Bug 1366294 - Part 2 - Cleanup Chromium Histogram code. r=chutten
- A histogram name identifies a set of histogram instances, for which storage and lookup will be handled in TelemetryHistogram.cpp.
  So we remove the names from histogram code.
- Various unused macros in the header are removed.
- Remaining traces of StatisticsRecorder are removed from the Histogram class code.
- Some unused methods are dropped that were about printing histograms to ASCII etc.

MozReview-Commit-ID: BF2rLSpKOJ8
2017-07-24 09:52:26 -04:00
Georg Fritzsche 09d533dae9 Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-24 09:52:26 -04: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
Christoph Diehl 8f5475d68d Bug 1382234 - Disable MOZ_PICKLE_SENTINEL_CHECKING in --enable-fuzzing builds. r=billm 2017-07-22 07:08:25 +00:00
Marco Castelluccio 9ca39b7d11 Bug 1380659 - Introduce code coverage component to dump/reset coverage counters. r=erahm
--HG--
rename : ipc/glue/CodeCoverageHandler.cpp => tools/code-coverage/CodeCoverageHandler.cpp
rename : ipc/glue/CodeCoverageHandler.h => tools/code-coverage/CodeCoverageHandler.h
extra : rebase_source : 77b2f698d9120d3fadcae65b3d22831a9e5429f9
2017-07-14 10:58:56 +02:00
Marco Castelluccio 61cece8105 Bug 1380659 - Add new IPC messages to dump/reset coverage counters. r=kanru
--HG--
extra : rebase_source : 16378ed081a92593f9f04dfb5f8e98a61ef71338
2017-07-14 10:57:22 +02:00
Sylvestre Ledru 7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Aaron Klotz 91e2402723 Bug 1381618: Make mscom::AgileReference::mIid be an IID instead of REFIID; r=jimm
MozReview-Commit-ID: 58rKbw53ZID
2017-07-17 14:35:58 -06:00
Lee Salzman e6656c5e8b Bug 1380530 - don't allow new tasks to be posted to MessageLoop when it is shutting down. r=billm
MozReview-Commit-ID: KsXK7UPIO4P
2017-07-21 11:33:53 -04:00
Bill McCloskey 848a0761c6 Bug 1340941 - Fix race if IPDL actors are created and then quickly destroyed (r=bevis)
MozReview-Commit-ID: FnjvWePo6Oo
2017-07-25 12:23:21 -07:00
Ryan VanderMeulen f4e3a91992 Merge m-c to inbound. a=merge 2017-07-21 09:40:28 -04:00
Sebastian Hengst 367f0ac5a2 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IWRTFZdtzaE
2017-07-21 12:56:44 +02:00
Sebastian Hengst 838439065a Backed out changeset e3825e35e2e2 (bug 1366294) for crashing various tests with [@ TelemetryHistogram::DeInitializeGlobalState()], e.g. in bc's browser_permission_dismiss.js. r=backout on a CLOSED TREE 2017-07-21 15:21:49 +02:00
Sebastian Hengst 6e8c3ee29f Backed out changeset df6adc4c95f2 (bug 1366294) 2017-07-21 15:20:16 +02:00
Sebastian Hengst 60fe11dece Backed out changeset ed0027bb1187 (bug 1366294) 2017-07-21 15:20:11 +02:00
Sebastian Hengst 3a5a4516ab Backed out changeset 0ed44ecf9062 (bug 1366294) 2017-07-21 15:19:41 +02:00
Sebastian Hengst ae069ab9d5 Backed out changeset 140948f5b955 (bug 1366294) 2017-07-21 15:19:31 +02:00
Chris H-C 5572efbe7a bug 1366294 - Part 11 - Fix OSX Build. r=gfritzsche
MozReview-Commit-ID: DSljXr8ZRhy
2017-07-21 08:41:44 -04:00
Chris H-C 94b0e907b6 bug 1366294 - Part 9 - Fix Windows Build. r=gfritzsche
MozReview-Commit-ID: 8P2W8fD2xNi
2017-07-21 08:41:44 -04:00
Georg Fritzsche 8eb19e8693 Bug 1366294 - Part 3 - Refactor TelemetryHistogram storage. r=chutten
Previously we used the base::StatisticsRecorder object for storage by name.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.

In this re-write, we instead introduce the following lookup paths (managed in TelemetryHistogram.cpp):
- Main storage:
  - (histogramId, processId, sessionOrSubsession) -> Histogram*
  - (histogramId, processId) -> KeyedHistogram* (this handles subsessions internally)
- Lookup:
  - (histogramName) -> histogramId
  - (HistogramID) -> bool (is recording enabled for this histogram?)

This is wrapped with a few lookup functions.

This also allows us to keep HistogramIDs in the JS histogram instances now, instead of pointers to Histogram instances.
That means Histogram instance life-time management is now properly contained inside TelemetryHistogram.cpp.

MozReview-Commit-ID: 5yijGv7mc89
2017-07-21 08:41:44 -04:00
Georg Fritzsche f4c024d936 Bug 1366294 - Part 2 - Cleanup Chromium Histogram code. r=chutten
- A histogram name identifies a set of histogram instances, for which storage and lookup will be handled in TelemetryHistogram.cpp.
  So we remove the names from histogram code.
- Various unused macros in the header are removed.
- Remaining traces of StatisticsRecorder are removed from the Histogram class code.
- Some unused methods are dropped that were about printing histograms to ASCII etc.

MozReview-Commit-ID: BF2rLSpKOJ8
2017-07-21 08:41:44 -04:00
Georg Fritzsche e6a136758b Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-21 08:41:44 -04:00
Nicholas Nethercote 9b33b50478 Bug 1382099 - Remove MOZ_WIDGET_GONK from ipc/. r=jld.
--HG--
extra : rebase_source : fab4cc67bb4d9911e9ca4f9062bfaa2772a1da4f
2017-07-21 10:45:49 +10:00
Wes Kocher f361e1638d Backed out 13 changesets (bug 1366294) for leaking base::Histogram::FactoryGet a=backout CLOSED TREE
Backed out changeset f2d79c13799a (bug 1366294)
Backed out changeset b722d638f6ed (bug 1366294)
Backed out changeset aee317b1445d (bug 1366294)
Backed out changeset 14f9f9521d4f (bug 1366294)
Backed out changeset beb5f00c4b19 (bug 1366294)
Backed out changeset 72635bc1ba25 (bug 1366294)
Backed out changeset c387459a798b (bug 1366294)
Backed out changeset 476daf9a5846 (bug 1366294)
Backed out changeset e7ce6a06c131 (bug 1366294)
Backed out changeset 1cc736607aab (bug 1366294)
Backed out changeset 175c3ccb0015 (bug 1366294)
Backed out changeset 96b594816a21 (bug 1366294)
Backed out changeset 57400dd449ad (bug 1366294)

MozReview-Commit-ID: J6PyVMGwJ74
2017-07-19 12:49:46 -07:00
Chris H-C 0299782caf bug 1366294 - Part 11 - Fix OSX Build. r=gfritzsche
MozReview-Commit-ID: DSljXr8ZRhy
2017-07-19 14:27:55 -04:00
Chris H-C 43659711de bug 1366294 - Part 9 - Fix Windows Build. r=gfritzsche
MozReview-Commit-ID: 8P2W8fD2xNi
2017-07-19 14:27:44 -04:00
Georg Fritzsche c7cb5fcaa6 Bug 1366294 - Part 3 - Refactor TelemetryHistogram storage. r=chutten
Previously we used the base::StatisticsRecorder object for storage by name.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.

In this re-write, we instead introduce the following lookup paths (managed in TelemetryHistogram.cpp):
- Main storage:
  - (histogramId, processId, sessionOrSubsession) -> Histogram*
  - (histogramId, processId) -> KeyedHistogram* (this handles subsessions internally)
- Lookup:
  - (histogramName) -> histogramId
  - (HistogramID) -> bool (is recording enabled for this histogram?)

This is wrapped with a few lookup functions.

This also allows us to keep HistogramIDs in the JS histogram instances now, instead of pointers to Histogram instances.
That means Histogram instance life-time management is now properly contained inside TelemetryHistogram.cpp.

MozReview-Commit-ID: 5yijGv7mc89
2017-07-19 14:27:06 -04:00
Georg Fritzsche 3d975a580b Bug 1366294 - Part 2 - Cleanup Chromium Histogram code. r=chutten
- A histogram name identifies a set of histogram instances, for which storage and lookup will be handled in TelemetryHistogram.cpp.
  So we remove the names from histogram code.
- Various unused macros in the header are removed.
- Remaining traces of StatisticsRecorder are removed from the Histogram class code.
- Some unused methods are dropped that were about printing histograms to ASCII etc.

MozReview-Commit-ID: BF2rLSpKOJ8
2017-07-19 14:27:02 -04:00
Georg Fritzsche 2932617587 Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-19 14:26:56 -04:00
Aaron Klotz 24cb1e1776 Bug 1379643: When running under sandbox level >= 3, parent should retain IStream of marshaled interface to be destroyed later; r=jimm
MozReview-Commit-ID: Egb6Yahdbxm

--HG--
extra : rebase_source : a59cfdfdbd1203b89822e68765bd5a0f35b67ada
2017-07-19 12:07:45 -06: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
Haik Aftandilian 099bd2c89b Bug 1380690 - Part 1 - Save repo and object dir paths in Mac bundle Info.plist files. r=gps
On Mac developer builds, add $topsrcdir and $topobjdir paths to the application
bundle Info.plist files for the main process and plugin-container, removing the
dependency on MOZ_DEVELOPER_REPO_DIR and MOZ_DEVELOPER_OBJ_DIR environment variables.

MozReview-Commit-ID: JfFFK9sEayn

--HG--
extra : rebase_source : ab2d8dd625783326b4108eb1e4ebaf49ef8fbedb
2017-07-17 17:13:18 -07:00
Jeff Hajewski 447dee122f Add IPC support for mozilla::Variant (bug 1371846); r=botond
Changes made:
* Add IPC::ParamTraits as a friend to mozilla::Variant in Variant.h.
  This is required so that `tag` can be accessed in the
  IPC::ParamTraits specialization.

* Add a IPC::ParamTraits specialization to IPCMessageUtils.h.

MozReview-Commit-ID: B3pGrZE1z0O

--HG--
extra : rebase_source : cb73873b87401846f79e124249c7ce00dff2de77
2017-07-21 07:18:02 -05: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
Markus Stange 5ecaa17d34 Bug 1382910 - Propagate the current profiler state to a newly-launched child process using environment variables. r=njn
This also fixes the bug where we would always profile child processes if the
parent process had been launched with MOZ_PROFILER_STARTUP=1, regardless of
whether the profiler was still running in the parent process.

MozReview-Commit-ID: LkIpYmKJOJ1

--HG--
extra : rebase_source : 49b38bc58ded91ecc2e2fce08bcb4f2d20a13b92
2017-07-24 18:16:33 -04:00
Markus Stange 95eccb68b1 Bug 1382908 - Make TaskTracer build and run again. r=billm
MozReview-Commit-ID: 8SqBWgOXc6H

--HG--
extra : rebase_source : 4b5cbb34740ebd439431188dd8c6df02eeee3969
2017-07-24 18:35:07 -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
Ryan VanderMeulen 84f63b9d2f Merge m-c to autoland. a=merge 2017-07-18 12:52:05 -04:00
Tom Ritter 22bb00663c Bug 1380147 Correct Windows flag name r=jld
MozReview-Commit-ID: mO7gO99fDV

--HG--
extra : rebase_source : 770d37802db80d8f4e98c389bf2d51bdd125dcae
2017-07-12 13:42:57 -05: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
Andrea Marchesini 50f9ea47a3 Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02: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
Valentin Gosu f957fd9eef Bug 945240 - Make nsIURI.host & variants return ASCII strings r=mcmanus
* nsStandardURL::GetHost/GetHostPort/GetSpec contain an punycode encoded hostname.
* Added nsIURI::GetDisplayHost/GetDisplayHostPort/GetDisplaySpec which have unicode hostnames, depending on the hostname, character blacklist and the network.IDN_show_punycode pref
* remove mHostEncoding since it's not needed anymore (the hostname is always ASCII encoded)
* Add mCheckedIfHostA to know when GetDisplayHost can return the regular host, or when we need to use the cached mDisplayHost

MozReview-Commit-ID: 4qV9Ynhr2Jl
* * *
Bug 945240 - Make sure nsIURI.specIgnoringRef/.getSensitiveInfoHiddenSpec/.prePath contain unicode hosts when network.standard-url.punycode-host is set to false r=mcmanus

MozReview-Commit-ID: F6bZuHOWEsj

--HG--
extra : rebase_source : d8ae8bf774eb22b549370ca96565bafc930faf51
2017-07-11 19:09:10 +02:00
Aaron Klotz 3783507270 Bug 1380158: Use the aIID parameter supplied to mscom::ProxyStream's constructor to simplify and speed up proxy unmarshaling; r=jimm
MozReview-Commit-ID: 5YXpQXYGgjP

--HG--
extra : rebase_source : d6a8dbb524282f9365e055bc96879eeb4bbf78e3
2017-07-12 15:00:27 -06: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
Benjamin Smedberg 71201c57db Prequel to bug 1352559 - #includes and forward declarations necessary for various files to build properly exposed by unified build changes, r=trivial
MozReview-Commit-ID: 6VlJIwIH9ir

--HG--
extra : rebase_source : b0955e42e48aee7fdeca12008a8845fbef76414b
extra : source : f24b862218378d14e6dfc47be54cdecb66537644
2017-07-12 12:26:39 -04:00
Sebastian Hengst 873c61c4f6 Backed out changeset f24b86221837 (bug 1352559) for build bustage: unused variable 'stillwaiting' at dom/plugins/test/testplugin/nptest.cpp:1409. r=backout on a CLOSED TREE 2017-07-12 19:11:49 +02: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
Benjamin Smedberg b502aabed0 Prequel to bug 1352559 - #includes and forward declarations necessary for various files to build properly exposed by unified build changes, r=trivial
MozReview-Commit-ID: 6VlJIwIH9ir

--HG--
extra : rebase_source : 93b2d2d34728f358bf8bd4f0317ea47f91b04450
2017-07-12 12:26:39 -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
Tom Ritter 7860d5ee3e Bug 1380092 Return 0 instead of nullptr r=jld
nullptr is explicitly not allowed to be cast to an int.
But uintptr_t is an unsigned int that happens to be large
enough to hold a pointer.

Return 0, which is an int.

MozReview-Commit-ID: 2SE76JuJLCo

--HG--
extra : rebase_source : b5e34b608af806fb05e9eaa4550b171e6db0eb8d
2017-07-11 15:13:38 -05:00
Carsten "Tomcat" Book b5c809a8bc merge mozilla-inbound to mozilla-central a=merge 2017-07-07 10:35:44 +02: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
Carsten "Tomcat" Book 7857fa0a5e merge mozilla-inbound to mozilla-central a=merge 2017-07-06 11:18:05 +02:00
Botond Ballo 12b5fbce7d Bug 1377020 - Add a new enum serializer ContiguousEnumSerializerInclusive. r=kats
This allows specifying the highest legal value rather than a sentinel
value, to support enumerations that don't have a sentinel.

MozReview-Commit-ID: 5Vj7SnYlfkH

--HG--
extra : rebase_source : 30f567edc6c6bb75971d27226ebfc3574944a9bb
2017-06-30 21:18:49 -04:00
Bill McCloskey 224d56eb18 Bug 1377222 - Eliminate nsITimer::InitWithFuncCallback in favor of InitWithNamedFuncCallback (r=froydnj)
MozReview-Commit-ID: 9zN9aAd7daA
2017-07-03 16:19:56 -07:00
Nicholas Nethercote 3e439bb4f8 Bug 1376638 - Minimize uses of prmem.h. r=glandium.
It's silly to use prmem.h within Firefox code given that in our configuration
its functions are just wrappers for malloc() et al. (Indeed, in some places we
mix PR_Malloc() with free(), or malloc() with PR_Free().)

This patch removes all uses, except for the places where we need to use
PR_Free() to free something allocated by another NSPR function; in those cases
I've added a comment explaining which function did the allocation.

--HG--
extra : rebase_source : 0f781bca68b5bf3c4c191e09e277dfc8becffa09
2017-06-30 19:05:41 -07: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
Aaron Klotz aa1f26657e Bug 1354077: Push a11y activation context during mscom::MainThreadRuntime initialization; r=jimm
MozReview-Commit-ID: CU17UPWI104
2017-06-27 11:28:41 -07:00
Aaron Klotz 761daf6aed Bug 1354077: Refactor mscom::ActivationContext to separate context from activation; r=jimm
MozReview-Commit-ID: 1nrxEHEgF3T
2017-06-13 14:50:05 -06:00
Carsten "Tomcat" Book 1367c473cd Merge mozilla-central to mozilla-inbound 2017-06-29 15:49:39 +02:00
Carsten "Tomcat" Book 5f00ae3a8b merge mozilla-inbound to mozilla-central a=merge 2017-06-29 15:47:04 +02:00
Bob Owen 56c4f0a7dd Bug 1369670 Part 2: On Windows resolve junction points and symlinks in any paths that are used for sandbox policy rules. r=jimm 2017-06-23 16:29:15 +01: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
Aaron Klotz 6ac7e2f671 Bug 1378141: Make 32-bit a11y builds make more thorough checks to determine which manifest to load; r=eeejay
MozReview-Commit-ID: 6Hx7ggqt9Ck

--HG--
extra : histedit_source : 28db28e939c947361988cb8e3c8d7932787cf47e
2017-07-04 16:04:35 -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
Aaron Klotz 390e6ee8d7 Bug 1374792: Remove static keyword from declaration of event in mscom::EnsureMTA::EnsureMTA to prevent reuse when thread reenters; r=handymand
MozReview-Commit-ID: IfE3b6ZZAxs
2017-07-06 16:44:21 -06:00
Wes Kocher 4fe21d372c Backed out 2 changesets (bug 1369670) for Mn failures in test_capabilities.py on Windows 8 a=backout
Backed out changeset 46db8ae423f2 (bug 1369670)
Backed out changeset e9b7d6dbc698 (bug 1369670)

MozReview-Commit-ID: GL05REhJM2k
2017-06-23 11:48:12 -07:00
Bob Owen 0179001ce3 Bug 1369670 Part 2: On Windows resolve junction points and symlinks in any paths that are used for sandbox policy rules. r=jimm 2017-06-23 16:29:15 +01: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
Nicholas Nethercote 033f83145c Bug 1375387 - Reorder and section-ify GeckoProfiler.h. r=mstange.
This patch gives some structure and order to the profiler's API.

It also renames AutoProfilerRegister as AutoProfilerRegisterThread, to match
profiler_register_thread().
2017-06-22 14:28:47 +10:00
Cervantes Yu 1a681cf154 Bug 1360308 - Part 4: Block shutdown when generating minidumps in CrashReporterHost::GenerateMinidumpAndPair(). r=gsvelto
MozReview-Commit-ID: FUqqypp26v2
2017-06-22 18:53:25 +08:00
Cervantes Yu 7ef2a81770 Bug 1360308 - Part 3: Support off-main-thread I/O in CrashReporter::CreateMinidumpsAndPair(). r=gsvelto
This moves the I/O operations of writing minidumps in CrashReporter::CreateMinidumpsAndPair()
off the main thread and use callbacks to notify the completion of the operations.

MozReview-Commit-ID: 9wpTDDUp9GN
2017-06-22 18:53:10 +08:00
Cervantes Yu 05b9a6c854 Bug 1360308 - Part 2: Use callback in CrashReporterHost::GenerateMinidumpAndPair() and up the caller chain. r=gsvelto
This changes CrashReporterHost::GenerateMinidumpAndPair() and up the caller chain to use callbacks so we
may call it synchronously or asynchronously.

MozReview-Commit-ID: 4PQH6cVdOk0
2017-06-22 18:52:58 +08:00
Cervantes Yu e7ad561c4e Bug 1360308 - Part 1: De-templatize CrashReporterHost::GenerateMinidumpAndPair(). r=gsvelto
Cleans up CrashReporterHost::GenerateMinidumpAndPair() and move it to CrashReporterHost.cpp.
Also removes the call to open a privileged process handle and get the already open handle
from GeckoChildProcessHost.

MozReview-Commit-ID: 8wLm1hf8zrJ
2017-06-22 18:52:42 +08:00
Chris Peterson 5cac01578b Bug 1373525 - ipc: Remove unused classes EmptyStrings and InitUDPSocketParentCallback. r=dvander
ipc/chromium/src/base/string_util.cc:35:3 [-Wunused-member-function] unused member function 'EmptyStrings'
ipc/glue/BackgroundParentImpl.cpp:405:3: warning: unused member function 'InitUDPSocketParentCallback' [-Wunused-member-function]

The class InitUDPSocketParentCallback was added in bug 1109338. It wasn't used then and it isn't used now.

https://hg.mozilla.org/mozilla-central/rev/eefcbe8e6a0c

MozReview-Commit-ID: BfDbQ5dfgo8

--HG--
extra : source : 7411baa0c64638b9da7de813c578fe9505625690
extra : intermediate-source : 975014d05919be2c9c6a0672c1ae94da86ccb29b
2017-06-11 00:14:49 -07: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
Aaron Klotz 185fea09aa Bug 1323069: mscom changes to facilitate resolution of remote client thread ID; r=jimm
MozReview-Commit-ID: 9x9wZr7sRFI
2017-06-19 16:43:24 -06: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
Bevis Tseng d1637b9c5a Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Kan-Ru Chen 2025397d67 Bug 1373603 - Initialize the mEventTarget after we setup MessageLoop::current() to silence a DCHECK. r=billm
MozReview-Commit-ID: EnMm4uhlfQV
2017-06-20 09:07:36 +08:00
Honza Bambas 9e38f7b8fc Bug 1319111 - Expose 'result principal URI' on LoadInfo as a source for NS_GetFinalChannelURI (removes some use of LOAD_REPLACE flag). r=bz, r=mikedeboer
--HG--
extra : rebase_source : c9690f4b8decd39a10da676bd50ec09cb2ad8892
2017-05-30 18:07:59 +02: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
Carsten "Tomcat" Book 4f44c026f2 Merge mozilla-central to mozilla-inbound 2017-06-14 14:50:11 +02:00
Carsten "Tomcat" Book 5e8c1546ec merge mozilla-inbound to mozilla-central a=merge 2017-06-14 14:45:26 +02:00
Wes Kocher 6c1a0ae549 Backed out 6 changesets (bug 1371699) for various failures including frequent img-blobURI-2.html failures and leaks a=backout
Backed out changeset 67a27cf0ab80 (bug 1371699)
Backed out changeset 7e494fa90087 (bug 1371699)
Backed out changeset 30405ec37e1e (bug 1371699)
Backed out changeset 2d67624a01dc (bug 1371699)
Backed out changeset 503c9d22e6bb (bug 1371699)
Backed out changeset eedcb67a9fb6 (bug 1371699)

MozReview-Commit-ID: 4HydLjK7Ond
2017-06-13 17:50:11 -07:00
Bill McCloskey 82fe51e95f Bug 1366072 - Remove MessageLoopAbstractThreadWrapper (r=kanru)
MozReview-Commit-ID: 8i9QTIRbP3j
2017-06-13 14:51:09 -07:00
Bill McCloskey 5066de8593 Bug 1366072 - MozPromise tests (r=jwwang)
MozReview-Commit-ID: 69OQb1f3UTd
2017-06-13 14:51:07 -07:00
Bill McCloskey eee9dad55a Bug 1366072 - Expose an event target for MessageLoop (r=kanru)
MozReview-Commit-ID: 8vWOGO2zzPs
2017-06-13 14:51:05 -07:00
Bill McCloskey bbed3cf3c1 Bug 1366072 - Use nsIRunnable instead of Runnable in MessageLoop (r=kanru)
MozReview-Commit-ID: 9LmBghd0D46
2017-06-13 14:51:03 -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
Eric Rahm ab9516d40d Bug 1353593 - Part 2: Remove wwc functions. r=froydnj
This removes the use of |wwc| functions in favor of char16ptr_t's implicit
conversion operators.

MozReview-Commit-ID: GHONYieMPla
2017-06-12 16:20:49 -07:00
Boris Zbarsky 817f0609ac Bug 1371699 part 5. Fix IPCStreamSource's handling of async streams returning 0 from Available. r=bkelly
This aligns the code more closely with how the input stream pump works: 0
available bytes when the stream itself told us it's ready means the stream is at
the end.
2017-06-13 16:16:55 -04:00
Wes Kocher ebf35623cd Merge mozilla-central to autoland a=merge
UPGRADE_NSS_RELEASE
2017-06-13 18:57:32 -07:00