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

19038 Коммитов

Автор SHA1 Сообщение Дата
Andreea Pavel 69afeaabd9 Merge mozilla-central to autoland. on a CLOSED TREE
--HG--
extra : amend_source : fe25c64f152924b2a06dc54b745943b760b3552c
2019-04-19 06:56:17 +03:00
Razvan Maries 1f6c35708a Backed out changeset 2f8f0e53a7db (bug 1460811) for leakcheck perma failures. CLOSED TREE 2019-04-19 00:16:32 +03:00
Haik Aftandilian 00b5eeea1e Bug 1543809 - Can't run with XPCOM_MEM_BLOAT_LOG=1 on OS X r=Alex_Gaynor
Don't assume XPCOM_MEM_BLOAT_LOG is a filename. XPCOM_MEM_BLOAT_LOG and XPCOM_MEM_LEAK_LOG can be set to a filename or "1" or "2" for logging to stdout and stderr respectively.

Set the debug write directory for XPCOM_MEM_LEAK_LOG in the same way we already to for XPCOM_MEM_BLOAT_LOG.

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

--HG--
extra : moz-landing-system : lando
2019-04-18 15:17:08 +00:00
Myk Melez f61d3b4399 Bug 1460811 - migrate XULStore to rkv r=bgrins,lina
Differential Revision: https://phabricator.services.mozilla.com/D25355

--HG--
rename : toolkit/components/xulstore/components.conf => toolkit/components/xulstore/tests/gtest/moz.build
extra : moz-landing-system : lando
2019-04-18 19:27:12 +00:00
Rob Wu 4a6f84f91d Bug 1544834 - Replace deprecated generics in test code r=evilpie
- `Array.map` becomes `Array.from`
- Array copying via `Array.slice` becomes `Array.from`.
- `Array.forEach` that did not rely on closures becomes `for`-`of` loops.
- Anything else: `Array.X` becomes `Array.prototype.X`.

Complex cases:

dom/bindings/test/TestInterfaceJS.js and
dom/bindings/test/test_exception_options_from_jsimplemented.html
use `Array.indexOf` to generate an error with a specific error message.
Switched to `Array.prototype.forEach` to generate the same error.

js/src/jit-test/tests/basic/exception-column-number.js
In this test `Array.indexOf()` is used to generate an error. Since the
exact message doesn't matter, I switched to `Array.from()`.

Intentionally not changed:

editor/libeditor/tests/browserscope/lib/richtext/richtext/js/range.js
Did not modify because this is 3rd-party code and the code uses
feature detection as a fall back when Array generics are not used.

testing/talos/talos/tests/dromaeo/lib/mootools.js
Did not modify because mootools adds the `Array.slice` method to the
`Array` object.

Not changed because they check the implementation of Array generics:
js/src/jit-test/tests/basic/arrayNatives.js
js/src/jit-test/tests/basic/bug563243.js
js/src/jit-test/tests/basic/bug618853.js
js/src/jit-test/tests/basic/bug830967.js
js/src/jit-test/tests/jaeger/recompile/bug656753.js
js/src/jit-test/tests/self-hosting/alternate-static-and-instance-array-extras.js
js/src/tests/non262/Array/generics.js
js/src/tests/non262/Array/regress-415540.js
js/src/tests/non262/extensions/regress-355497.js
js/src/tests/non262/extensions/typedarray-set-neutering.js

Depends on D27802

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

--HG--
extra : moz-landing-system : lando
2019-04-17 19:03:19 +00:00
Razvan Maries 98807b06a6 Backed out changeset 081a659775d3 (bug 1529879) for xpcshell perma failures. CLOSED TREE 2019-04-18 20:59:54 +03:00
Dave Townsend 40eb94ced2 Bug 1529879: Block changing the profile list when another process has changed it. r=froydnj,Gijs,flod
On startup we record the size and modified time of the profile lists. If
changed we refuse to flush any new changes to disk. Also adds a getter to check
if they've changed so the UI can do something sensible.

All attempts to flush are now checked for success. In some cases in early
startup the failure mode isn't great, we just quit startup. The assumption
though is that it's extremely unlikely that the files will have changed on disk
in the time between when they are read and when profile selection occurs, likely
less than a second later.

The profile reset flow is changed to only delete the old profile and flush once
all the migration has completed, so if something fails the user gets back to
their old profile.

In testing I ended up having to fix bug 1522584 so background file deletions on
a background thread are safer.

I haven't implemented any UI tests right now since making modifications to the
profiles means modifying the actual user's profiles which I'm not keen to do.
See bug 1539868.

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

--HG--
extra : moz-landing-system : lando
2019-04-18 04:34:29 +00:00
Gurzau Raul 5525d8c102 Backed out changeset 77dbf6f2d6d4 (bug 1529879) for Windows build bustages at Unified_cpp_toolkit_profile0.obj on a CLOSED TREE. 2019-04-18 03:21:42 +03:00
Gabriele Svelto ea01f0aed2 Bug 1386760 - Remove the ExecutableName annotation r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27885

--HG--
extra : moz-landing-system : lando
2019-04-17 14:05:42 +00:00
Dave Townsend a2a1b4d1f5 Bug 1529879: Block changing the profile list when another process has changed it. r=froydnj,Gijs,flod
On startup we record the size and modified time of the profile lists. If
changed we refuse to flush any new changes to disk. Also adds a getter to check
if they've changed so the UI can do something sensible.

All attempts to flush are now checked for success. In some cases in early
startup the failure mode isn't great, we just quit startup. The assumption
though is that it's extremely unlikely that the files will have changed on disk
in the time between when they are read and when profile selection occurs, likely
less than a second later.

The profile reset flow is changed to only delete the old profile and flush once
all the migration has completed, so if something fails the user gets back to
their old profile.

In testing I ended up having to fix bug 1522584 so background file deletions on
a background thread are safer.

I haven't implemented any UI tests right now since making modifications to the
profiles means modifying the actual user's profiles which I'm not keen to do.
See bug 1539868.

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

--HG--
extra : moz-landing-system : lando
2019-04-17 20:06:20 +00:00
Ian Moody ac18aebd72 Bug 1544286 - xpcom/ manual ESLint no-throw-literal fixes. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D27451

--HG--
extra : moz-landing-system : lando
2019-04-16 15:02:10 +00:00
Kirk Steuber 1b86be999a Bug 1520321 - Implement XPCOM interface for BITS r=lina
This patch introduces an asynchronous XPCOM interface for the bits client added in Bug 1523417

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

--HG--
extra : moz-landing-system : lando
2019-04-15 19:44:35 +00:00
Geoff Brown 6668415460 Bug 1284693 - Disable gtest TestPipes on Android; r=jmaher
I missed this intermittent when enabling Android gtests in bug 1318091. Disable
the failing test on Android only, to green up Android gtest.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 17:13:45 +00:00
Olli Pettay b024b00b94 Bug 1515216, ensure IdleTaskRunners are added only once to RefreshDriver's idle runnable list, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D27424

--HG--
extra : moz-landing-system : lando
2019-04-15 15:41:15 +00:00
Doug Thayer 492ceb9eae Bug 1538279 - Use CreateFileMapping with SEC_IMAGE to prefetch Windows DLLs r=aklotz
Our old approach was reading this into a region of unexecutable memory,
meaning when we actually loaded the library it needed to be loaded into
executable memory. This fixes that. I suspect that any gains we were
seeing previously were due to hardware effects.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 18:46:18 +00:00
Doug Thayer 2d3776cd66 Bug 1538279 - Only readahead DLLs in parent process r=glandium
There shouldn't be any need to do this for content processes as
the DLL should already be in the system file cache.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 18:46:13 +00:00
Doug Thayer ebd6ab40a3 Bug 1538279 - Extract nsZipArchive's madvise and similar to a helper r=glandium,froydnj
This is just to make it simpler to use PrefetchVirtualMemory in subsequent patches.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 18:46:04 +00:00
Henri Sivonen a07d039783 Bug 1543693 - Add missing nsReadableUtils wrappers for conversions between UTF-8 and Latin1 XPCOM string. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27234

--HG--
extra : moz-landing-system : lando
2019-04-12 17:49:11 +00:00
Sylvestre Ledru 7f60810d86 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-12 13:14:25 +00:00
Cosmin Sabou c64f16b342 Backed out 3 changesets (bug 1538279) for mass test failures. CLOSED TREE
Backed out changeset af07f58d18cc (bug 1538279)
Backed out changeset 508ee4cf9ea2 (bug 1538279)
Backed out changeset 6f2e7c819c11 (bug 1538279)
2019-04-12 07:47:53 +03:00
Cosmin Sabou 3e6ef756b6 Merge mozilla-central to autoland. 2019-04-12 06:48:11 +03:00
Doug Thayer 8f38b6246d Bug 1538279 - Use CreateFileMapping with SEC_IMAGE to prefetch Windows DLLs r=aklotz
Our old approach was reading this into a region of unexecutable memory,
meaning when we actually loaded the library it needed to be loaded into
executable memory. This fixes that. I suspect that any gains we were
seeing previously were due to hardware effects.

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

--HG--
extra : moz-landing-system : lando
2019-04-12 02:18:34 +00:00
Doug Thayer 13a4a8518f Bug 1538279 - Only readahead DLLs in parent process r=glandium
There shouldn't be any need to do this for content processes as
the DLL should already be in the system file cache.

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

--HG--
extra : moz-landing-system : lando
2019-04-12 02:17:48 +00:00
Doug Thayer 358b289ecc Bug 1538279 - Extract nsZipArchive's madvise and similar to a helper r=glandium,froydnj
This is just to make it simpler to use PrefetchVirtualMemory in subsequent patches.

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

--HG--
extra : moz-landing-system : lando
2019-04-12 02:17:18 +00:00
Cameron McCormack ad0b101ef6 Bug 1543582 - Only include quotes around XPCOM strings in MOZ_DBG, not operator<<. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27031

--HG--
extra : moz-landing-system : lando
2019-04-11 23:44:57 +00:00
Mike Hommey 0376919567 Bug 1543009 - Move layout debugger xpcom components to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26894
2019-04-11 16:23:53 +09:00
Mike Hommey d89350611b Bug 1543009 - Move code coverage xpcom component to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26893
2019-04-11 16:23:52 +09:00
Mike Hommey 8148056282 Bug 1543009 - Move Windows DHCP client xpcom component to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26892
2019-04-11 16:23:52 +09:00
Mike Hommey 07aab2b391 Bug 1543009 - Move Android widget xpcom components to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26891
2019-04-11 16:22:07 +09:00
Mike Hommey 360d145ec2 Bug 1543009 - Move Windows system proxy xpcom component to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26890
2019-04-11 16:22:06 +09:00
Mike Hommey 4befa68a32 Bug 1543009 - Move OSX system proxy xpcom component to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26889
2019-04-11 16:22:05 +09:00
Mike Hommey ac3c9a8844 Bug 1543009 - Move Android system proxy xpcom componen to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26888
2019-04-11 16:22:04 +09:00
Mike Hommey a180bcd741 Bug 1543009 - Move Windows webspeech xpcom component to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26887
2019-04-11 16:22:03 +09:00
Mike Hommey f2903b2101 Bug 1543009 - Move OSX webspeech xpcom component to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26886
2019-04-11 16:22:02 +09:00
Mike Hommey 657307cf3a Bug 1543009 - Move Android webspeech xpcom component to static registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D26885
2019-04-11 16:21:44 +09:00
Martin Stransky e1d04ebd15 Bug 1433685 - Remove nsGConfService, r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D26484

--HG--
extra : moz-landing-system : lando
2019-04-10 10:18:14 +00:00
Julian Descottes 30433020fe Bug 1541970 - Support incontentshell attribute for XUL panel;r=NeilDeakin
(more a feedback request than review request at this stage)

Adding a new attribute to the panel was the easiest way I could find to make this work without too much plumbing
However I don't know how to check that the attribute comes from a chrome privileged script. I tried using PresContext()->IsChrome() but this is also false in our situation.

Would you prefer another approach? Otherwise what kind of test would you write for this kind of feature?

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

--HG--
extra : moz-landing-system : lando
2019-04-09 09:41:56 +00:00
Mike Hommey 5c5f0f87f5 Bug 1542214 - Prevent registering the same CID and contract IDs during component manager initialization. r=froydnj
Because not all static components are using the static registration yet,
we can end up in situations where a same component is registered
multiple times, which can have some unexpected consequences.

Interestingly enough, this change revealed that we did have static
registration in place for components that were kept under the old system
after bug 1478124 and bug 1524687.

There are also possibly some non-obvious things that can happen while
migrating the remaining components, like what happened to me while I
worked on @mozilla.org/widget/components;1 (see bug 1542214 comment 0).

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

--HG--
extra : moz-landing-system : lando
2019-04-09 18:39:00 +00:00
Mike Hommey d452755d02 Bug 1542996 - Remove duplicate component registration. r=kmag
Bug 1478124 and bug 1524687 converted many things to static xpcom
component registration, but somehow left the corresponding C++
initialization.

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

--HG--
extra : moz-landing-system : lando
2019-04-09 18:58:49 +00:00
Michael Froman 385731ac09 Bug 1539029 - pt 2 - add RDD process selector to prefs module. r=froydnj
Depends on D26566

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

--HG--
extra : moz-landing-system : lando
2019-04-09 21:07:40 +00:00
Michael Froman 0b07404bf5 Bug 1539029 - pt 1 - give RDD its own process selector. r=froydnj
Originally, RDD reused the GPU process selector since they were
using all the same services, and it reduced the number of places
that had to be touched.  Now that RDD needs pref handling, it
needs its own process selector to avoid GPU inheriting pref
handling.

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

--HG--
extra : moz-landing-system : lando
2019-04-09 21:13:16 +00:00
Andrew McCreight 648311b759 Bug 1542854 - Make [System Principal] into a static atom. r=froydnj
Whenever chrome JS code leaks, we leak the dynamic atom "[System
Principal]". This causes an assertion, which hangs the browser in
stack walking code for multiple minutes on OSX. As a bandaid, make
this atom static so it won't leak.

My first instinct is that it would make sense to use this new atom
directly in SystemPrincipal, but atoms are represented internally as a
kind of nsAString, but principal code uses nsACStrings, so you end up
with an extra conversion from 16-bit to 8-bit.

This atom is also going to be present in any process running chrome
JS, so this will save a little bit of memory.

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

--HG--
extra : moz-landing-system : lando
2019-04-09 13:23:28 +00:00
Mike Hommey 071a2fe984 Bug 1541792 - Replace linker magic with manual component registration. r=froydnj
Before bug 938437, we had a rather large and error-prone
nsStaticXULComponents.cpp used to register all modules. That was
replaced with clever use of the linker, which allowed to avoid the mess
that maintaining that file was.

Fast forward to now, where after bug 1524687 and other work that
preceded it, we have a much smaller number of remaining static xpcom
components, registered via this linker hack, and don't expect to add
any new ones. The list should eventually go down to zero.

Within that context, it seems to be the right time to get rid of the
magic, and with it the problems it causes on its own.

Some of those components could probably be trivially be converted to
static registration via .conf files, but I didn't want to deal with the
possible need to increase the number of dummy modules in XPCOMInit.cpp.
They can still be converted as a followup.

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

--HG--
extra : moz-landing-system : lando
2019-04-05 02:30:56 +00:00
Aaron Klotz 38457d2b92 Bug 1541130: Add XRE_GetChildProcBinPathType to nsXULAppAPI.h; r=froydnj,jld on a CLOSED TREE
The binary path type of a particular content process is useful information
outside of IPC. Given that `XRE_EnableSameExecutableForContentProc` already
exists, and given that the binary path type is closely related to
`GeckoProcessType`, I've added a new function, `XRE_GetContentProcBinPathType`.

The mapping of process type to binary type has been moved to the
`GeckoProcessTypes` definitions.

This patch also modifies `ipc::GeckoChildProcessHost` to call into the new
function.

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

--HG--
extra : histedit_source : acdfd2357fd06551dff5286c6b7c56bd92dd347b
2019-04-09 00:45:24 +03:00
Geoff Brown 8d88b9a596 Bug 1318091 - Disable failing android gtests; r=bc
Disable gtests observed to fail on Android. Some of these are simple build
failures and failures due to file permissions or paths, while other failures
are more obscure.
Once Android gtests are running on mozilla-central, I will file follow-up
bugs inviting teams to investigate the failures and re-enable Android gtests
that are important to them.

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

--HG--
extra : moz-landing-system : lando
2019-04-08 20:58:21 +00:00
Andreea Pavel b7f98e54a5 Backed out changeset 8ef30ebad16c (bug 1541130) build bustages a=backout 2019-04-08 22:25:14 +03:00
Aaron Klotz e609e27b92 Bug 1541130: Add XRE_GetChildProcBinPathType to nsXULAppAPI.h; r=froydnj,jld
The binary path type of a particular content process is useful information
outside of IPC. Given that `XRE_EnableSameExecutableForContentProc` already
exists, and given that the binary path type is closely related to
`GeckoProcessType`, I've added a new function, `XRE_GetContentProcBinPathType`.

The mapping of process type to binary type has been moved to the
`GeckoProcessTypes` definitions.

This patch also modifies `ipc::GeckoChildProcessHost` to call into the new
function.

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

--HG--
extra : moz-landing-system : lando
2019-04-08 18:19:06 +00:00
Lina Cambridge 6bef7b8477 Bug 1542528 - Add an `xpcom::c_str` macro for creating static C strings. r=froydnj
This is based on the `c_str` macro in `js/rust/src/heap.rs`, but
returns a `NulTerminatedCStr` type that can be cast to a pointer.

This commit also changes `ThreadPtrHolder::new` to take a
`NulTerminatedCStr`, and removes an unnecessary `RefPtr` reference in
`is_current_thread`.

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

--HG--
extra : moz-landing-system : lando
2019-04-08 14:43:35 +00:00
Andrew McCreight 327d0da02c Bug 1463569 - Add a way to log the sizes of GC things to GC logs. r=sfink
If the environment variable MOZ_GC_LOG_SIZE is set, then GC logs will
include some extra data that indicates how much memory the GC thing
uses, including extra data hanging off of it. This can be used
calculate finer grained information about the memory usage of scripts.

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

--HG--
extra : moz-landing-system : lando
2019-04-07 13:35:44 +00:00
Andrew McCreight 8f597c742f Bug 1541684, part 3 - Statically compute if a method is reflectable. r=nika
XPCConvert::IsMethodReflectable() is derived entirely from
nsXPTMethodInfo, so we can compute it at build time and include it in
nsXPTMethodInfo. It is the only use of mNotXPCOM and mHidden, so we
can get rid of those fields at the same time.

This paves the way for getting rid of XPCWrappedJSClass::mDescriptors
in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-04-05 23:48:18 +00:00