Commit Graph

16601 Commits

Author SHA1 Message Date
Wes Kocher
cff9e9b197 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2YvHbITn9w3
2017-08-10 18:25:34 -07:00
Wes Kocher
936a9461f6 Merge inbound to m-c a=merge
MozReview-Commit-ID: KRQeIGmhAPA
2017-08-10 18:14:34 -07:00
Sebastian Hengst
51d351f567 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-10 17:41:11 +02:00
Valentin Gosu
b3e75dbf06 Bug 1386683 - Do not escape the ' character in the URL hash r=junior
MozReview-Commit-ID: DkoDvWGbWfu

--HG--
extra : rebase_source : 22de804e82136114a0688ce271cac8c49f8c4f23
2017-08-06 11:13:04 +02:00
Bill McCloskey
a7bc022071 Bug 1384336 - Stop using OS-level event loop in content process (r=mstange)
MozReview-Commit-ID: 1ouSlgGchWl
2017-08-09 21:24:20 -07:00
Sylvestre Ledru
8c03b39a29 Bug 1387002 - Replace .size() by .empty() when applicable in xpcom/ r=froydnj
MozReview-Commit-ID: LWzpVGVV7Py

--HG--
extra : rebase_source : 1e3aa342a096afcdd194b1272ac693b225081599
2017-08-03 12:08:32 +02:00
Ryan VanderMeulen
64905fbd5a Backed out changesets 19b8d672b55d and 2980183d98fb (bug 1362338) for hazard analysis failures. 2017-08-09 21:12:28 -04:00
Emilio Cobos Álvarez
ea4858c92f Bug 1362338: followup: Tentatively fix windows build bustage. r=me
Windows apparently uses __stdcall for this, so need to use the ugly macros...

MozReview-Commit-ID: 4J27sCYwdHg
2017-08-09 14:45:37 +02:00
Emilio Cobos Álvarez
300ebe9ee1 Bug 1362338: Make nsIAtom::AddRef and nsIAtom::Release final. r=froydnj
MozReview-Commit-ID: CFWcSNocGIm
2017-08-09 14:20:17 +02:00
Emilio Cobos Álvarez
e99fdbe52e Bug 1362338: Take a bit from the atom's length to store a tristate. r=froydnj
MozReview-Commit-ID: Elu9EioSDXk
2017-08-09 14:19:30 +02:00
Emilio Cobos Álvarez
a7d696a18f Bug 1362338: Preliminary whitespace cleanup in nsIAtom.idl. r=froydnj
MozReview-Commit-ID: DN2tN0OMWEk
2017-08-09 14:18:15 +02:00
Phil Ringnalda
858a553b02 Backed out 2 changesets (bug 1386103) for Android x86 build bustage
Backed out changeset eec506d87d03 (bug 1386103)
Backed out changeset 3f9ec011c9bd (bug 1386103)

MozReview-Commit-ID: 8ak71R7vUOC
2017-08-08 22:08:54 -07:00
Nicholas Nethercote
7512aa2dea Bug 1386103 (part 2) - Convert nsFixed[C]String uses to nsAuto[C]String. r=erahm.
In all of these cases the fixed buffer has the same lifetime as the string
object, so we can use nsAuto[C]String for simplicity.

For the 128-length ones in dom/xul/ I just switched to the default of 64 for
simplicity, because the choice of 128 didn't seem that important. (These code
paths weren't hit when I started the browser and opened a few sites.)

Finally, the patch also changes LoggingIdString to use
nsAutoCStringN<NSID_LENGTH>, similar to NullPrincipalURI.
2017-08-01 11:58:56 +10:00
Nicholas Nethercote
e9daf4d245 Bug 1386103 (part 1) - Specify nsAuto[C]String storage size via template parameter. r=dbaron.
This patch parameterizes nsAuto[C]String, renames them as nsAuto[C]StringN, and
redefines nsAuto[C]String as typedefs for nsAuto[C]StringN<64>.

(The alternative would be to templatize nsAuto[C]String and use a default
parameter, but that would require writing "nsAuto[C]String<>" everywhere.)
2017-08-01 11:58:45 +10:00
Nicholas Nethercote
3b50454376 Bug 1388253 - Remove nsTextFormatter:[v]smprintf(). r=erahm.
--HG--
extra : rebase_source : 27f080dda37d107f64eb8f341c6ebb20b874471b
2017-08-09 10:41:21 +10:00
Nicholas Nethercote
d4e19d954a Bug 1388253 - Convert nsTextFormatter:[v]smprintf() use to [v]ssprintf(). r=erahm.
[v]ssprintf() is just a better way of doing things.

--HG--
extra : rebase_source : 25337787b9557f8a7080a67645dba70609a8f646
2017-08-09 10:41:14 +10:00
Wes Kocher
7651bde05c Merge m-c to inbound, a=merge
MozReview-Commit-ID: 9Abf0fILvvK
2017-08-08 15:16:00 -07:00
Wes Kocher
650baf5c45 Merge inbound to central, a=merge
MozReview-Commit-ID: HpVAbc2vi78
2017-08-08 15:14:28 -07:00
Carsten "Tomcat" Book
635b24e121 Merge mozilla-central to autoland 2017-08-08 13:25:29 +02:00
Eric Rahm
a750d8eb22 Bug 1380154 - Part 2: Generate a DAFSA and use it for eTLDs. r=jduell
This replaces our giant sorted array of eTLD names with a more compact DAFSA.

MozReview-Commit-ID: 3zMBzUM9QUg
2017-07-17 16:10:18 -07:00
Eric Rahm
65313fd340 Bug 1380154 - Part 1: Add the Chromium DAFSA generator. r=njn
This imports Chromium's `make_dafsa.py` script [1]. It takes in a gperf
formatted file (note: gperf is *not* required) and converts that to a compact
binary representation of the string data in the form of a deterministic
acyclic finite state automaton (DAFSA) [2].

The only change made to the script was to make it handle the arguments our
file generation script passes in to the `main` function.

It also imports the logic for traversing the DAFSA [3] almost verbatim in
`Dafsa.cpp`. A thin wrapper was added so that we can reuse the DAFSA structure
for multiple tables.

The only change made to the original logic was to swap in mozilla style
assertions and rename the not found constant from `kNotFound` to
`Dafsa::kKeyNotFound` in order to avoid a collision with `kNotFound` defined in
our nsString code.

[1] 6ba04a9056/tools/dafsa/make_dafsa.py
[2] https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_state_automaton
[3] a2a90a35aa/net/base/registry_controlled_domains/registry_controlled_domain.cc (72)

MozReview-Commit-ID: Eion9POHZm5
2017-07-17 16:09:42 -07:00
Tristan Bourvon
3bd6c5f20a Bug 1374024 - add static-analysis annotation for class functions that return dangling pointers. r=mystor
MozReview-Commit-ID: 44Ltj5FZAZD
2017-07-13 12:00:06 +02:00
Henry Chang
31e6f23f84 Bug 1355746 - Part 3. Test cases for IdleTaskRunner. r=smaug
MozReview-Commit-ID: 3RsC1pT9Fzc

--HG--
extra : rebase_source : 0e809780c75c9b8115e7242822ba1d44a1a0fe5d
extra : intermediate-source : 0a7daa942672d158b160b3e1af3ddbb88b36c953
extra : source : 08210ea8446bd222cda5c19ee326f8ffdbb65b3f
2017-07-12 14:13:44 +08:00
Henry Chang
55356f4f83 Bug 1355746 - Part 2. Polish IdleTaskRunner and reuse it for background parsing. r=smaug
This patch is mainly to make IdleTaskRunner reusable by nsHtml5TreeOpExecutor.
The only necessary work to that purpose is to remove the dependency of
sShuttingDown, which was a static variable in nsJSEnvironment.cpp.
The idea is to have a "MayStopProcessing" as a callback for the consumer to
return sShuttingDown.

In addition to sShuttingDown, we use std::function<bool()> as the runner
main callback type.

MozReview-Commit-ID: FT2X1unSvPS

--HG--
extra : rebase_source : 3fe2d4f597f53e9a90f3dc8d5009df04240534ba
extra : intermediate-source : 41f6715c344ce26f7820cecb2544db8c50dca796
extra : source : 042f10937305e34245bdaf75dcb816db7738254e
2017-07-12 09:23:15 +08:00
Henry Chang
fab3d4644c Bug 1355746 - Part 1. Rename CollectRunner to IdleTaskRunner and move to xpcom/threads/IdleTaskRunner.h/cpp r=smaug
Nothing is changed in this patch except for renaming and code move around.
The strategy is to have the final file setup in this patch without any
detail change. The actual code change will be in the next patch so that
we can focus on reviewing the diff in the next patch regarding IdleTaskRunner.

MozReview-Commit-ID: 4Bul9mZ7z1n

--HG--
extra : rebase_source : b978da3a3c68da58f9fd93502bcc4295acd699ce
extra : source : 833d4b69accbf7d1d60f9f11d807ee37d608b6fe
2017-08-07 13:50:47 +08:00
Nathan Froyd
438b1b37eb Bug 1380619 - avoid unnecessary content process leaks in SchedulerGroup dispatch during shutdown; r=mystor
SchedulerGroup dispatch needs to replicate all the quirks of dispatching
directly to threads, which means we need to handle cases where dispatch
might have failed and we have resources that we don't want to leak.
2017-08-09 14:12:44 -04:00
Emilio Cobos Álvarez
9f02c96781 Bug 1362338: Make nsIAtom::AddRef and nsIAtom::Release final. r=froydnj
MozReview-Commit-ID: CFWcSNocGIm

--HG--
extra : rebase_source : 6b8e28f76e2d4fff13f3a89ac68388a0b090bf74
2017-08-09 14:20:17 +02:00
Ryan VanderMeulen
cc7a4548cc Backed out 3 changesets (bug 1376038) to see if it affects the ghost window numbers in bug 1388111.
Backed out changeset b89df6ea668a (bug 1376038)
Backed out changeset ae6472c17577 (bug 1376038)
Backed out changeset 8c99b4e8e6c1 (bug 1376038)
2017-08-07 21:11:42 -04:00
Henry Chang
af3b11c151 Bug 1375277 - New safebrowsing threat type "POTENTIALLY_HARMFUL_APPLICATION" introduced by v4. r=francois
As our threattype-listname conversion design, "goog-harmful-proto" is allocated
for this new threat type. This threat type is mainly for mobile.

MozReview-Commit-ID: G9GbgmHHHfp

--HG--
extra : rebase_source : 0681fcd9322b94451a86eafe57bf1ccc4b89db30
extra : intermediate-source : 28b0502d9add81beeae58a2c33f9fd5839d4d544
extra : source : 646f02f15131aa98ad37015b0a641304a3271796
2017-07-27 15:37:57 +08:00
Masatoshi Kimura
06311d2e3a Bug 1375125 - Remove nsILocalFile. r=froydnj
MozReview-Commit-ID: 6oU6Ya5UXtC

--HG--
extra : rebase_source : 55b6e30aa348c1b939326698b0da7d72c26b479c
2017-08-05 09:43:49 +09:00
Masatoshi Kimura
f6b1dc1043 Bug 1375125 - Fix errors caused by mechanical replacement. r=froydnj
MozReview-Commit-ID: 1kOvLdeCJiR

--HG--
extra : rebase_source : 94b04b16ac5d951600d31d1cdb78b494d8275ad1
2017-08-05 08:21:55 +09:00
Masatoshi Kimura
8b713b2b0f Bug 1375125 - Stop using nsILocalFile in the tree. r=froydnj
This mechanically replaces nsILocalFile with nsIFile in
*.js, *.jsm, *.sjs, *.html, *.xul, *.xml, and *.py.

MozReview-Commit-ID: 4ecl3RZhOwC

--HG--
extra : rebase_source : 412880ea27766118c38498d021331a3df6bccc70
2017-08-04 17:49:22 +09:00
Masatoshi Kimura
49e04cc095 Bug 1149830 - Remove nsIStackFrame::language. r=bz,mccr8
MozReview-Commit-ID: LxTiLFzNJ9Y

--HG--
extra : rebase_source : 98ca14aa59a62309dcbe0c9ed3e961c730ff9db9
2017-08-03 15:50:07 +09:00
Sebastian Hengst
765cc1b925 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JhesEg4Bxjy
2017-08-04 19:28:27 +02:00
Nicholas Nethercote
4f49ba4241 Bug 1386962 - Remove template code from XPIDL generated header files. r=froydnj.
XPIDL generated header files contain a |#if 0| block for every interface,
providing the skeleton of the class as it must be implemented in C++. This is
potentially useful, but also very verbose.

This patch removes this code. In a Linux64 debug build, this reduces the total
size of the $OBJDIR/dist/include/nsI*.h files from 11,023,499 bytes to
8,442,350 bytes, a 23.5% reduction. It didn't speed up compilation, though.

--HG--
extra : rebase_source : 65e1e46cffe7c831d83c3308d7ce58c801618dda
2017-08-03 17:05:01 +10:00
Bill McCloskey
75f4342e31 Bug 1364821 - Fix bustage
MozReview-Commit-ID: 3Z5A1FmvBm3
2017-08-03 15:17:11 -07:00
Bill McCloskey
5466ff7e51 Bug 1386893 - Update AbstractThread thread safety assertions to work with cooperative threading (r=jwwang)
MozReview-Commit-ID: 72xKyWOUXL5
2017-08-03 14:19:04 -07:00
Bill McCloskey
2273c53b75 Bug 1364821 - Introduce AbstractThread::AutoEnter and remove main thread's AbstractThread::GetCurrent() (r=jwwang)
MozReview-Commit-ID: FSLVn7xe3sq
2017-08-03 14:19:02 -07:00
Sebastian Hengst
d883695275 Backed out changeset aee8226f7f98 (bug 1380154) for failing OS X and Linux static at xpcom/ds/Dafsa.h:35 with 'constexpr constructor never produces a constant expression'. r=backout on a CLOSED TREE 2017-08-03 09:18:21 +02:00
Eric Rahm
09ade48fd7 Bug 1380154 - Part 1: Add the Chromium DAFSA generator. r=njn
This imports Chromium's `make_dafsa.py` script [1]. It takes in a gperf
formatted file (note: gperf is *not* required) and converts that to a compact
binary representation of the string data in the form of a deterministic
acyclic finite state automaton (DAFSA) [2].

The only change made to the script was to make it handle the arguments our
file generation script passes in to the `main` function.

It also imports the logic for traversing the DAFSA [3] almost verbatim in
`Dafsa.cpp`. A thin wrapper was added so that we can reuse the DAFSA structure
for multiple tables.

The only change made to the original logic was to swap in mozilla style
assertions and rename the not found constant from `kNotFound` to
`Dafsa::kKeyNotFound` in order to avoid a collision with `kNotFound` defined in
our nsString code.

[1] 6ba04a9056/tools/dafsa/make_dafsa.py
[2] https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_state_automaton
[3] a2a90a35aa/net/base/registry_controlled_domains/registry_controlled_domain.cc (72)

MozReview-Commit-ID: Eion9POHZm5
2017-07-17 16:09:42 -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
Wes Kocher
851b59bdbe Merge m-c to inbound a=merge
MozReview-Commit-ID: 1p4eNdfSz9p
2017-08-02 17:46:32 -07:00
Wes Kocher
baf6cddc4c Merge inbound to central, a=merge
MozReview-Commit-ID: 9NFjSEt96iT
2017-08-02 17:11:51 -07:00
ffxbld
f0e4ae5f8c Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-08-02 09:12:05 +01:00
Nathan Froyd
84951ded23 Bug 1386476 - avoid unnecessary checks in nsTArray::AppendElement; r=erahm
nsTArray::AppendElement{,s} uses an IncrementLength method to adjust the
length of the array after appending elements.  There are checks in
IncrementLength to ensure that we're not incrementing the length stored
in the static empty header object; these checks are necessary in cases
such as appending a zero-length array to another zero-length array.

But we do not need this check when we're calling AppendElement: we know
the header is obviously not the empty header, because we increased the
length of the array by one for the newly appended element.  Incrementing
the length can therefore be inlined, saving ~90K of codesize on x86-64
Linux.
2017-08-02 19:21:23 -04:00
Nicholas Nethercote
08e54b7c13 Bug 1384819 (part 1) - Split MozStackWalk(). r=glandium.
MozStackWalk() is different on Windows to the other platforms. It has two extra
arguments, which can be used to walk the stack of a different thread.

This patch makes those differences clearer. Instead of having a single function
and forbidding those two arguments on non-Windows, it removes those arguments
from MozStackWalk, and splits off MozStackWalkThread() which retains them. This
also allows those arguments to have more appropriate types (HANDLE instead of
uintptr_t; CONTEXT* instead of than void*) and names (aContext instead of
aPlatformData).

The patch also removes unnecessary reinterpret_casts for the aClosure argument
at a couple of MozStackWalk() callsites.

--HG--
extra : rebase_source : 111ab7d6426d7be921facc2264f6db86c501d127
2017-07-27 12:46:47 +10:00
Sebastian Hengst
ddd4030358 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IrMqWiJhwan
2017-08-01 11:23:57 +02:00
Nicholas Nethercote
3ab0f8b30f Bug 1384834 (part 4) - Improve comments for Adopt() and getter_Copies(). r=erahm.
--HG--
extra : rebase_source : a7bb27bbdade092bd087a014d31d9c6d019e1d72
2017-08-01 06:06:36 +10:00
Andrew McCreight
5eecb0df0a Bug 1385474 - Avoid QIing for NoteXPCOMRoot. r=smaug
This callback is only used in very limited ways, so just require that
the caller pass in the canonical supports pointer, plus the
participant. This probably won't affect performance much.

MozReview-Commit-ID: CsThzFsKyYx

--HG--
extra : rebase_source : 9595b1d75fc45bc5ee6d932a840e98b5d760cb78
2017-07-28 16:11:03 -07:00
Nicholas Nethercote
e5d1c73749 Bug 1384834 (part 3) - Remove nsAdopting[C]String. r=erahm.
--HG--
extra : rebase_source : a87c357fb0166620a33a40e1a01af32d5e7a907d
2017-07-28 11:21:49 +10:00