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

1241 Коммитов

Автор SHA1 Сообщение Дата
Kris Maglione 257d9118dc Bug 1409249: Require singleton constructors to return explicit already_AddRefed. r=froydnj
Right now, NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR expects singleton
constructors to return already-addrefed raw pointers, and while it accepts
constructors that return already_AddRefed, most existing don't do so.

Meanwhile, the convention elsewhere is that a raw pointer return value is
owned by the callee, and that the caller needs to addref it if it wants to
keep its own reference to it.

The difference in convention makes it easy to leak (I've definitely caused
more than one shutdown leak this way), so it would be better if we required
the singleton getters to return an explicit already_AddRefed, which would
behave the same for all callers.


This also cleans up several singleton constructors that left a dangling
pointer to their singletons when their initialization methods failed, when
they released their references without clearing their global raw pointers.

MozReview-Commit-ID: 9peyG4pRYcr

--HG--
extra : rebase_source : 2f5bd89c17cb554541be38444672a827c1392f3f
2017-10-16 21:08:42 -07:00
Masatoshi Kimura dbd92543c6 Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3

--HG--
extra : rebase_source : 5db437f1c34608aa223916874d62b48c59baeae8
2017-10-21 23:53:02 +09:00
Nicholas Nethercote 78030c0e7b Bug 1409598 - Change nsIXPCScriptable::className and nsIClassInfo::{contractID,classDescription} from string to AUTF8String. r=froydnj.
This lets us replace moz_xstrdup() of string literals with AssignLiteral(),
among other improvements.

--HG--
extra : rebase_source : 9994d8ccb4f196cf63564b0dac2ae6c4370defb4
2017-10-18 13:17:26 +11:00
ffxbld ddbf9d22ec Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release
MozReview-Commit-ID: Equ8FrTJpTj
2017-09-21 16:42:31 +02:00
Kris Maglione 5e2a16d2d8 Bug 1363482: Part 5 - Preload component manifests off-thread during startup. r=erahm
MozReview-Commit-ID: 2BTkf2C5tMI

--HG--
extra : rebase_source : 671deea52e77af391dab7315a72e02c793cc2b03
2017-05-12 17:55:47 -07:00
Chung-Sheng Fu 6a8ee766d6 Bug 863246 - Content can only load resource:// URIs declared content-accessible in manifests r=billm,bz
bz:
    caps/nsScriptSecurityManager.cpp

billm:
    browser/extensions/activity-stream/jar.mn
    browser/extensions/onboarding/jar.mn
    chrome/RegistryMessageUtils.h
    chrome/nsChromeRegistry.h
    chrome/nsChromeRegistryChrome.cpp
    chrome/nsChromeRegistryContent.cpp
    netwerk/protocol/res/SubstitutingProtocolHandler.cpp
    netwerk/protocol/res/SubstitutingProtocolHandler.h
    netwerk/protocol/res/nsIResProtocolHandler.idl
    netwerk/protocol/res/nsISubstitutingProtocolHandler.idl
    netwerk/protocol/res/nsResProtocolHandler.cpp
    netwerk/protocol/res/nsResProtocolHandler.h
    xpcom/components/ManifestParser.cpp

MozReview-Commit-ID: 1RXeNn7jdBf

--HG--
extra : rebase_source : 83000448abf58b7956c2eb122604d7ab38ad0f7c
2017-06-08 17:44:09 +08:00
Sebastian Hengst 163be910bb Backed out changeset 05fc8d2d7ca9 (bug 863246) for failing various reftests, e.g. parser/htmlparser/tests/reftest/bug535530-2.html. r=backout on a CLOSED TREE 2017-08-25 16:44:40 +02:00
Chung-Sheng Fu 68b806c637 Bug 863246 - Content can only load resource:// URIs declared content-accessible in manifests r=billm,bz
bz:
    caps/nsScriptSecurityManager.cpp

billm:
    browser/extensions/activity-stream/jar.mn
    browser/extensions/onboarding/jar.mn
    chrome/RegistryMessageUtils.h
    chrome/nsChromeRegistry.h
    chrome/nsChromeRegistryChrome.cpp
    chrome/nsChromeRegistryContent.cpp
    netwerk/protocol/res/SubstitutingProtocolHandler.cpp
    netwerk/protocol/res/SubstitutingProtocolHandler.h
    netwerk/protocol/res/nsIResProtocolHandler.idl
    netwerk/protocol/res/nsISubstitutingProtocolHandler.idl
    netwerk/protocol/res/nsResProtocolHandler.cpp
    netwerk/protocol/res/nsResProtocolHandler.h
    xpcom/components/ManifestParser.cpp

MozReview-Commit-ID: 1RXeNn7jdBf

--HG--
extra : rebase_source : 749673b7a5bb0b50192a57496b2ea7962bf6b2d7
2017-06-08 17:44:09 +08:00
Nicholas Nethercote f582d96b98 Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm.
This is straightforward, with only two notable things.

- `#include "nsXPIDLString.h" is replaced with `#include "nsString.h"`
  throughout, because all nsXPIDLString.h did was include nsString.h. The
  exception is for files which already include nsString.h, in which case the
  patch just removes the nsXPIDLString.h inclusion.

- The patch removes the |xpidl_string| gtest, but improves the |voided| test to
  cover some of its ground, e.g. testing Adopt(nullptr).

--HG--
extra : rebase_source : 452cc4a08046a1adb1a8099a7e85a1917de5add8
2017-08-17 15:29:03 +10:00
Nicholas Nethercote 780a2e4aec Bug 1390428 (part 4) - Remove still more nsXPIDLCString local variables. r=erahm.
These are all easy cases where an nsXPIDLCString local variable is set via
getter_Copies() and then is null checked. The patch uses IsVoid() to replace
the null checks (and get() and EqualsLiteral() calls to replace any implicit
conversions).

--HG--
extra : rebase_source : 484ad42a7816b34b86afbe072e04ba131c1619c6
2017-08-16 13:58:55 +10:00
Nicholas Nethercote 8a72cf2251 Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm.
--HG--
extra : rebase_source : 69d58b0cfb56efc6b03d8e2d7be2ce3c3e6cd843
2017-08-21 20:01:27 +10:00
Michael Kaply 73bafcec5e Bug 1389168 - Remove unnecessary IBM license text. r=gerv
MozReview-Commit-ID: 8HdaBppsJsc

--HG--
extra : rebase_source : 617c17b1162265e44810597fa69d533316da1a6b
2017-08-16 16:10:56 -05:00
Kris Maglione 1e4b0c194f Bug 1389848: Make isServiceInstantiated*() return false rather than throw for uninstantiated services. r=ehsan
MozReview-Commit-ID: J8w7eQ6R3eS

--HG--
extra : rebase_source : 5fabd584d645267b72bbcd15bbdfc01dd15f2386
2017-08-12 16:15:19 -07:00
Kris Maglione 9b1d6490e3 Bug 1384689: Add a helper for adding dynamic chrome registry entries. f=Mossop r=froydnj
I went with the simplest possible approach here, and only added support for
"locale" and "override" entries, since we don't expect this to stick around
very long.

MozReview-Commit-ID: IDQ86s3jgnu

--HG--
extra : rebase_source : 32cfcfad667d2cb82be6acd1e0a42ca1854b7691
2017-08-03 20:32:25 -07:00
Nicholas Nethercote 819537ad59 Bug 1386499 - Remove some nsXPIDLCString uses from nsComponentManager. r=erahm.
ToProvidedString() is a better fit for this code, anyway.

--HG--
extra : rebase_source : 052317a7075c7325cba7edc9390d0b8d04273ae1
2017-08-02 14:27:25 +10:00
ffxbld f0e4ae5f8c Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-08-02 09:12:05 +01:00
Eric Rahm 0ec1628a5d Bug 1368994 - Remove !compMgr warning. r=froydnj 2017-07-26 14:00:10 -07:00
Sylvestre Ledru 7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Andrew McCreight abd2f18666 Bug 1366878 - Fix nsComponentManager::GetClassObjectByContractID logging. r=erahm
MozReview-Commit-ID: 7YMcUFK1WHC

--HG--
extra : rebase_source : 2632abf950dff1f5bdb9b4069a4a0461b7e8c387
2017-07-03 14:37:06 -07:00
Mats Palmgren a59535d127 Bug 1376483 - Use Lookup instead of Get+Remove, and LookupForAdd instead of Get+Put, to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: Lgq12HL5gnd
2017-06-28 01:03:17 +02:00
Nicholas Nethercote f1364a75ea Bug 1374580 (part 3) - Remove ns{,C}Substring typedefs. r=froydnj.
All the instances are converted as follows.

- nsSubstring  --> nsAString
- nsCSubstring --> nsACString

--HG--
extra : rebase_source : cfd2238c52e3cb4d13e3bd5ddb80ba6584ab6d91
2017-06-20 19:19:52 +10:00
ffxbld 120e57745f Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-06-12 13:48:15 +01:00
Mike Hommey ff1697d6f2 Bug 1365419 - Allow to apply manifest entries for all non-(Darwin,Windows,Android) OSes. r=bsmedberg
Manifest entries can contain flags, one of which allows to match on the
os running Gecko. The match is performed against the value returned by
nsIXULRuntime.getOS, which itself comes from the build-system's
OS_TARGET.

In practice, this means that things like os=WINNT, os=Darwin,
os=Android, os=Linux are valid filters, but the latter is too specific,
and most of the time, one would want something that is "any OS but
WINNT, Darwin, Android", which can't be expressed with manifest entry
flags (there is no "and" for them, only "or").

For convenience, we add the keyword "LikeUnix", which has that meaning.

--HG--
extra : rebase_source : faf3986d2a4361d12a512752e15e81270be224ef
2017-05-26 08:56:18 +09:00
Wes Kocher 9782406dd8 Backed out 4 changesets (bug 1365419) for android mochitest failures in test_bug583533.html a=backout
Backed out changeset d82aa6aec2c1 (bug 1365419)
Backed out changeset 9aafdd1ca0bd (bug 1365419)
Backed out changeset 261eecf8497f (bug 1365419)
Backed out changeset 1d9b50fadc05 (bug 1365419)

MozReview-Commit-ID: HkhXf1Dkkbk
2017-06-01 18:39:21 -07:00
Mike Hommey 6a0f9240a2 Bug 1365419 - Allow to apply manifest entries for all non-(Darwin,Windows,Android) OSes. r=bsmedberg
Manifest entries can contain flags, one of which allows to match on the
os running Gecko. The match is performed against the value returned by
nsIXULRuntime.getOS, which itself comes from the build-system's
OS_TARGET.

In practice, this means that things like os=WINNT, os=Darwin,
os=Android, os=Linux are valid filters, but the latter is too specific,
and most of the time, one would want something that is "any OS but
WINNT, Darwin, Android", which can't be expressed with manifest entry
flags (there is no "and" for them, only "or").

For convenience, we add the keyword "LikeUnix", which has that meaning.

--HG--
extra : rebase_source : ce2549fab96cb1df3f984e43cb08413cad49479e
2017-05-26 08:56:18 +09:00
Mike Hommey a48a121ef2 Bug 780562 - Remove support for the chrome "platform" flag. r=bsmedberg
Now that the sole use of the flag was removed, remove support for it.

--HG--
extra : rebase_source : 009290ef2938c91b14a2eabe74be6f69ce1dbdf3
2017-04-14 20:48:53 +09:00
Ehsan Akhgari 772e364199 Bug 1360971 - Part 1: Add the nsCategoryCache<T>::GetCachedEntries() API; r=froydnj
This provides a more efficient way to read the entries out of an
XPCOM category cache.
2017-05-08 10:31:13 -04:00
Tom Tromey 99f4608655 Bug 1334278 - change mozilla::Smprintf to return a UniquePtr; r=froydnj
Change mozilla::Smprintf and friends to return a UniquePtr, rather than
relying on manual memory management.  (Though after this patch there are
still a handful of spots needing SmprintfFree.)

MozReview-Commit-ID: COa4nzIX5qa

--HG--
extra : rebase_source : ab4a11b4d2e758099bd0794d5c25d799a7e42680
2017-03-03 08:17:27 -07:00
Eric Rahm 478755933a Bug 1351732 - Part 2: Replace use of PLArena with ArenaAllocator in xpcom. r=froydnj
This swaps xpcom's plarena usage to ArenaAllocator. The new ArenaStrdup
extensions are used as well.

MozReview-Commit-ID: DHDfl6IkGJL
2017-03-30 16:46:58 -07:00
ffxbld cce942762c Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release
MozReview-Commit-ID: GEyM0F1O4hP
2017-03-06 23:53:55 +01:00
Tom Tromey 7c2695d760 Bug 1060419 - make ManifestParser use Printf.h, r=froydnj
MozReview-Commit-ID: HBOOr5WScvU

--HG--
extra : rebase_source : 08a020f6c95cd662000e2ade4bcbae7f62bea165
2016-12-15 20:13:08 -07:00
Tom Tromey f8ab4ddf02 Bug 1060419 - remove unneeded includes of prprf.h, r=froydnj
MozReview-Commit-ID: JifhpA3oOeH

--HG--
extra : rebase_source : 08460997dc3fd91f3065c718e17b41bb4acf8bae
2016-12-09 10:00:01 -10:00
Bill McCloskey 194043ae97 Bug 1339289 - Give names to a lot of common runnables (r=ehsan)
MozReview-Commit-ID: 5IdvK6kgoAW
2017-02-15 12:30:01 -08:00
David Anderson 23572be8d6 Add memory reporting message support to PGPU. (bug 1321492 part 6, r=rhunt, r=erahm) 2017-01-26 16:35:54 -08:00
Benjamin Smedberg 9b43ba6de7 Bug 1332631 part G - file moves from xpcom/glue to xpcom/components, and remove GenericModule which is no longer useful, r=froydnj
MozReview-Commit-ID: 5NvfKRAlZqs

--HG--
rename : xpcom/glue/GenericFactory.cpp => xpcom/components/GenericFactory.cpp
rename : xpcom/glue/GenericFactory.h => xpcom/components/GenericFactory.h
rename : xpcom/glue/nsCategoryCache.cpp => xpcom/components/nsCategoryCache.cpp
rename : xpcom/glue/nsCategoryCache.h => xpcom/components/nsCategoryCache.h
rename : xpcom/glue/nsComponentManagerUtils.cpp => xpcom/components/nsComponentManagerUtils.cpp
rename : xpcom/glue/nsComponentManagerUtils.h => xpcom/components/nsComponentManagerUtils.h
rename : xpcom/glue/nsServiceManagerUtils.h => xpcom/components/nsServiceManagerUtils.h
extra : rebase_source : 2f9e4b8de99c2835c4322282b0227ed3f833c285
extra : histedit_source : 45033773c304696050a649e3fbde1ecb33ec1fea
2017-01-20 14:41:10 -05:00
ffxbld ed04f7a449 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-01-23 15:38:06 +00:00
Andi-Bogdan Postelnicu 60bb054c02 Bug 1317954 - Replace default bodies of special member functions with = default; in xpcom/. r=froydnj
MozReview-Commit-ID: 5GXchMr0VvV

--HG--
extra : rebase_source : ac32605ef643f67ffd0f0894f31eed8f01804e2f
2016-11-16 14:25:31 +02:00
Andi-Bogdan Postelnicu 42effb5bbf Bug 1317954 - Use auto type specifier where aplicable for variable declarations to improve code readability and maintainability in xpcom/. r=froydnj
MozReview-Commit-ID: EZZrYF1W81B

--HG--
extra : rebase_source : 30eea607d07ac819a0e55a2c4b0f8c359c156705
2016-11-16 14:24:59 +02:00
Benjamin Smedberg 5964cb6f7f Bug 1314955 part C - Make the `binary-component` manifest instruction obsolete: it will continue to be parsed and will report a deprecation notice to the browser console. r=froydnj
MozReview-Commit-ID: LqjraYHrbnw

--HG--
extra : rebase_source : 9dec005a61b3ff987f68fc372d5612257777d288
extra : source : b99edf918b964e1ad5d096c26cc439818d925891
2016-10-26 12:40:42 -04:00
Iris Hsiao 541087209a Backed out changeset b99edf918b96 (bug 1314955) for Android XPCShell failures 2016-11-16 15:19:38 +08:00
Benjamin Smedberg 7fe406a0e5 Bug 1314955 part C - Make the `binary-component` manifest instruction obsolete: it will continue to be parsed and will report a deprecation notice to the browser console. r=froydnj
MozReview-Commit-ID: LqjraYHrbnw

--HG--
extra : rebase_source : 0d4f71303b4227ab61aff2c00db6b4ec0717ce63
2016-10-26 12:40:42 -04:00
ffxbld d07aca95ba Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-11-14 13:29:32 +01:00
J. Brown 822aa4b8d8 Bug 1242901 - Fix linking libxul.so with binutils/GNU ld >= 2.26. r=glandium
The build fails with:

    /usr/bin/ld: ../../xpcom/components/nsComponentManager.o: relocation R_386_GOTOFF against protected data `start_kPStaticModules_NSModule' can not be used when making a shared object
    /usr/bin/ld: final link failed: Bad value
    collect2: error: ld returned 1 exit status

This is a patch from 2016/04/27 16:36:50 ryoon found on
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/www/firefox45/patches/#dirlist.
2016-10-20 04:25:00 -04:00
ffxbld 857d1ac980 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2016-09-19 09:45:57 -04:00
Michael Layzell 36e08437d0 Bug 1018486 - Part 8: Various other changes, r=smaug
MozReview-Commit-ID: B0dsomkWgEk
2016-09-07 10:50:45 -04:00
Gregory Moore b5da131303 Bug 1298709 - Remove redundant call of get() on smart pointer in nsCategoryManager.cpp. r=froydnj 2016-09-02 15:22:09 -07:00
Nicholas Nethercote c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
David Anderson 9495e20273 Enable nsComponentManager in the GPU process. (bug 1294350 part 4, r=nfroyd) 2016-08-22 22:57:36 -07:00
Nicholas Nethercote b048991fcb Bug 1295053 (part 2) - Don't use NS_METHOD for nsCategoryManager functions. r=froydnj.
These don't need __stdcall on Win32.

--HG--
extra : rebase_source : 3186eb121878ea97420afa500224f38493275793
2016-08-15 14:30:14 +10:00
Nicholas Nethercote 736c7b1407 Bug 1291970 (part 2) - Tweak nsCategoryManager memory reporter handling. r=erahm.
This patch adds an assertion that makes sure that the nsCategoryManager is
destroyed after the nsMemoryReporterManager, because bad things would happen
otherwise.

Also, nsCategoryManager uses manual memory management (it's AddRef/Release are
hardwired to always return 2 and 1 respectively) so it doesn't matter if we
register it as a strong or weak memory reporter. But it's more common to use
RegisterWeakMemoryReporter when the argument is |this|, so this patch does
that.

--HG--
extra : rebase_source : 4ca33404d4c6f2b271e1ad008ea1a9a79f3ef666
2016-08-11 09:29:44 +10:00