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

19067 Коммитов

Автор SHA1 Сообщение Дата
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
Jeff Walden 5327fe7f3e Bug 1542120 - Add js/public/Warnings.h for warning-related JSAPI. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D26273

--HG--
rename : js/src/jsapi.h => js/public/Warnings.h
extra : moz-landing-system : lando
2019-04-05 22:52:04 +00:00
Sylvestre Ledru 03fc65347c Bug 1542146 - Apply the change with the option StatementMacros from clang-format-8 r=andi
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-05 21:42:17 +00:00
Sylvestre Ledru 03c8e8c2dd Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-05 21:41:42 +00:00
Csoregi Natalia ba58e936bd Backed out changeset 4ad80127f89f (bug 1519636) for bustage on MarkupMap.h and nsAccessibilityService.cpp. CLOSED TREE 2019-04-05 09:48:19 +03:00
Sylvestre Ledru d1c1878603 Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-04 21:36:16 +00:00
Narcis Beleuzu ed1878b2ce Backed out 4 changesets (bug 1541684) for bustages on xpcprivate.h . CLOSED TREE
Backed out changeset b021ea89cf04 (bug 1541684)
Backed out changeset 16d5f0b792d4 (bug 1541684)
Backed out changeset a37029984f13 (bug 1541684)
Backed out changeset 900f639d72a3 (bug 1541684)
2019-04-05 03:57:09 +03:00
Nathan Froyd 0273818ea0 Bug 1542048 - mark aarch64 unix's PrepareAndDispatch as used; r=mccr8
Otherwise, LTO will eliminate it because the compiler can't see the
calls to PrepareAndDispatch from the relevant assembly file.

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

--HG--
extra : moz-landing-system : lando
2019-04-04 21:13:47 +00:00
Nathan Froyd 3cb7a40d1f Bug 1538236 - fix LTO issues with arm xptcstubs; r=mccr8
ARM's xptcstubs use a slightly different setup for PrepareAndDispatch
than...well, all of our other stubs.  This difference appears to be
causing problems with LTO builds.  Change the setup to be more like our
other stubs, which additionally gets rid of some of the `asm` nonsense.

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

--HG--
extra : moz-landing-system : lando
2019-04-04 21:14:18 +00:00
Andrew McCreight 98dd357c68 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-04 21:01:24 +00:00
Narcis Beleuzu 24dbe577a5 Backed out changeset 389b6bbd76db (bug 1519636) for bustages on MarkupMap.h . CLOSED TREE 2019-04-05 00:27:56 +03:00
Sylvestre Ledru 399dbd28fe Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-04 20:12:23 +00:00
Ciure Andrei 58c8915ecd Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-04-04 00:57:38 +03:00
Randall E. Barker 1d15aad0e5 Bug 1541282 - Use native call in NS_SetCurrentThreadName() on Android r=froydnj
PR_SetCurrentThreadName() is broken on Android (Bug 1541216).
In order to work around this issue, NS_SetCurrentThreadName() will
call  prctl(PR_SET_NAME, name) until the underlying nspr can be
fixed.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 00:23:22 +00:00
Dave Townsend 4ab7a3401f Bug 1533077: Remove nsIAppStartup.eRestartNotSameProfile r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D22345

--HG--
extra : moz-landing-system : lando
2019-04-03 15:24:59 +00:00
Dave Townsend 3dc26d41d2 Bug 1540854: Add MOZ_DBG support for nsIURI and nsIFile. r=froydnj
I am 90% sure that this is wrong but this is the only way I can get it to
compile and work. Unlike other examples of supporting MOZ_DBG it only declares
an operator for `nsIURI* not` `const nsIURI`. I had to drop the const because
then I couldn't call GetSpec as it isn't marked const. I had to switch to a
pointer since otherwise it would complain about virtual methods.

Still in practice this works, I think it is rare that we hold an nsIURI in
anything other than a pointer and same for the constness.

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

--HG--
extra : rebase_source : 9760674375563ec312568caf4a5ad46facfb6f68
2019-04-01 15:05:37 -07:00
Nathan Froyd cb076fc90d Bug 1520929 - part 1 - add an isWowARM64 property to nsSystemInfo; r=aklotz
In addition to knowing whether we're running x86-on-x86-64, we'd also
like to know about the x86-on-arm64 case.  The current code doesn't
provide enough information to determine that, so we need to query a
little bit harder.
2019-04-03 04:44:49 -05:00
Daniel Varga 14dc5b7d8a Merge mozilla-inbound to mozilla-central. a=merge 2019-04-03 09:05:41 +03:00
Brindusan Cristian f0bb72977e Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-04-02 18:50:37 +03:00
Petr Sumbera a13bbbbdf7 Bug 1432125 - Solaris xptcall clean-up - support 64bits gcc/clang only r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D25448

--HG--
extra : moz-landing-system : lando
2019-04-02 00:57:29 +00:00
Daosheng Mu 0965abeaa7 Bug 1520339 - Part 2: handling memory reporting for VR process. r=kip,erahm
Differential Revision: https://phabricator.services.mozilla.com/D25321

--HG--
extra : moz-landing-system : lando
2019-04-02 05:13:17 +00:00
Andrew Osmond dbfad894d9 Bug 1501794 - Implement img decode API. r=bzbarsky,tnikkel
The img decode API allows a web author to request that an image be
decoded at its intrinsic size and be notified when it has been
completed. This is useful to ensure an image is ready to display before
adding it to the DOM tree -- this will help reduce flickering.

Differential Revision: https://phabricator.services.mozilla.com/D11362
2019-04-02 08:56:54 -04:00
Eden Chuang 72b79c6fbd Bug 1442778 - Add "chromeContext" parameter to console API and console service messages. r=smaug
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process

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

--HG--
extra : moz-landing-system : lando
2019-04-01 22:42:34 +00:00
Honza Bambas 1296f23329 Bug 1538812 - Remove the dangerous default 'NS_ASSIGNMENT_DEPEND' of argument 'assignment' on NS_NewByteInputStream to let it be defined expicitly and thus visibly, r=michal
Differential Revision: https://phabricator.services.mozilla.com/D25462

--HG--
extra : moz-landing-system : lando
2019-04-03 11:39:41 +00:00
Nathan Froyd 1916bd6570 Bug 1525303 - make LazyLogModule::operator LogModule* inline; r=erahm
Testing has determined that doing this has no detrimental size benefit,
and a small positive performance impact.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 20:35:38 +00:00
Jeff Gilbert 8d31424d9e Bug 1540357 - Fix implicit int truncation in dom/canvas's xpcom/* includes. r=mccr8
Depends on D25499

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

--HG--
extra : moz-landing-system : lando
2019-04-02 17:00:51 +00:00
Gerald Squelart e2d15a1cfb Bug 1429613 - Variant matcher callbacks renamed from `match` to `operator()` - r=froydnj
Mechanical change from Matcher::match(...) to Matcher::operator()(...).
This will now permit the use of generic lambdas, and facilitate the
implementation of multi-lambda match.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 11:53:47 +00:00
Andrew McCreight 89bd4fe4e5 Bug 1540794 - Remove nsIID.h. r=froydnj
This file only includes nsID.h, and is unused.

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

--HG--
extra : moz-landing-system : lando
2019-04-01 18:49:28 +00:00
Jonathan Kew f5e8791f61 Bug 1533428 - patch 4 - Include chromium-config.mozbuild in the moz.build for a bunch more directories, so that IPC-related headers are available. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D22922

--HG--
extra : moz-landing-system : lando
2019-04-01 14:32:44 +00:00
Philip Chimento 7262bcdffb Bug 1506324 - Use DefaultGlobalClassOps in existing code. r=tcampbell
Reviewers: tcampbell

Subscribers: jandem

Bug #: 1506324

Differential Revision: https://phabricator.services.mozilla.com/D11571
2019-03-31 15:30:45 -07:00
Sylvestre Ledru ef0bfc3822 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-03-31 15:12:55 +00:00
Narcis Beleuzu d20e1695b0 Merge autoland to mozilla-central. a=merge 2019-03-30 23:43:56 +02:00
Cameron McCormack eedb6aebd4 Bug 1538081 - Part 3: Add operator<<(ostream&) definitions for a few common types. r=froydnj,gerald
Depends on D25023

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

--HG--
extra : moz-landing-system : lando
2019-03-30 04:26:26 +00:00
Cameron McCormack 9796d08b83 Bug 1538081 - Part 1: Add MOZ_DBG macro. r=froydnj,gerald
Differential Revision: https://phabricator.services.mozilla.com/D24583

--HG--
extra : moz-landing-system : lando
2019-03-30 04:25:13 +00:00
Ciure Andrei 615006146b Backed out 4 changesets (bug 1538081) for causing BaseElf.cpp bustages CLOSED TREE
Backed out changeset ced61a86c74c (bug 1538081)
Backed out changeset d6d331abbf0e (bug 1538081)
Backed out changeset 26df801e44db (bug 1538081)
Backed out changeset 113ac188a69e (bug 1538081)
2019-03-30 03:02:15 +02:00
Cameron McCormack 91e3ec9952 Bug 1538081 - Part 3: Add operator<<(ostream&) definitions for a few common types. r=froydnj,gerald
Depends on D25023

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

--HG--
extra : moz-landing-system : lando
2019-03-30 00:21:24 +00:00
Cameron McCormack 3bb950d9a6 Bug 1538081 - Part 1: Add MOZ_DBG macro. r=froydnj,gerald
Differential Revision: https://phabricator.services.mozilla.com/D24583

--HG--
extra : moz-landing-system : lando
2019-03-30 00:21:14 +00:00
Nathan Froyd dc25b5a9dc Bug 1539605 - add fast paths for integer formatting on nsTSubstring; r=erahm
This way we don't have to go through a bunch of printf nonsense, and we
ought to be able to arrive at optimized routines that take advantage of
constant radices, etc.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 19:38:53 +00:00
Olli Pettay e1e112a4ad Bug 1540166, avoid some useless ForgetSkippable handling while we're already dealing with snow-white objects, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D25414

--HG--
extra : rebase_source : 3acdc1a8de8f6d729971527e6cbe9fd58cdc4610
2019-03-29 17:52:14 +02:00
Oana Pop Rus dc9eba46cc Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-03-30 00:05:29 +02:00
Nathan Froyd aed549848b Bug 1539815 - move inner queue creation into the PrioritizedEventQueue constructor; r=erahm
Outside code shouldn't have to care how many levels of priority
PrioritizedEventQueue manages.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 20:37:09 +00:00
Boris Zbarsky 384767d49a Bug 1539803. Make nsIObserverService builtinclass. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D25221

--HG--
extra : moz-landing-system : lando
2019-03-28 14:13:51 +00:00
Boris Zbarsky 6ed8efae89 Bug 1539499. Make nsITimer builtinclass. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D25191

--HG--
extra : moz-landing-system : lando
2019-03-28 13:09:03 +00:00
Boris Zbarsky 92f7b5dd5e Bug 1539716. Remove nsIHashable. r=froydnj
It's dead code.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 13:07:05 +00:00
Oana Pop Rus 226e6c59d9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-03-28 12:23:56 +02:00
Oana Pop Rus 47e94b5d6e Merge inbound to mozilla-central. a=merge 2019-03-28 12:11:35 +02:00
Mark Banner dba6983e75 Bug 1415265 - Remove now unnecessary .eslintrc.js files or entries. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D23850

--HG--
extra : moz-landing-system : lando
2019-03-28 09:38:14 +00:00
Dave Townsend 6403c58cd7 Bug 1527704: Store install information in profiles.ini and use installs.ini as a backup in case an earlier Firefox throws it away. r=froydnj
Originally we stored the new information about installation defaults in
installs.ini since older versions of Firefox would throw away any new data in
profiles.ini any time they made changes to the profiles. That does however mean
we have to load two files on startup.

This changes things so that we save all the data in profiles.ini as well as a
version tag and still save the install data into installs.ini. An older version
will throw away the install data and version tag from profiles.ini but leave
installs.ini alone. On startup if the version tag is gone from profiles.ini then
we reload the install data from installs.ini and put it back into profiles.ini.

At some point in the future where we don't care about supporting older versions
of Firefox we can just drop installs.ini entirely.

A lot of the changes here involve moving to loading profiles.ini into an
in-memory ini, keeping it up to date and flushing it to disk. This means that we
no longer throw away any information in the ini file that this version does not
understand allowing the possibility of adding new data to this file in the
future.

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

--HG--
extra : rebase_source : d00edf1ceb200a73a60bb1a90afabcdf95b01acf
extra : intermediate-source : e1c9790cd3bee060da99ffe37026721e36bc46c3
extra : source : d4feb17faf013134f5eac8b5e19b714c56410973
2019-03-27 14:41:04 -07:00
Haik Aftandilian 35ea11e89d Bug 1525086 - Part 4 - Cache the result of nsMacUtilsImpl::GetAppPath r=Alex_Gaynor
Cache the result of nsMacUtilsImpl::GetAppPath() to avoid doing I/O on repeated calls.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 02:25:54 +00:00
Noemi Erli daf2da3779 Backed out changeset 8d043fdfac71 (bug 1527704) for build bustages in nsToolkitProfileService.cpp CLOSED TREE 2019-03-27 23:36:21 +02:00
Dave Townsend 37390f734b Bug 1527704: Store install information in profiles.ini and use installs.ini as a backup in case an earlier Firefox throws it away. r=froydnj
Originally we stored the new information about installation defaults in
installs.ini since older versions of Firefox would throw away any new data in
profiles.ini any time they made changes to the profiles. That does however mean
we have to load two files on startup.

This changes things so that we save all the data in profiles.ini as well as a
version tag and still save the install data into installs.ini. An older version
will throw away the install data and version tag from profiles.ini but leave
installs.ini alone. On startup if the version tag is gone from profiles.ini then
we reload the install data from installs.ini and put it back into profiles.ini.

At some point in the future where we don't care about supporting older versions
of Firefox we can just drop installs.ini entirely.

A lot of the changes here involve moving to loading profiles.ini into an
in-memory ini, keeping it up to date and flushing it to disk. This means that we
no longer throw away any information in the ini file that this version does not
understand allowing the possibility of adding new data to this file in the
future.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 20:51:38 +00:00
Cosmin Sabou ef5fea1c75 Merge mozilla-central to mozilla-inbound. 2019-03-27 07:00:56 +02:00
Cosmin Sabou 3c71fa6b4d Backed out changeset 084974858a7b (bug 1527704) for xpcshell failures on test_remove.js.
--HG--
extra : rebase_source : e6067e8aef9c5ffb7438e33ac75963a76a3d4d21
2019-03-27 02:11:22 +02:00
Mats Palmgren 9e5f85edc2 Bug 1538618 - [css-pseudo] implement animation support for ::marker pseudos. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D25003

--HG--
extra : rebase_source : 999373f16c816cdd0dd64b1cc3f9f3f30bb12003
extra : amend_source : 829c0fc25afc55d50b70aebc1f3b9f0e8f06c458
2019-03-26 05:48:26 +01:00
Dave Townsend 72aea9cb20 Bug 1527704: Store install information in profiles.ini and use installs.ini as a backup in case an earlier Firefox throws it away. r=froydnj
Originally we stored the new information about installation defaults in
installs.ini since older versions of Firefox would throw away any new data in
profiles.ini any time they made changes to the profiles. That does however mean
we have to load two files on startup.

This changes things so that we save all the data in profiles.ini as well as a
version tag and still save the install data into installs.ini. An older version
will throw away the install data and version tag from profiles.ini but leave
installs.ini alone. On startup if the version tag is gone from profiles.ini then
we reload the install data from installs.ini and put it back into profiles.ini.

At some point in the future where we don't care about supporting older versions
of Firefox we can just drop installs.ini entirely.

A lot of the changes here involve moving to loading profiles.ini into an
in-memory ini, keeping it up to date and flushing it to disk. This means that we
no longer throw away any information in the ini file that this version does not
understand allowing the possibility of adding new data to this file in the
future.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 21:29:47 +00:00
Emilio Cobos Álvarez a77188cb74 Bug 1536045 - Turn a comment into a non-doc comment. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D24947

--HG--
extra : moz-landing-system : lando
2019-03-26 20:17:51 +00:00
Cosmin Sabou 78fc71e3c3 Backed out changeset 7fa7d6e6dedc (bug 1442778) for devtools failures on browser_webconsole_check_stubs_console_api.js CLOSED TREE 2019-03-26 20:27:55 +02:00
Eden Chuang 5e4df764d9 Bug 1442778 - Add "chromeContext" parameter to console API and console service messages. r=smaug
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process

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

--HG--
extra : moz-landing-system : lando
2019-03-26 15:18:20 +00:00
shindli cfc1229145 Backed out changeset 1c16d4ce9107 (bug 1527704) for build bustages in builds/worker/workspace/build/src/toolkit/profile/nsToolkitProfileService.cpp CLOSED TREE 2019-03-26 03:16:51 +02:00
Nika Layzell d853d5bd7f Bug 1513350 - Add a Display impl to nsresult, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D24754

--HG--
extra : moz-landing-system : lando
2019-03-25 19:48:22 +00:00
Dave Townsend ca3a12dacd Bug 1527704: Store install information in profiles.ini and use installs.ini as a backup in case an earlier Firefox throws it away. r=froydnj
Originally we stored the new information about installation defaults in
installs.ini since older versions of Firefox would throw away any new data in
profiles.ini any time they made changes to the profiles. That does however mean
we have to load two files on startup.

This changes things so that we save all the data in profiles.ini as well as a
version tag and still save the install data into installs.ini. An older version
will throw away the install data and version tag from profiles.ini but leave
installs.ini alone. On startup if the version tag is gone from profiles.ini then
we reload the install data from installs.ini and put it back into profiles.ini.

At some point in the future where we don't care about supporting older versions
of Firefox we can just drop installs.ini entirely.

A lot of the changes here involve moving to loading profiles.ini into an
in-memory ini, keeping it up to date and flushing it to disk. This means that we
no longer throw away any information in the ini file that this version does not
understand allowing the possibility of adding new data to this file in the
future.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 00:16:59 +00:00
Kirk Steuber a7dfa5cde2 Bug 1535377 - Allow the xpcom_method Rust macro to be used without importing ensure_param r=myk,froydnj
This is done by incorporating the ensure_param macro into the implementation of the xpcom_method macro

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

--HG--
extra : moz-landing-system : lando
2019-03-25 18:56:17 +00:00
arthur.iakab 35c8a01713 Merge mozilla-central to autoland 2019-03-25 17:54:29 +02:00
Boris Zbarsky e1cc009c49 Bug 1536737. Give OwningNonNull an operator* to make it play nicer with the MOZ_CAN_RUN_SCRIPT static analysis. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D24161

--HG--
extra : moz-landing-system : lando
2019-03-25 15:17:29 +00:00
Lina Cambridge 1ffcc4917b Bug 1482608 - Convert null pointers passed to `xpcom_method`s into `Option`s. r=myk,nika
Differential Revision: https://phabricator.services.mozilla.com/D20075

--HG--
extra : moz-landing-system : lando
2019-03-25 04:49:36 +00:00
Lina Cambridge 35f0c7a7f9 Bug 1482608 - Add owning thread pointer holders for Rust code. r=nika,myk
This commit adds `ThreadPtr{Handle, Holder}` to wrap an `XpCom` object
with thread-safe refcounting. These are analagous to
`nsMainThreadPtr{Handle, Holder}`, but can hold references to
objects from any thread, not just the main thread.

`ThreadPtrHolder` is similar to `ThreadBoundRefPtr`. However, it's
not possible to clone a `ThreadBoundRefPtr`, so it can't be shared
among tasks. This is fine for objects that are only used once, like
callbacks. However, `ThreadBoundRefPtr` doesn't work well for loggers
or event emitters, which might need to be called multiple times on
the owning thread.

Unlike a `ThreadBoundRefPtr`, it's allowed and expected to
clone and drop a `ThreadPtrHolder` on other threads. Internally,
the holder keeps an atomic refcount, and releases the wrapped object
on the owning thread once the count reaches zero.

This commit also changes `TaskRunnable` to support dispatching from
threads other than the main thread.

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

--HG--
extra : moz-landing-system : lando
2019-03-25 04:49:24 +00:00
Lina Cambridge 3e894ac30e Bug 1482608 - Add basic Rust bindings for mozStorage. r=nika,asuth,mak
This commit wraps just enough of the mozStorage API to support the
bookmarks mirror. It's not complete: for example, there's no way
to open, clone, or close a connection, because the mirror handles
that from JS. The wrapper also omits shutdown blocking and retrying on
`SQLITE_BUSY`.

This commit also changes the behavior of sync and async mozStorage
connections. Async (`mozIStorageAsyncConnection`) methods may be called
from any thread on any connection. Sync (`mozIStorageConnection`)
methods may be called from any thread on a sync connection, and from
background threads on an async connection. All connections now QI
to `mozIStorageConnection`, but attempting to call a sync method on
an async connection from the main thread throws.

Finally, this commit exposes an `OpenedConnection::unsafeRawConnection`
getter in Sqlite.jsm, for JS code to access the underlying connection.

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

--HG--
extra : moz-landing-system : lando
2019-03-25 04:49:18 +00:00
Nika Layzell e71ae1642c Bug 1535486 - Handle the element type correctly with rust XPCOM types, r=mccr8
Before the Array<T> type, the calltype argument could be in, out, or inout,
however with Array<T> the element type was added.

When I added Array<T>, I changed the checks in files which check calltype !=
'in' to instead check 'out' in calltype, such that element would act more like
in in most cases (not adding the outparam *).

However, I never made that change for rust code, as it didn't support Array<T>
at the time. When I turned on Array<T> support for rust code, I forgot to go
through and change the conditions, which lead to this bug.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 21:32:59 +00:00
Doug Thayer b172543596 Bug 1441308 - Core renderroot splitting changes r=kats,sotaro
This is a large patch that contains all of the core changes for
renderroot splitting.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 18:28:42 +00:00
Ciure Andrei 3de853018a Backed out 7 changesets (bug 1441308)for causing webrender build bustages CLOSED TREE
Backed out changeset 1764701d11d1 (bug 1441308)
Backed out changeset 32f7793dfd1a (bug 1441308)
Backed out changeset d8b4d6ec9b40 (bug 1441308)
Backed out changeset e2f83e4816dd (bug 1441308)
Backed out changeset baee8ada680f (bug 1441308)
Backed out changeset c09a51622e98 (bug 1441308)
Backed out changeset 737807563dd5 (bug 1441308)
2019-03-22 10:52:44 +02:00
Doug Thayer 5b3a0454a4 Bug 1441308 - Core renderroot splitting changes r=kats,sotaro
This is a large patch that contains all of the core changes for
renderroot splitting.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 03:15:14 +00:00
Nicholas Nethercote a955ca9592 Bug 1535226 - Remove uses of XP_WIN32 in Gecko. r=glandium
The definitions can't be entirely removed yet because NSS still needs them.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 01:28:50 +00:00
Boris Zbarsky 081fa29a04 Bug 1536719. Fix handling of member method calls in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
The old code for member method calls did the following:

 1) Find the member method calls.
 2) Look at their "this" expression.
 3) If the "this" is an operator call, check for any of the arguments of the
    operator call being invalid.
 4) Otherwise (if not an operator call) check for the "this" value being
    invalid.

This wasn't right, because the "is invalid" check checks the type and only
considers refcounted things.  So if the code looked something like
"foo[i]->call_method()", we would look at the types of "foo" and "i" and
determine that none of those are refcounted types so there is nothing invalid
here (since "foo" is some sort of array type and "i" is an integer).  The new
setup just checks whether the "this" value is invalid, which does the type
check on the "this" value itself; in the "foo[i]->call_method()" case on
"foo[i]".  We then adjust the exclusions in InvalidArg to consider operator->
on known-live things valid, to allow the thing that we were really trying to
accomplish with the "check for an operator call" bits:
"stackRefPtr->some_method()".

The test coverage being added for the made-up TArray type is meant to catch
things like the geolocation issue that was being hidden by the buggy behavior.
I'm not using nsTArray itself because some header included by nsTArray.h
tries to define operator new/delete bits inline and that triggers warnings that
then cause a clang-plugin test failure, because they're unexpected.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 11:48:33 +00:00