Commit Graph

5004 Commits

Author SHA1 Message Date
Gabriele Svelto
15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
Daniel Varga
31ff8cd9c8 Merge mozilla-central to mozilla inbound. a=merge 2018-08-09 01:10:56 +03:00
Mike Hommey
6d197a0707 Bug 1481719 - Disable profile-instr-out-of-date warnings explicitly rather than allowing all warnings where they appear. r=dmajor 2018-08-09 06:07:33 +09:00
Jesse Schwartzentruber
abc4b27cb4 Bug 1475573 - Create --enable-fuzzing debug build job for Android x86 firefox. r=nalexander,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D2428

--HG--
extra : moz-landing-system : lando
2018-08-07 17:53:57 +00:00
Masatoshi Kimura
3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Noemi Erli
74a710cb5e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-04 15:39:02 +03:00
Noemi Erli
23c8a3a9f3 Backed out changeset 1e9ecba54e7b (bug 1348273) for failing on widget/tests/test_bug1123480.xul 2018-08-04 12:39:40 +03:00
Noemi Erli
0cacb5f9cb Backed out changeset acde419e016e (bug 1475573) for breaking Android builds 2018-08-04 10:12:40 +03:00
Jesse Schwartzentruber
ec180b72d0 Bug 1475573 - Create --enable-fuzzing debug build job for Android x86 firefox. r=froydnj,nalexander
Reviewers: froydnj, nalexander

Reviewed By: froydnj, nalexander

Subscribers: froydnj

Bug #: 1475573

Differential Revision: https://phabricator.services.mozilla.com/D2428

--HG--
extra : rebase_source : fcad543ea727e8974dc6aaade92053fa0008c5ff
extra : histedit_source : 0a8b60693d64fef0aefd985d9f3108cf77890e94
2018-08-04 09:46:02 +03:00
Jed Davis
18e4e4ce63 Bug 1480401 - Avoid heap-allocated closures in async signal safe part of LaunchApp. r=froydnj
MozReview-Commit-ID: 4LYtBGbqtVh

--HG--
extra : rebase_source : 4bf706d0b5bd61fdffc0f727cd72591c512ca20c
2018-08-02 14:18:01 -06:00
Jan de Mooij
3af36d3d86 Bug 1479363 part 10 - Use JSAutoRealm instead of JSAutoRealmAllowCCW in other directories. r=mrbkap 2018-08-02 19:30:17 +02:00
Cosmin Sabou
de8c2bd891 Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
Masatoshi Kimura
feea19030c Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : a62521fdc66def4e4d5d7bf52e68365a786b5c55
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Gabriele Svelto
50ba13cce4 Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant functions are updated to take a typed enum (in C++) and an
integer constant (in JavaScript). A JavaScript wrapper around the crash
reporter service is provided to hold the constants. The existing whitelists
and blacklists of annotations are also generated from the YAML file and the
existing duplicate code has been consolidated. Once written out to the .extra
file the annotations are converted in string form and are no different than
the existing ones.

All existing annotations have been included (and some obsolete ones removed)
and all call sites have been updated including tests.

--HG--
extra : rebase_source : b4f0d4bf83c64851028c271d3fab3ebcb6fbcd3e
2018-07-05 15:42:11 +02:00
Coroiu Cristina
1ba19a32ac Backed out changeset 86471a18672f (bug 1348273) for ESlint failure at toolkit/modules/WebNavigationChild.jsm
--HG--
extra : rebase_source : e0c94f49ddc1f1b119b72c06fccc1b4363b9d340
2018-08-03 22:48:51 +03:00
Masatoshi Kimura
2661405f4c Bug 1479779 - Reduce clang-cl warnings from ipc/mscom/. r=aklotz
--HG--
extra : source : cc62c7bb49ef7261bfe261a7c88a52728d7889ea
extra : intermediate-source : 13d3cca02ea72befac4d306722eaae2d0ab1a90c
2018-07-31 22:04:58 +09:00
Gabriele Svelto
eff24befbd Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant functions are updated to take a typed enum (in C++) and an
integer constant (in JavaScript). A JavaScript wrapper around the crash
reporter service is provided to hold the constants. The existing whitelists
and blacklists of annotations are also generated from the YAML file and the
existing duplicate code has been consolidated. Once written out to the .extra
file the annotations are converted in string form and are no different than
the existing ones.

All existing annotations have been included (and some obsolete ones removed)
and all call sites have been updated including tests.

--HG--
extra : rebase_source : f0e8d229581ac5c0daa0e0454cb258746108e28d
2018-07-05 15:42:11 +02:00
Tom Schuster
2e69f796e1 Bug 1468774 - Remove getPropertyDescriptor from CPOWs. r=mrbkap r=mccr8
--HG--
extra : rebase_source : 39bba6564c89e50ef8faf0b9dca4c0c4a67df510
extra : histedit_source : f572166d28a784135429916b07a1ac398d7a99cb
2018-04-03 18:21:40 +02:00
Jon Coppeard
ec2af16383 Bug 1475228 - Make synchronous compile APIs take SourceBufferHolders exclusively r=jandem r=fitzgen 2018-07-17 14:30:22 +01:00
Andrea Marchesini
44ce53c72e Bug 1476592 - Remove the cache from nsCSPContext - part 2 - sendViolationReports parameter, r=ckerschb, r=aosmond 2018-08-01 06:35:24 +02:00
Hiroyuki Ikezoe
221a08d59e Bug 1479234 - Drop GetAnimationOpacity and GetAnimationTransform ipc calls. r=boris,froydnj
They are no longer used.

MozReview-Commit-ID: 1SaIkj4ryUF

--HG--
extra : rebase_source : 0666e3f297e9c12f8a024e96944d99c2c301820c
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe
94f5f622eb Bug 1479234 - Introduce a generic function to get an animation value on the compositor. r=boris,froydnj
On the compositor we store animation values in a hash table and the hash is
the compositor animation id which is a unique id for each property respectively.
So we can get the corresponding animation value for the given property.

In this patch there are lots of duplicated code, but they will be removed in the
next patch.

MozReview-Commit-ID: 7EboVcculcg

--HG--
extra : rebase_source : 304ea80849af8af72a07437736041aeabbe47eeb
2018-07-31 06:13:15 +09:00
Coroiu Cristina
7634333ced Backed out 4 changesets (bug 1479234) for build bustage at build/src/gfx/vr/ipc/VRLayerChild.cpp on a CLOSED TREE
Backed out changeset 6ecc1666f571 (bug 1479234)
Backed out changeset c3bab1bc97cf (bug 1479234)
Backed out changeset c8c2625a33ba (bug 1479234)
Backed out changeset 2ffc8e9d5686 (bug 1479234)
2018-07-31 00:32:04 +03:00
Hiroyuki Ikezoe
697a9da7aa Bug 1479234 - Drop GetAnimationOpacity and GetAnimationTransform ipc calls. r=boris,froydnj
They are no longer used.

MozReview-Commit-ID: 1SaIkj4ryUF

--HG--
extra : rebase_source : 0666e3f297e9c12f8a024e96944d99c2c301820c
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe
23a4443de4 Bug 1479234 - Introduce a generic function to get an animation value on the compositor. r=boris,froydnj
On the compositor we store animation values in a hash table and the hash is
the compositor animation id which is a unique id for each property respectively.
So we can get the corresponding animation value for the given property.

In this patch there are lots of duplicated code, but they will be removed in the
next patch.

MozReview-Commit-ID: 7EboVcculcg

--HG--
extra : rebase_source : 304ea80849af8af72a07437736041aeabbe47eeb
2018-07-31 06:13:15 +09:00
Kris Maglione
6bde5d95f3 Bug 1476405: Part 2b - Use default thread size from nsIThreadManager in Linux PlatformThreads. r=jld
MozReview-Commit-ID: 4Mod1IdzJBw

--HG--
extra : rebase_source : 9d0c21427bc34115d5a07269c1ecc4f7acfaa3ae
extra : intermediate-source : 0b0c243a1827e193d045d6b3566c87ca87035c48
extra : source : 6c154f4d9dd93e3dac6045c3b8ead22702071fda
2018-07-20 13:20:42 -07:00
Kris Maglione
94acb9ea0e Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
MozReview-Commit-ID: FvGhq6nhIde

--HG--
extra : rebase_source : aa7ce229cd37763a3af2061b38d41b675118773f
extra : intermediate-source : 236b366fdf3731ef95e0ba75b8f24f03181343ee
extra : source : d0ebb3aa8e0f0946eafc2e7cac4d5cbcf1694e2f
2018-07-18 22:31:30 -07:00
Jan de Mooij
80adc67aba Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
dvarga
d8ac8507c9 Merge mozilla-inbound to mozilla-central. a=merge
--HG--
extra : amend_source : 25781a5ccee21a19f5c6ccacc2c96ab7eb4ed6b5
2018-07-28 01:32:38 +03:00
Cosmin Sabou
778ca4f84f Backed out 8 changesets (bug 1476405) for causing frequent failures in bug 1479022. a=backout
Backed out changeset ad1674e9152d (bug 1476405)
Backed out changeset e0a021b27d2c (bug 1476405)
Backed out changeset 771288dbf852 (bug 1476405)
Backed out changeset aeebad4f2dc3 (bug 1476405)
Backed out changeset 4831cbfd03de (bug 1476405)
Backed out changeset 0b0c243a1827 (bug 1476405)
Backed out changeset 236b366fdf37 (bug 1476405)
Backed out changeset c767b1b618fb (bug 1476405)
2018-07-28 01:25:25 +03:00
Jed Davis
652dac8690 Bug 1447867 - Replace base::SharedMemory POSIX backend with shm_open and ashmem. r=froydnj
This replaces using file_util to open and unlink temporary files
(/dev/shm on Linux, $TMPDIR or /tmp otherwise) with the POSIX shm_open
API, or ashmem on Android (which doesn't implement shm_open).

glibc maps shm_open/shm_unlink to open and unlink in /dev/shm (as does
musl libc), so the Linux situation is mostly unchanged except we aren't
duplicating code from system libraries.  Other OSes may (and some do)
use more efficient implementations than temporary files.

FreeBSD's SHM_ANON extension is used if available.  Sadly, it's not
standard; it would make this patch much simpler if it were.

This patch changes the shm file names; they now start with "org.mozilla"
instead of "org.chromium" because the original Chromium code is mostly
gone at this point.  When running as a Snap package, the required
filename prefix is added; other container/sandbox environments using
AppArmor to restrict the allowed filenames may need to be adjusted.

The shm names now include the creating process's pid, to allow
using sandboxing to prevent interfering with shm belonging to other
applications or other processes within the same browser instance.

MozReview-Commit-ID: 7PirIlcblh4
2018-07-27 10:10:25 -06:00
Dorel Luca
704612cf44 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-27 13:19:26 +03:00
Kris Maglione
6254e72cae Bug 1476405: Part 2b - Use default thread size from nsIThreadManager in Linux PlatformThreads. r=jld
MozReview-Commit-ID: 4Mod1IdzJBw

--HG--
extra : source : 6c154f4d9dd93e3dac6045c3b8ead22702071fda
extra : histedit_source : fc05365522a7bc8c3b6acd0281a537879d27fee9
2018-07-20 13:20:42 -07:00
Kris Maglione
ed4f3e5b05 Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
MozReview-Commit-ID: FvGhq6nhIde

--HG--
extra : source : d0ebb3aa8e0f0946eafc2e7cac4d5cbcf1694e2f
extra : histedit_source : 4c5ef4a166af4c54244003fa5f66dc13da9024f6%2Ca0400aab477c90f08683773186b7a64e88b64b7e
2018-07-18 22:31:30 -07:00
Coroiu Cristina
6d037d0cba Backed out 9 changesets (bug 1476405) for causing leaks
Backed out changeset 4113d6fb3c1c (bug 1476405)
Backed out changeset cb7f7cc32687 (bug 1476405)
Backed out changeset 6d18a8bd5ee3 (bug 1476405)
Backed out changeset b2a99f50e642 (bug 1476405)
Backed out changeset b5b9d295545d (bug 1476405)
Backed out changeset f092a32a3639 (bug 1476405)
Backed out changeset 6c154f4d9dd9 (bug 1476405)
Backed out changeset d0ebb3aa8e0f (bug 1476405)
Backed out changeset 06b8093ddc6a (bug 1476405)
2018-07-27 08:56:36 +03:00
Kris Maglione
9b189d0e9f Bug 1476405: Part 2b - Use default thread size from nsIThreadManager in Linux PlatformThreads. r=jld
MozReview-Commit-ID: 4Mod1IdzJBw

--HG--
extra : rebase_source : 89d6559a27ea5681c1415f71eeb837bfadd8351d
2018-07-20 13:20:42 -07:00
Kris Maglione
8a9627cd5c Bug 1476405: Part 2a - Create nsThread wrappers/set names for chromium threads. r=erahm,jld
MozReview-Commit-ID: FvGhq6nhIde

--HG--
extra : rebase_source : 3d9ef99840da37bce0117515b03a165f6821e74d
2018-07-18 22:31:30 -07:00
Blake Kaplan
e4a0da7d25 Bug 1477343 - Remove PBrowser::IsParentWindowMainWidgetVisible. r=mccr8,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D2347

--HG--
extra : moz-landing-system : lando
2018-07-26 19:26:02 +00:00
Sebastian Hengst
bd900ee36a Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 17:16:53 +03:00
Jed Davis
dc17388589 Bug 1462168 - Report number of IPC channels in about:memory. r=mccr8
This adds an about:memory branch, "ipc-channels", which counts
cross-process IPC channels (ProcessLink, IPC::Channel) broken down by
the top-level IPDL actor name; these use OS resources which may be
limited (file descriptors on Linux and Mac).  Intra-process use of IPC
(ThreadLink) is not counted.

The maximum channel count for each actor type is reported in another
branch, "ipc-channels-peak".  This might be useful if there are
conditions that cause transient fd exhaustion, for example.

This patch also works around a problem where MessageChannel was trying
to register reporters too early in child processes, and failing.

MozReview-Commit-ID: CGEwny2ipcu

--HG--
extra : rebase_source : ad526f03bbef891f4474225a8e36a7ed9e3acdab
2018-07-19 17:48:05 -06:00
Brian Hackett
b073b2dd5f Bug 1477563 - Deep copy file descriptor sets when copying IPDL messages, r=froydnj.
--HG--
extra : rebase_source : 6a002c9af0b12d1015159a3ce841376af13ee284
2018-07-24 15:47:26 +00:00
Andrea Marchesini
f6768a8ff6 Bug 1228139 - Remove nsIURIWithPrincipal - part 3 - main part, r=bz
nsIURIWithPrincipal is currently used to retrieve the nsIPrincipal from a
BlobURL object.  BlobURLProtocolHandler has a hashtable containing, for each
blobURL, a BlobImpl and its nsIPrincipal. This patch introduces
BlobURLProtocolHandler::GetBlobURLPrincipal() that retrieves the nsIPrincipal
from this hashtable.

This patch fixes also a bug in how the revocation of blobURLs is broadcasted to
other processes. This should be done immediately because each process creates
its own timer to revoke them after 5 seconds.

An important change is related to NS_SecurityCompareURIs() where, if 1 (or
both) of the 2 URIs to compare, is a revoked BlobURL, we will QI its URL to
nsIStandardURL and fail out at that point.
2018-07-24 22:15:57 +02:00
Nathan Froyd
99a3d308d0 Bug 1477048 - part 3 - remove ipc/chromium uses of OS_TEST; r=gps
These were less straightforward, so I separated them out into a separate
patch.
2018-07-24 16:08:56 -04:00
Nathan Froyd
5158597854 Bug 1477048 - part 1 - remove '86' in CONFIG['OS_TEST'] stanzas from moz.build files; r=gps
The current code is somewhat non-obvious to a first-time reader, and
OS_TEST is a bizarre thing anyway, since it's actually the name of the
CPU we're running on.  We'd do well to minimize the use of OS_TEST.

Note that the complete nuking of the xptcall/md/unix/moz.build lines are
because we don't support OS X/x86 anymore.
2018-07-24 16:08:56 -04:00
Gurzau Raul
19e302fb18 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-24 12:52:06 +03:00
Brian Hackett
de58a40fc1 Bug 1465294 Part 8 - Don't enable crash reporter in recording/replaying processes, r=aklotz.
--HG--
extra : rebase_source : c07f157b2a4d2244e9fa344cf24624ef962430f1
2018-07-23 14:53:16 +00:00
Brian Hackett
3f2c401055 Bug 1465287 Part 9 - Allow copying IPDL messages, r=froydnj.
--HG--
extra : rebase_source : 25d5c75b5a5b07b545646535bd8da7b9fd9562dc
2018-07-22 11:53:23 +00:00
Brian Hackett
3354a96d8d Bug 1465287 Part 8 - Allow spawning recording/replaying child processes and saving recordings, r=jld,mrbkap.
--HG--
extra : rebase_source : 1da4b1a7e485cfdafb38318860546ce3d0552815
2018-07-22 11:52:42 +00:00
Brian Hackett
5054a18818 Bug 1465287 Part 6 - Use correct channel and pids when communicating with a middleman process, r=mccr8.
--HG--
extra : rebase_source : 856fa92eba119d09f0b111e51126a9817b52bb24
2018-07-22 11:51:30 +00:00
Brian Hackett
4be736018d Bug 1207696 Part 4b - Make recording optional in mozilla mutexes and monitors, r=froydnj.
--HG--
extra : rebase_source : c00f199b38c6bdd47ed1793edf2ce90fbf2ff420
2018-07-21 14:22:54 +00:00
Haik Aftandilian
e2f970d134 Bug 1350642 - Remove the PBrowser::Msg_GetTabCount sync IPC; r=mccr8
Bug 1350642 - Keep the tabCountResizable property in sync; r?dao

Differential Revision: https://phabricator.services.mozilla.com/D2196

--HG--
extra : moz-landing-system : lando
2018-07-17 19:41:16 +00:00
Margareta Eliza Balazs
b1e7992b82 Backed out 8 changesets (bug 1265824) for bustage in /builds/worker/workspace/build/src/gfx/layers/opengl/CompositorOGL.cpp on a CLOSED TREE
Backed out changeset 1099d6f15f9f (bug 1265824)
Backed out changeset b5ba15b1a70f (bug 1265824)
Backed out changeset 51795de4adaf (bug 1265824)
Backed out changeset be68741ff4ce (bug 1265824)
Backed out changeset 4731dc56702d (bug 1265824)
Backed out changeset 984133e9614b (bug 1265824)
Backed out changeset efce316a4425 (bug 1265824)
Backed out changeset 367abce30668 (bug 1265824)
2018-07-19 09:33:28 +03:00
Doug Thayer
cd54f8c184 Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 4f05832f51dae6db98773dcad03cb008a80eca6c
2018-05-05 15:46:26 -07:00
Doug Thayer
eeeab69c1c Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 3624ad04aa01dac1cd38efb47764dc3a8fbd5fbd
2018-05-05 15:46:26 -07:00
Cosmin Sabou
fea686b1f6 Backed out 10 changesets (bug 1265824) for causing reftests failures on global-composite-operation.html. CLOSED TREE
Backed out changeset 391c8e7897df (bug 1265824)
Backed out changeset 27c7daabd1a3 (bug 1265824)
Backed out changeset 7c90215a2eca (bug 1265824)
Backed out changeset c141fb67cf9a (bug 1265824)
Backed out changeset 239ab9f9ef52 (bug 1265824)
Backed out changeset 39ae151b3d8c (bug 1265824)
Backed out changeset 71b23fbe1fec (bug 1265824)
Backed out changeset 295dd1a6a09f (bug 1265824)
Backed out changeset 6aecd088e02c (bug 1265824)
Backed out changeset bf9d73b214fc (bug 1265824)
2018-07-23 19:36:37 +03:00
Doug Thayer
ac1648320e Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 67f6fee8b89933561a48e6f7f531b6969893a574
2018-05-05 15:46:26 -07:00
Jed Davis
3ffadbe5c7 Bug 1456919 - Shuffle fds correctly in process_util_mac. r=erahm
MozReview-Commit-ID: K17Bn44NU48

--HG--
extra : rebase_source : cc330d387c43f941d54c508f90639567c48e86c5
2018-07-13 15:16:48 -06:00
Jed Davis
a6cb3c4d18 Bug 1475382 - Turn off async content process launching, pending better error handling. r=spohl
At the moment this isn't actually async because we immediately require
the pid and block on launch anyway.  It also crashes the entire browser
on otherwise recoverable launch errors, because code that wants the pid
isn't set up to handle that operation failing.

MozReview-Commit-ID: 5favGu34QCv

--HG--
extra : rebase_source : 3c81c53e1eb8ead353ef3477ed3ceea0f5edcbbe
2018-07-13 15:20:25 -06:00
Jed Davis
bd5903e8fc Bug 1475382 - Remove debugging crashes added in bug 1461459. r=spohl
These are no longer providing useful information.  There are still a
noticeable number of failures on Windows, but we've narrowed them down to
within SandboxBroker::LaunchApp.

MozReview-Commit-ID: 9srWLNZq1Wo

--HG--
extra : rebase_source : db44114a7623e75f9efd629046d2118748352ed1
2018-07-13 15:18:03 -06:00
Andrea Marchesini
b177a1dbc0 Bug 1432010 - Failures in PBackground channel creation must result in a error event in Web Workers, r=mrbkap 2018-07-18 12:07:14 +02:00
Sylvestre Ledru
909b0caf78 Bug 1468273 - Fix flake8/pep8 issue by hand in ipc/ r=froydnj
MozReview-Commit-ID: JMX7ecYXzHn

--HG--
extra : rebase_source : ef283d9875973913cb24fc5f76e27068e293a762
2018-07-12 12:03:02 +02:00
Sylvestre Ledru
eb7d846340 Bug 1468273 - autopep8 on ipc/ r=froydnj
MozReview-Commit-ID: 63pBUqmDlkZ

--HG--
extra : rebase_source : 6570b1b12e56c2ae1009b00d1cf9a70fb3f651d8
2018-06-10 14:29:07 +02:00
Andrea Marchesini
4e97b69ebf Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 3 - ContentPrincipal, r=ckerschb 2018-07-17 21:38:48 +02:00
Andrea Marchesini
a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Margareta Eliza Balazs
ad89a11136 Backed out 7 changesets (bug 1475228) for causing Spidermonkey rust failures on Linux x64 debug
Backed out changeset e91802969fb7 (bug 1475228)
Backed out changeset 623af73419eb (bug 1475228)
Backed out changeset bf96bd78dc11 (bug 1475228)
Backed out changeset 104817d51d1b (bug 1475228)
Backed out changeset d3829c85f650 (bug 1475228)
Backed out changeset 74d10b32b3ea (bug 1475228)
Backed out changeset dde64fbe2f0d (bug 1475228)
2018-07-17 17:57:55 +03:00
Jon Coppeard
4bf9e8dfe9 Bug 1475228 - Make synchronous compile APIs take SourceBufferHolders exclusively r=jandem 2018-07-17 14:30:22 +01:00
Jan de Mooij
594a3aa6d4 Bug 1475177 - Change sendCommand xpcshell function to only accept plain JSFunction callbacks. r=evilpie 2018-07-16 14:02:16 +02:00
Jan Varga
5f8daf01d9 Bug 1462162 - Filter local storage cache synchronization messages based on origin; r=asuth
This patch adds a new IPDL protocol PBackgroundLocalStorageCache. It is used by LocalStorageCache object to broadcast changes in local storage cache to other content processes. Each origin has its own PBackgroundLocalStorageCache, so now we can notify content processes that actually have a local storage cache for given origin. This greatly improves performance and reduces memory footprint especialy when local storage changes carry big strings and/or happen very quickly (before this patch all child processes were blindly notified).
2018-07-14 08:34:14 +02:00
Kris Maglione
b744713e4e Bug 1471025: Part 3c - Also pass the shared preference map handle to Android content processes. r=jld
MozReview-Commit-ID: CTjDzVC9gcD

--HG--
extra : intermediate-source : 7c03b7dd00e9675f9ac045ed1ea733eb0486904f
extra : absorb_source : c79df6bd9ebbec3454fcca1a81cbfa540ad91a3e
extra : source : 38f690f30e78764763bb012045073fa781efa691
extra : histedit_source : 544ff4257f38fae99a800276d06eb0d719882ca2
2018-07-13 11:06:58 -07:00
Brindusan Cristian
fe91a8922e Backed out 13 changesets (bug 1471025) for reftest failures on variation-format-hint-1a.html; bc failures performance/browser_preferences_usage.js; wpt failures on format-specifiers-variations.html. CLOSED TREE
Backed out changeset 6b672d70f335 (bug 1471025)
Backed out changeset 200bec7e766a (bug 1471025)
Backed out changeset 6c72dc1bff88 (bug 1471025)
Backed out changeset 7f4cc96fae12 (bug 1471025)
Backed out changeset b4f9178f132d (bug 1471025)
Backed out changeset 8eff817d2f7e (bug 1471025)
Backed out changeset f9362cf1add4 (bug 1471025)
Backed out changeset ce379eaab179 (bug 1471025)
Backed out changeset 7c03b7dd00e9 (bug 1471025)
Backed out changeset ff41551f5ff1 (bug 1471025)
Backed out changeset 46a6f9d0773b (bug 1471025)
Backed out changeset 434106f1b75e (bug 1471025)
Backed out changeset c490838c8329 (bug 1471025)
2018-07-14 01:16:06 +03:00
Kris Maglione
92550be97d Bug 1471025: Part 3c - Also pass the shared preference map handle to Android content processes. r=jld
MozReview-Commit-ID: CTjDzVC9gcD

--HG--
extra : source : 38f690f30e78764763bb012045073fa781efa691
extra : histedit_source : 2daf7386fbc9f9696c73168d6421139c5cefc5b4%2Ca0adf715f65281047915e678f8c054e5ec671de3
2018-07-13 11:06:58 -07:00
Brindusan Cristian
a68383b333 Backed out 12 changesets (bug 1471025) for build bustages on dom/ipc/ContentProcess.cpp. CLOSED TREE
Backed out changeset 398ccedc20dc (bug 1471025)
Backed out changeset 599895de063e (bug 1471025)
Backed out changeset dc7ec17179d1 (bug 1471025)
Backed out changeset 5051f15fc200 (bug 1471025)
Backed out changeset faef4df47b20 (bug 1471025)
Backed out changeset d344247b8706 (bug 1471025)
Backed out changeset 83d98ea5ebac (bug 1471025)
Backed out changeset 38f690f30e78 (bug 1471025)
Backed out changeset 4b7a8a35ed95 (bug 1471025)
Backed out changeset e3bbc87b71af (bug 1471025)
Backed out changeset 68bb03c63b3c (bug 1471025)
Backed out changeset 4a8fbb472c91 (bug 1471025)
2018-07-13 22:11:24 +03:00
Kris Maglione
6c6960d4c8 Bug 1471025: Part 3c - Also pass the shared preference map handle to Android content processes. r=jld
MozReview-Commit-ID: CTjDzVC9gcD

--HG--
extra : rebase_source : c06aa38ff4bc2bdfa09a4aae359e1f418727ce29
extra : absorb_source : c68cd5f0e8f52980d35432cf21e1fc5552542bf2
2018-07-13 11:06:58 -07:00
Andrea Marchesini
1498612e1b Bug 1474812 - No needs to store granted storage access in nsILoadInfo and in the inner window, r=ehsan 2018-07-13 12:02:19 +02:00
Ben Kelly
b970b0c8cc Bug 1459209 P1 Add IPC actor boilerplate for PServiceWorker, PServiceWorkerContainer, and PServiceWorkerRegistration. r=mrbkap
--HG--
extra : rebase_source : 10106a76c6e9188238a89821d59bdcbf4eedbab6
2018-07-09 16:02:39 -07:00
Andrea Marchesini
ba1f8971c7 Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 2 - storing first user interaction in nsILoadInfo, r=ehsan 2018-07-10 10:09:59 +02:00
James Teh
f9e7e0747a Bug 1474007: Null check to prevent crash when ipc::mscom::GetInitialInterceptorForIID fails after PublishTarget. r=aklotz
PublishTarget calls Unlock on our LiveSetAutolock.
It's possible for GetInitialInterceptorForIID to fail after this point.
This will cause the failure cleanup code to run, which tries to call Unlock again.
However, the previous call to Unlock set mLiveSet to null, and Unlock previously didn't handle this case.
Now, unlock is a no-op (in release builds) if it's already been called.

MozReview-Commit-ID: 15ffXR6nKqc

--HG--
extra : rebase_source : bf072824f15f5574dd8afbedef82b795086d5fff
2018-07-09 10:24:20 +10:00
Nathan Froyd
b07d6639b8 Bug 1472806 - fix missing typename warning in COMPtrHolder.h; r=aklotz
MSVC permits the missing `typename` as an extension, whereas clang-cl warns.
This is easy to fix, so let's fix the warning noise.
2018-07-03 17:04:26 -04:00
Nathan Froyd
0b0f08aedb Bug 1472806 - fix -Wpessimizing-move warnings in Interceptor.cpp; r=aklotz
There's no need to invoke std::move here, because Get() is already
returning a temporary that can be moved into the RefPtr.
2018-07-03 17:04:27 -04:00
James Teh
d4ef733244 Bug 1472137 - Prevent mutex reentry in mscom::Interceptor::Create if GetInitialInterceptorForIID fails. r=aklotz
If GetInitialInterceptorForIID fails, the live set lock is not released in most cases, but the newly created Interceptor will be destroyed.
The Interceptor's destructor tries to acquire the live set lock again, but that causes a deadlock, since reentry is no longer allowed for a mutex after bug 1364624.
GetInitialInterceptorForIID now ensures the live set lock is always released  on failure, thus preventing the deadlock.

MozReview-Commit-ID: z0Q7JLnJXQ

--HG--
extra : amend_source : 0b9837e5500754b5782e72337fc59b7904c5e29c
2018-07-02 15:17:12 +10:00
Jed Davis
7682cb33f7 Bug 1469691 - Fix intermittent launch failure caused by registering a Mach port too late. r=erahm
--HG--
extra : rebase_source : 3d943e7362483bd83c064d6c8560e4ffd3ecc97f
2018-06-21 11:05:00 -06:00
Anny Gakhokidze
535e3c83a1 Bug 1470540 - Improve performance of DataTransfer::CacheExternalClipboardFormats, r=baku,mccr8
Currently, in order to retrieve supported clipboard formats
DataTransfer::CacheExternalClipboardFormats repeatedly makes the same calls to
clipboard->HasDataMatchingFlavors.

In the case when aPlainTextOnly == true only 1 call is made -
clipboard->HasDataMatchingFlavors(kUnicodeMime, ...), and when
aPlainTextOnly == false we have 1 call made for every member of the list
{ kCustomTypesMime, kFileMime, kHTMLMime, kRTFMime, kURLMime, kURLDataMime,
kUnicodeMime, kPNGImageMime } - a total of 8 calls.

We can see that in nsClipboardProxy::HasDataMatchingFlavors, there is a call to
ContentChild::GetSingleton()->SendClipboardHasType.
So when aPlainTextOnly == true, we will have 1 sync message, and when
aPlainTextOnly == false, we will have 8 sync messages.

With the proposed solution, in DataTransfer::CacheExternalClipboardFormats
we will only have 1 sync message regardless of the case because
GetExternalClipboardFormats() will retrieve all supported clipboard
formats at once.

MozReview-Commit-ID: CAmBfqB459v

--HG--
extra : rebase_source : 27f1b420f2613e6a747ed63762f1583ab71ba3e0
2018-06-22 14:28:27 -04:00
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
André Bargull
1eba073f7e Bug 1467438 - Part 4: Remove ScopedJSFreePtr, ScopedJSDeletePtr, and ScopedReleasePtr. r=sfink 2018-06-07 12:33:40 -07:00
Ben Kelly
bee2ef4646 Bug 1470114 Make parent-side of redirect override the reserved ClientInfo to handle some corner cases. r=valentin 2018-06-22 08:09:00 -07:00
Doug Thayer
10ff9c706f Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU

--HG--
extra : rebase_source : dd000a05bfc2da40c586644d33ca4508fa5330f6
2018-04-29 18:21:20 -07:00
Andrea Marchesini
53a373287d Bug 1455256 - Port more components to WorkerRef - part 2 - IPCStream, r=asuth 2018-06-18 16:37:21 -04:00
Stephen A Pohl
80b1014efb Bug 1461459: Add nightly-only MOZ_CRASH statements in base::LaunchApp on macOS to investigate failures to asynchronously launch content processes. r=jld 2018-06-15 10:46:33 -07:00
Andi-Bogdan Postelnicu
845e499a7c Bug 1453795 - IPC - Initialize member fields in classes/ structures. r=jmathies 2018-06-14 08:48:43 +03:00
Sylvestre Ledru
7c352fb5ff Bug 1468272 - Get rid of the codedir usage as it doesn't exist since 2009 r=froydnj
MozReview-Commit-ID: JX0rqoetgN8

--HG--
extra : rebase_source : e8e66b14f06ca37e5e9a4530f8ef657a531e885a
2018-06-11 17:27:34 -07:00
Jed Davis
b0a1468c01 Bug 1456911 - Rewrite the fd shuffling to be simpler & handle identity mappings correctly. r=froydnj
This replaces some old Chromium code that tries to minimally disentangle
an arbitrary file descriptor mapping with simpler algorithm, for several
reasons:

1. Do something appropriate when a file descriptor is mapped to the same
fd number in the child; currently they're ignored, which means they'll
be closed if they were close-on-exec.  This implementation duplicates
the fd twice in that case, which seems to be uncommon in practice; this
isn't maximally efficient but avoids special-case code.

2. Make this more generally applicable; the previous design is
specialized for arbitrary code running between fork and exec, but we
also want to use this on OS X with posix_spawn, which exposes a very
limited set of operations.

3. Avoid the use of C++ standard library iterators in async signal safe
code; the Chromium developers mention that this is a potential problem in
some debugging implementations that take locks.

4. In general the algorithm is simpler and should be more "obviously
correct"; more concretely, it should get complete coverage just by being
run normally in a debug build.

As a convenient side benefit, CloseSuperfluousFds now takes an arbitrary
predicate for which fds to leave open, which means it can be used in
other code that needs it without creating a fake fd mapping.

MozReview-Commit-ID: EoiRttrbrKL

--HG--
extra : rebase_source : 336e0ba9f56dc80f7347dc62617b4ad1efea7e7e
2018-04-25 17:44:08 -06:00
Jed Davis
8b7c054c0a Bug 1456911 - Prelude: Fix unified build breakage exposed by the next patch. r=froydnj
This directory has a number of places where files unintentionally depend
on `#include`s and `using` directives and forward declarations in other
files in the same unified build group.  Adding a file shifts the group
boundaries and exposes some of those bugs; this patch fixes them (but
there are others).

MozReview-Commit-ID: AqAOdnXniTn

--HG--
extra : rebase_source : ed6030785d9cc5cc0ea1a46707725472de1c0fa9
2018-05-11 20:25:19 -06:00
Ben Kelly
ecb17922d9 Bug 1468213 Propagate nsILoadInfo.serviceWorkerTaintingSynthesized and tainting values from parent process to child process. r=valentin 2018-06-11 12:54:22 -07:00
Alex Gaynor
442c1c9d02 Bug 1451859 - Part 3: In FUZZER builds, do not crash on malformed IPC messages. r=jld, r=posidron 2018-04-05 15:47:34 -04:00
Alex Gaynor
b174206e6f Bug 1451859 - Part 2: Add sanitizer coverage to a handful of places relevant to IPC. r=posidron 2018-04-05 15:48:11 -04:00
Alex Gaynor
de04abe10c Bug 1451859 - Part 1: Implement a fuzzer for IPC handlers using libFuzzer. r=jld, r=posidron 2018-03-23 16:18:42 -04:00
Jan de Mooij
56ca3c9524 Bug 1466501 part 1 - Refactor ZoneSpecifier and add a sameCompartmentAs option to newGlobal in the shell. r=luke 2018-06-07 10:02:10 +02:00
Cosmin Sabou
18d0742c9b Backed out 3 changesets (bug 1451859) for causing Spidermonkey bustages on Linux x64 opt.
Backed out changeset 8f5a9e18e953 (bug 1451859)
Backed out changeset 950fa584ec8e (bug 1451859)
Backed out changeset f1f42726f1ec (bug 1451859)
2018-06-07 09:10:35 +03:00
Alex Gaynor
c9f96864de Bug 1451859 - Part 3: In FUZZER builds, do not crash on malfored IPC messages. r=jld, r=posidron 2018-04-05 15:47:34 -04:00
Alex Gaynor
76b53de450 Bug 1451859 - Part 2: Add sanitizer coverage to a handful of places relevant to IPC. r=posidron 2018-04-05 15:48:11 -04:00