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

1047 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 9252435548 Bug 1410794 (attempt 2) - Change some |string| occurrences in nsIPrefBranch.idl to |ACString|. r=erahm.
This makes the code nicer. In particular, it removes many getter_Copies()
calls. The patch also converts a lot of nsCStrings to nsAutoCString, which will
avoid heap allocation in the common case.

The patch also renames PREF_CopyCharPref() as PREF_GetCStringPref(), because
it's actually getting a string, not a char, and that matches the existing
GetCString() and GetDefaultCString() methods. Correspondingly, it also renames
PREF_SetCharPref() as PREF_SetCStringPref().

The |aPrefName| arguments in nsIPrefBranch.idl remain as |string| because they
almost always involve passing in C string literals, and passing "foo" is much
nicer than passing NS_LITERAL_CSTRING("foo").

It's worth noting that early versions of this patch used |AUTF8String| instead
of |ACString|. But it turns out that libpref stores prefs internally as Latin1.
And |ACString| is compatible with Latin1 but |AUTF8String| isn't, because
non-ASCII Latin1 strings are not valid UTF-8!

MozReview-Commit-ID: D3f7a1Vl1oE

--HG--
extra : rebase_source : e6e4b15d6d210cfd93686f96400281f02bd1d06b
2017-10-27 10:30:33 +11: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
Phil Ringnalda 93456fb0f4 Backed out changeset 3d0093f961ee (bug 1410794) for Mac plugin crashes and Android test_worker_interfaces.html failures
MozReview-Commit-ID: 20UosHyIr0t
2017-10-24 22:46:36 -07:00
Nicholas Nethercote a861772b10 Bug 1410794 - Change some |string| occurrences in nsIPrefBranch.idl to |ACString|. r=erahm.
This makes the code nicer. In particular, it removes many getter_Copies()
calls. The patch also converts a lot of nsCStrings to nsAutoCString, which will
avoid heap allocation in the common case.

The patch also renames PREF_CopyCharPref() as PREF_GetCStringPref(), because
it's actually getting a string, not a char, and that matches the existing
GetCString() and GetDefaultCString() methods. Correspondingly, it also renames
PREF_SetCharPref() as PREF_SetCStringPref().

The |aPrefName| arguments in nsIPrefBranch.idl remain as |string| because they
almost always involve passing in C string literals, and passing "foo" is much
nicer than passing NS_LITERAL_CSTRING("foo").

It's worth noting that early versions of this patch used |AUTF8String| instead
of |ACString|. But it turns out that libpref stores prefs internally as Latin1.
And |ACString| is compatible with Latin1 but |AUTF8String| isn't, because
non-ASCII Latin1 strings are not valid UTF-8!

--HG--
extra : rebase_source : 725ccf57943283a60ef8c9d654afe4515b4089f8
2017-10-25 10:22:38 +11:00
Jonathan Kew 290894f3c9 Bug 1408782 - Force punycode display for IDNs with a <dotless-i, combining mark above> sequence. r=valentin 2017-10-16 10:19:52 +01:00
Jonathan Kew 597f9d1021 Bug 1404349 - Extend check from bug 1370497 to apply to marks with a specific Script property, as well as those with Script=Inherited. r=valentin 2017-10-09 13:23:18 +01:00
Nicholas Nethercote 8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Tom Ritter 26f1bc6cd8 Bug 1404147 Cast constants to the type they are compared to r=smaug
MozReview-Commit-ID: JQDZTBOALZm

--HG--
extra : rebase_source : 5cb3ed5da7f99defd524247ff798c9c501ef851a
2017-09-28 17:47:43 -05:00
Jonathan Kew cb611a9aff Bug 1370497 - Check ScriptExtensions property of combining marks when available. r=valentin 2017-09-27 11:16:35 +01:00
Chris Peterson c4dff4f83d Bug 1402666 - Part 3: Replace Replace(NS_LITERAL_STRING("")) with ReplaceLiteral(u""). r=erahm
MozReview-Commit-ID: Ji6UdG32RF4

--HG--
extra : rebase_source : 1565a1e99f40785dad0d0d7652e42222dcdf8881
extra : source : c57e906ba75fda4745134ef8307589e28f4c8d70
2017-09-15 19:32:55 -07:00
Jonathan Kew 78a3e1848f Bug 1402048 - Remove the legacy non-IDNA2008 code path from nsIDNService, now that we always require ICU to build. r=valentin 2017-09-22 19:25:50 +01:00
Kris Maglione 63d03a767b Bug 1398646: Forbid sync DNS resolution on the main thread. r=valentin
MozReview-Commit-ID: A6mUDNSri2m

--HG--
extra : rebase_source : 43c58d61614e186b89523a301fd1d2d8bd99a503
extra : source : 963bf9d8573273894016e7082cb5f3fb85d80661
2017-09-10 19:13:42 -07:00
Jonathan Kew eddd7a4f4e Bug 1399540 - patch 2 - Handle invalid punycode better in stringPrep to avoid mangling display of fake-punycode labels. r=valentin 2017-09-16 11:49:56 +01:00
Jonathan Kew 99ad73e474 Bug 1399540 - patch 1 - Failure to decode an individual label within the IDN should not block decoding of other valid punycode labels. r=valentin 2017-09-16 11:49:47 +01:00
Kris Maglione 400f2bdf9d Backed out changeset 963bf9d85732 (bug 1398646) for causing bug 1400288. r=backout
MozReview-Commit-ID: Ivc7RmGx0j5
2017-09-15 15:45:44 -07:00
Eric Rahm 80d3d41e39 Bug 1396958 - Make eTLD cache thread-safe. r=valentin
Restrict the MRU cache for eTLD lookups to main thread only. This allows off
main thread lookups, but they will just take a slower path.

--HG--
extra : rebase_source : bb0676fc1be9dc6e02762a978b43765d79dcdfff
2017-09-05 12:26:51 -07:00
Kris Maglione 3038436c69 Bug 1398646: Forbid sync DNS resolution on the main thread. r=valentin
MozReview-Commit-ID: A6mUDNSri2m

--HG--
extra : rebase_source : 86a8b83bdbb7f58dc9d2e80cc4afcbc011999cf3
2017-09-10 19:13:42 -07:00
Tom Ritter d06bc69178 Bug 1392642 Remove unused variables in netwerk/ to silence warnings r=bagder,nwgh
MozReview-Commit-ID: LLTB5RJ4ZMz

--HG--
extra : rebase_source : 26a94bce6e9a3f22542d04e9930ff74eddd1f7ca
2017-08-24 12:03:19 -05:00
Honza Bambas 51907c6b32 Bug 1388448 - Logs for better network requests and context tracking. r=mcmanus 2017-08-17 12:16:00 -04:00
Eric Rahm 0938982c90 Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj
--HG--
extra : rebase_source : 063c7f95dda063eafabfa1921366bd1957b8fe73
2017-08-11 17:45:18 -07:00
Nicholas Nethercote 025461bde7 Bug 1390428 (part 1) - Remove many nsXPIDLCString local variables. r=erahm.
These are all easy cases where an nsXPIDLCString local variable is set via
getter_Copies() and then is only used in ways that nsCStrings can also be used
(i.e. no null checks or implicit conversions to |char*|).

In every case the patch trivially replaces the nsXPIDLCString with an
nsCString. (Also, there are a couple of unused nsXPIDLCString variables that
the patch simply removes.)
2017-08-16 13:58:35 +10:00
Nicholas Nethercote a83fefd956 Bug 1390036 (part 1) - Remove most remaining uses of nsXPIDLString. r=erahm.
CompareCacheHashEntry::mCrit[] is the only case where the nsXPIDLString-ness
was important. The patch adds an explicit SetIsVoid() call to that class's
constructor and changes some null checks to IsVoid() checks.

--HG--
extra : rebase_source : e68befcde4dd098bac2a550bc666eaf3bf1298d7
2017-08-11 18:31:22 +10:00
Eric Rahm a5f2311154 Bug 1380154 - Part 3: Cache most recently used eTLD entries. r=njn, r=jduell
This adds a most recently used (MRU) cache for the most common base domain
requests (aAddtionalParts == 1). With a table size of 31 I saw 8777 hits and
22 misses when loading twitter, youtube, and techcrunch. In stress testing
this provided a 75% reduction in run time.


MozReview-Commit-ID: 3JgCwIZagMs
2017-08-08 12:21:10 -07: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
Sebastian Hengst d83f1e2d58 Backed out changeset 13cc447a7fde (bug 1380154) 2017-08-07 21:42:14 +02:00
Sebastian Hengst c0bf2b4e8d Backed out changeset 57d1339ad1c0 (bug 1380154) 2017-08-07 21:42:09 +02:00
Eric Rahm 7301b9928c Bug 1380154 - Part 3: Cache most recently used eTLD entries. r=njn, r=jduell
This adds a most recently used (MRU) cache for the most common base domain
requests (aAddtionalParts == 1). With a table size of 31 I saw 8777 hits and
22 misses when loading twitter, youtube, and techcrunch. In stress testing
this provided a 75% reduction in run time.


MozReview-Commit-ID: 3JgCwIZagMs
2017-07-27 18:35:00 -07:00
Eric Rahm f5b13e0ecb 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
Nicholas Nethercote 73558eac3d Bug 1384834 (part 2) - Remove remaining uses of nsAdoptingCString. r=erahm.
--HG--
extra : rebase_source : 70a385a0a06bc88e728d51459e7460a68f15f7fb
2017-07-28 11:21:47 +10:00
Bevis Tseng a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Catalin Badea bd7f60e72e Bug 1344751 - Make nsStandardURL and nsIDNService available on worker threads. r=valentin 2017-07-13 12:17:19 +01:00
Wes Kocher b43f3b0d25 Backed out 2 changesets (bug 1344751) for frequent android crashes in test_fetch_cors_sw_reroute.html a=backout
Backed out changeset ec02a5ecb2b4 (bug 1344751)
Backed out changeset 10c975d4a8f9 (bug 1344751)

MozReview-Commit-ID: GauB18HNj15
2017-07-10 14:17:35 -07:00
Catalin Badea f23d657af0 Bug 1344751 - Make nsStandardURL and nsIDNService available on worker threads. r=valentin 2017-07-10 13:09:52 +01:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Jonathan Kew 7be1139537 Bug 1376834 - Update data tables to Unicode 10.0 release. r=m_kato 2017-06-30 14:16:02 -07:00
Sebastian Hengst 344e75f556 Backed out changeset 976a4789deea (bug 1344751) 2017-06-28 00:00:30 +02:00
Catalin Badea 5edb1cc81a Bug 1344751 - Make nsStandardURL and nsIDNService available on worker threads. r=valentin 2017-06-27 14:45:09 -07:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Nicholas Nethercote fe9268c4cd Bug 1374580 (part 2) - Remove nsAFlat{,C}String typedefs. r=froydnj.
All the instances are converted as follows.

- nsAFlatString  --> nsString
- nsAFlatCString --> nsCString

--HG--
extra : rebase_source : b37350642c58a85a08363df2e7c610873faa6e41
2017-06-20 19:19:05 +10:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bevis Tseng d1637b9c5a Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Bill McCloskey 7cb6a23814 Bug 1365101 - Convert NS_GetCurrentThread uses in netwerk/ (r=meyhemer)
MozReview-Commit-ID: IHBt6XAG8em
2017-06-12 20:21:43 -07:00
Kris Maglione 0cd3e0a862 Bug 1368189: Move more code out of ExtensionUtils.jsm. r=mixedpuppy
Also removes some dead code.

A lot of the code in ExtensionUtils.jsm is not needed in all processes, and a
lot of the rest isn't needed until extension code runs. Most of it winds up
being loaded into all processes way earlier than necessary.

MozReview-Commit-ID: CMRjCPOjRF2

--HG--
extra : rebase_source : 37718eaf05a22b8ccb95f633cf7454bd7975cdce
2017-05-26 15:44:41 -07:00
Valentin Gosu a1c45c3558 Bug 1368549 - Remove MOZ_WIDGET_GONK from netwerk/* r=mcmanus
MozReview-Commit-ID: J2njLbNwlco

--HG--
extra : rebase_source : ccb35cb5845024c1bf7b448ebcec451bab264e8b
2017-05-29 22:09:04 +02:00
Junior Hsu d3b4793122 Bug 1363659 - Ensure not sending dns request constructor when shutting down, r=valentin 2017-05-26 03:08:00 +02:00
Jonathan Kew d74c8673ea Bug 1364283 - Treat Aspirational scripts the same as Restricted, in anticipation of UAX#31 update. r=valentin 2017-05-23 23:33:46 +01:00
Patrick McManus d1c557fcfe Bug 1361099 - provide a way to map all dns to constant r=valentin
// When non empty all non-localhost DNS queries (including IP addresses)
// resolve to this value. The value can be a name or an IP address.
// domains mapped to localhost with localDomains stay localhost.
pref("network.dns.forceResolve", "");

Testing is the primary use case here - replay captive data on a 'fake
server' by directing all traffic to it at the DNS level. Chrome has
something similar.

MozReview-Commit-ID: 7AOgQZpZKec

--HG--
extra : rebase_source : ad2648a701fffecaae47cbfae17e7aa6badd50ee
2017-05-01 13:51:55 -04:00