Commit Graph

17085 Commits

Author SHA1 Message Date
Chia-Hung Duan
778619638a Bug 1376891 - Support idle runnable for nursery collection. r=jonco, r=smaug 2017-10-30 18:07:42 +08:00
Andrew Osmond
920629550f Bug 1404422 - Part 1c. Refactor how an imgRequestProxy is added/removed from its load group. r=tnikkel
There should be no functional change here, but we rely upon the new
structure in the next patch in the series. This separates out the
notions of removing a request from the load group (which is always
final, and must be executed outside of synchronous calls from the owner
of the imgRequestProxy) and wanting to readd a request to the load group
as a background request (for multipart images).

The most important addition is mForceDispatchLoadGroup which if true
when imgRequestProxy::RemoveFromLoadGroup is called, will dispatch the
removal from the load group instead of executing it inline. This ensures
safety for any callers (e.g. to CancelAndForgetObserver) as above.
2017-11-01 06:59:10 -04:00
Nicholas Nethercote
8bd05bfcc0 Bug 1412949 - Remove SystemMemoryReporter. r=erahm.
This was created for B2G and isn't really useful otherwise. It only works on
Linux, and it's behind the memory.system_memory_reporter pref, which is false
by default.

The patch also removes LinuxUtils.{h,cpp}, which is no longer used.

--HG--
extra : rebase_source : b97a018be11a79f83855a73b88020bfa86e60f78
2017-10-31 12:49:41 +11:00
Chris Peterson
73037a0f6a Bug 1412048 - Replace NS_RUNTIMEABORT(var) with MOZ_CRASH_UNSAFE_OOL(var). r=froydnj data-review=francois
And remove unreachable code after MOZ_CRASH_UNSAFE_OOL().

MOZ_CRASH_UNSAFE_OOL causes data collection because crash strings are annotated to crash-stats and are publicly visible. Firefox data stewards must do data review on usages of this macro. However, all the crash strings this patch collects with MOZ_CRASH_UNSAFE_OOL are already collected with NS_RUNTIMEABORT.

MozReview-Commit-ID: IHmJfuxXSqw

--HG--
extra : rebase_source : 031f30934b58a7b87f960e57179641d44aefe5c5
extra : source : fe9f638a56a53c8721eecc4273dcc074c988546e
2017-10-24 23:38:38 -07:00
Chris Peterson
1df202b177 Bug 1412048 - Replace NS_RUNTIMEABORT("...") with MOZ_CRASH("..."). r=froydnj
And remove unreachable code after MOZ_CRASH().

MozReview-Commit-ID: 6ShBtPRKYlF

--HG--
extra : rebase_source : 0fe45a59411bda663828336e2686707b550144ae
extra : source : 8473fd7333d2abe1ea1cc176510c292a5b34df45
2017-10-24 23:30:31 -07:00
Bevis Tseng
6115852e16 Bug 1409985 - Don't fire DOMEvent during StableState. r=smaug 2017-10-19 18:20:31 +08:00
Marco Castelluccio
4194dc0b23 Bug 1412980 - Remove nsPackageKitService as it is unused. r=froydnj
--HG--
extra : rebase_source : a172bec722747d8f942a953102a4ac686f46a6a8
2017-10-30 17:17:49 +00:00
Marco Castelluccio
ecf5ddbf21 Bug 1412981 - Remove nsIStatusReporter as it is unused. r=froydnj
--HG--
extra : rebase_source : 9b917d55005e90abe26a61a58368ff82bf103c3f
2017-10-30 18:49:05 +00:00
Eric Rahm
b8c8c56e46 Bug 1412416 - Part 2: Simplify ArenaStrdup for xpcom strings. r=froydnj
Now that xpcom strings use templates we can combine their `ArenaStrdup`
implementations. `nsTStringRepr` is used so as to allow handling of both
`nsTLiteralString` and `nsTSubstring` types.

--HG--
extra : rebase_source : e77891da589f320507b45f524a3203b3dc9f38e6
extra : histedit_source : 79d3b9a1add191563e0985f0c0e416bd29f24351
2017-10-27 13:26:47 -07:00
Eric Rahm
1a39968857 Bug 1412416 - Part 1: Support arena duplication of wide strings. r=froydnj
This adds support for duplicating both raw `char*` strings and raw `char16_t*`
strings by making the character type generic.

--HG--
extra : rebase_source : bb5245ed71161c8c785684e5a56ac894f03874ea
extra : histedit_source : e94eb738a3982f0cb63a894a0cdfbdf0be2b9cad
2017-10-27 13:23:48 -07:00
Adam Gashlin
3da1701e2d Bug 1401400 - Part 3. Process all threads when crashing for hang. r=gsvelto
MozReview-Commit-ID: JH4PGYJreF7
2017-10-19 14:49:13 -07:00
Kyle Machulis
5f973ae9ca Bug 1408169 - Remove nsIDOMHTMLMenuItemElement; r=bz
Removes the XPCOM interface for nsIDOMHTMLMenuItemElement, replacing it
with binding class usage.

MozReview-Commit-ID: 9HtCmwKyV1W

--HG--
extra : rebase_source : d56ee91a46d48c9d8698765b520a585361813a26
2017-10-12 15:10:50 -07:00
Nicholas Nethercote
8ad99dd7fa Bug 1411893 - Introduce nsStaticAtom. r=emilio,froydnj.
It's a sub-class of nsAtom, useful for cases where you know you are dealing
exclusively with static atoms. The nice thing about it is that you can use
raw nsStaticAtom pointers instead of RefPtr<>. (In fact, the AddRef/Release
implementations ensure that we'll crash if we use RefPtr<nsStaticAtom>.)

MozReview-Commit-ID: 4Q6QHX5h44V

--HG--
extra : rebase_source : e4237f85b4821b684db0ef84d1f9c5e17cdee428
2017-10-27 10:31:13 +11:00
Phil Ringnalda
ac48293bbe Backed out 5 changesets (bug 1401400) for eslint failure
Backed out changeset 788f5831a14d (bug 1401400)
Backed out changeset 3ccd39a02c21 (bug 1401400)
Backed out changeset e5860d5128fb (bug 1401400)
Backed out changeset fa28abe68df1 (bug 1401400)
Backed out changeset 0290bb0af376 (bug 1401400)

MozReview-Commit-ID: 8e9kQEaE7Bs
2017-10-26 19:29:38 -07:00
Adam Gashlin
be677dbba0 Bug 1401400 - Part 3: Process all threads when crashing for hang. r=gsvelto 2017-10-19 14:49:13 -07:00
Andrew McCreight
989d6728ca Bug 1412119 - Re-fix mode lines in xpcom. r=erahm 2017-10-26 14:39:00 -04:00
Kris Maglione
b46bd8b6b0 Bug 1411817: Add do_AddRef overloads for nsCOMPtr<T> and nsRevocableEventPtr<T>. r=froydnj
MozReview-Commit-ID: gEU7whtNHc

--HG--
extra : rebase_source : 6763e6b31be8a3341f968eef057b756fbfe3cbbe
extra : amend_source : da6140fb0559d78b46e80e72e8b6768bf2364fb1
2017-10-25 19:46:50 -07:00
Nathan Froyd
a7b1f6e01e Bug 1410575 - avoid hash table re-lookups in LabeledEventQueue::GetEvent; r=erahm
We can save the entry in the hashtable, and then re-use that entry as a
starting point for removing from the hashtable, should that become
necessary.  This saves us having to rehash things, at a minimum.
2017-10-26 13:45:29 -04:00
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
Paul Bone
72289df407 Bug 1410276 - Add a canary field to nsStringBuffer. r=bz 2017-10-25 23:21:47 +11:00
Andrea Marchesini
acd3aaaa13 Bug 1411520 - nsMultiplexInputStream must use CancelableRunnable because it can be used in workers, r=bkelly 2017-10-25 20:18:58 +02:00
Nika Layzell
1b1ba4879a Bug 1403213 - Move nsstring into servo/support/gecko/nsstring, r=froydnj
MozReview-Commit-ID: 8ucStGkxmj7

--HG--
rename : xpcom/rust/nsstring/gtest/Test.cpp => xpcom/rust/gtest/nsstring/Test.cpp
rename : xpcom/rust/nsstring/gtest/test.rs => xpcom/rust/gtest/nsstring/test.rs
extra : rebase_source : 509a2ab1aa569e8f3ef0955dcdfa36b53ce5e234
2017-10-23 15:37:25 -04:00
Sylvestre Ledru
ae9444af4d Bug 1411034 - Remove the const to fix the -Wignored-qualifiers warning r=erahm
MozReview-Commit-ID: 8AvGwUQsdE8

--HG--
extra : rebase_source : 25b61a81b83ff3fa65ab15a23af92a56e3a6be12
2017-10-23 22:42:35 +02:00
Sebastian Hengst
31bf3a1a42 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4Lk5P5UYmTe
2017-10-24 11:52:35 +02:00
Sebastian Hengst
8072106c67 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-23 23:55:17 +02:00
Sebastian Hengst
364d36fab2 merge mozilla-inbound. r=merge a=merge
MozReview-Commit-ID: B09kHrHK42C
2017-10-23 23:50:37 +02:00
Nathan Froyd
8a54fa305a Bug 1410232 - fix SchedulerGroupSet::Put when transitioning to multiple groups; r=billm
We were moving state from single -> multi, but we weren't doing anything
with the group that was passed in for such cases.
2017-10-23 08:49:41 -04:00
Nathan Froyd
322e865fb8 Bug 1402044 - don't inline InputEventStatistics::Get(); r=erahm
Defining Get() in the declaration of InputEventStatistics implicitly
sticks an "inline" on the function, which is not what we want: inlining
it spreads around a lot of static initialization code.  Providing an
out-of-line definition is much better in terms of code size.
2017-10-23 12:15:16 -04:00
Nicholas Nethercote
3842370ed8 Bug 1405541 (attempt 2) - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive. This patch splits that macro into three new ones that are harder to
mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.

--HG--
extra : rebase_source : 3e2bbec4737b696e1c86579ae54be4cb3186c100
2017-10-13 16:12:57 +11:00
Nicholas Nethercote
21e7dce1a2 Bug 1410294 (part 3) - Overhaul static atom macros. r=froydnj.
There are four things that must be provided for every static atom, two of which
have a macro:
- the atom pointer declaration (no macro);
- the atom pointer definition (no macro);
- the atom char buffer (NS_STATIC_ATOM_BUFFER);
- the StaticAtomSetup struct (NS_STATIC_ATOM_SETUP).

This patch introduces new macros for the first two things: NS_STATIC_ATOM_DECL
and NS_STATIC_ATOM_DEFN, and changes the arguments of the existing two macros
to make them easier to use (e.g. all the '##' concatenation now happens within
the macros).

One consequence of the change is that all static atoms must be within a class,
so the patch adds a couple of classes where necessary (DefaultAtoms, TSAtoms).

The patch also adds a big comment explaining how the macros are used, and what
their expansion looks like. This makes it a lot easier to understand how static
atoms work. Correspondingly, the patch removes some small comments scattered
around the macro use points.

MozReview-Commit-ID: wpRyrEOTHE

--HG--
extra : rebase_source : 9f85d477b4d06c9a9e710c757de1f1476edb6efe
2017-10-22 08:50:25 +11:00
Nicholas Nethercote
074a872086 Bug 1410294 (part 1) - Rename nsStaticAtom as nsStaticAtomSetup. r=froydnj.
Because it's the type we use to set up static atoms at startup, not the static
atom itself.

The patch accordingly renames some parameters, variables, and NS_STATIC_ATOM,
for consistency.

MozReview-Commit-ID: 1a0KvhYNNw2

--HG--
extra : rebase_source : 5c66e5b2dfe053a368bf3584d957198aec4cce91
2017-10-20 14:04:47 +11:00
Philippe Normand
321ce5365c Bug 1410460 - Non-unified build fix for nsClassInfoImpl.cpp. r=cpearce
The nsACString type was used without prior declaration.
2017-10-20 16:46:40 +01:00
Sebastian Hengst
af53b8aad8 merge mozilla-central to autoland. r=merge a=merge 2017-10-23 23:52:54 +02: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
Philippe Normand
bf7e42184a Bug 1410023 - Non-unified build fixes for xpcom/threads. r=froydnj
The recent Timer implementation changes from Bug 1404198 broke non-unified builds.

--HG--
extra : rebase_source : c87acca6565dd282f79dec481f0abf5aea9066a1
2017-10-20 17:36:29 +01:00
Nicholas Nethercote
b66a653de9 Bug 1407458 - Use nsString for Observation filenames. r=erahm.
This avoids some unnecessary string copying.

--HG--
extra : rebase_source : a81a5e1612be2897a4285f5f395e7cb3ed006bc8
2017-10-17 08:22:12 +11:00
Eric Rahm
4df63b1809 Bug 1403083 - Part 2: Test conditionaly enabling string functions. r=froydnj
--HG--
extra : rebase_source : 01e852a2cf86a71fd1842fc852f1c2cdecb67b7b
2017-10-09 13:33:16 -07:00
Eric Rahm
e0bdf23b2e Bug 1403083 - Part 1: Properly disable string functions for invalid char types. r=froydnj
In order to properly disable template functions with `std::enable_if` we need
to use the resulting type. This only works if we use a dependent type in the
template params, hence the need to shadow the `T` param.

Proper usage is now of the form:

template<typename Q = T, typename EnableIfChar = CharOnlyT<Q>>
Foo();

--HG--
extra : rebase_source : da7855403d9e683d06d3858e26805e9d8e338208
2017-10-03 12:44:44 -07:00
Nathan Froyd
7c3d6e9065 Bug 1410088 - don't copy QueueEntry(ies) when calling LabeledEventQueue::GetEvent; r=erahm
We were extracting elements from the queue and unnecessarily refcounting
them, rather than transferring the owning reference out of the queue and
out to the caller.
2017-10-19 16:22:55 -04:00
Nathan Froyd
aeec9a0da6 Bug 1410086 - don't copy QueueEntry(ies) when checking LabeledEventQueue for ready events; r=erahm
There's no need to copy events in the queue to check whether they are
ready to run or not.
2017-10-19 16:22:55 -04:00
Andrea Marchesini
6626e900f9 Bug 1409327 - NS_NewBufferedInputStream should take the ownership of the inputStream, r=smaug 2017-10-19 11:39:30 +02: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
Ryan VanderMeulen
cb612851ed Merge inbound to m-c. a=merge 2017-10-18 21:01:34 -04:00
Blake Kaplan
22ee7f1db9 Bug 1406212 - Remove multiprocessBlockPolicy. r=Felipe
MozReview-Commit-ID: F6P5fUPSc7L

--HG--
extra : rebase_source : 2663c37c2dfe853adc86ba36599fed715114b812
2017-10-12 11:16:46 -07:00
Andrew McCreight
70333838d1 Bug 1403959, part 3 - Manually fix some xpcom/ eslint failures and enable it. r=froydnj
Renames are because another location also defined that
variable. Unused definitions are eliminated.

The .eslintrc.js file makes eslint expect XPCShell global variables.

MozReview-Commit-ID: Fafm5o45bme

--HG--
extra : rebase_source : ab71132a60e90bd30f34766bd828b18dd608f8b3
2017-09-28 16:12:52 -07:00
Andrew McCreight
4ae455cdc5 Bug 1403959, part 2 - Automatically generated eslint fixes. r=froydnj
These were generated with |./mach eslint --fix xpcom| with the
.eslintignore and xpcom/tests/unit/.eslintrc.js changes from the next
patch.

MozReview-Commit-ID: 8pKkICSK3JQ

--HG--
extra : rebase_source : bbc98050928f27160d8ca63d38aa0c383be95878
2017-09-28 15:49:04 -07:00
Andrew McCreight
ae916ca971 Bug 1403959, part 1 - Remove non-standard conditional catch clause. r=froydnj
This is non-standard, and eslint can't parse it correctly, so remove
it.

MozReview-Commit-ID: EsfZSyoECB0

--HG--
extra : rebase_source : 561d194e0c466d98d054b2303916be196f983b1b
2017-09-28 15:39:06 -07:00
Stephen A Pohl
f810e234b5 Bug 1409468: Add a property appleModelId to telemetry's environment data to collect model IDs for Apple desktop devices. r=mstange,francois 2017-10-18 14:52:06 -04:00
Nika Layzell
2e20b0d128 Bug 1377351 - Part 5: Add a workaround for gcc 4.9 compiler bug, r=froydnj
MozReview-Commit-ID: CHywpZ4fvXf
2017-10-18 13:00:22 -04:00
Nika Layzell
c234875cd6 Bug 1377351 - Part 4: Add tests for nsA[C]String::Assign move overload, r=froydnj
MozReview-Commit-ID: KJ41seMmUXt
2017-10-18 13:00:18 -04:00