Commit Graph

135 Commits

Author SHA1 Message Date
Ben Kelly
b162cc9335 Bug 1231211 P12 Allow the ClientInfo and ServiceWorkerDescriptor to be passed to NS_NewChannel() for principal based loads. r=valentin 2018-01-23 10:38:54 -05:00
Gijs Kruitbosch
89abc7b10a Bug 1430237 - remove newSimpleNestedURI from nsINetUtil, r=mayhemer
MozReview-Commit-ID: 74RsNo60Kfh
2018-01-15 11:51:24 +00:00
Kris Maglione
edc98f08f3 Bug 1412726: Clean up XPCOM singleton constructor refcount handling. r=froydnj
This is a follow-up to bug 1409249. There are a lot of places where our
factory singleton constructors either don't correctly handle their returned
references being released by the component manager, or do handle it, but in
ways that are not obvious.

This patch handles a few places where we can sometimes wind up with dangling
singleton pointers, adds some explanatory comments and sanity check
assertions, and replaces some uses of manual refcounting with StaticRefPtr and
ClearOnShutdown.

There are still some places where we may wind up with odd behavior if the
first QI for a getService call fails. In those cases, we wind up destroying
the first instance of a service that we create, and re-creating a new one
later.

MozReview-Commit-ID: ANYndvd7aZx
2017-10-29 16:02:40 -07:00
Valentin Gosu
44a2250310 Bug 1426501 - Add nsINetUtil.notImplemented() method that always throws r=mayhemer
MozReview-Commit-ID: Ij3M5Ydtlac
2018-01-08 11:23:53 +01:00
Geoff Brown
022ef4adff Bug 1407679 - Merge nsIIOService and nsIIOService2; r=nwgh 2017-11-10 07:03:36 -07:00
Nicholas Nethercote
b627e2c831 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
2017-10-27 10:30:33 +11:00
Kris Maglione
375dfdb59d 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
2017-10-16 21:08:42 -07:00
Junior Hsu
87c9430c2c Bug 870460 - Part 1: Let cookie db startup-read off-main-thread. r=nwgh, r=jdm, data-r=francois 2017-08-29 18:16:27 +08:00
Phil Ringnalda
c5acd08e16 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
c67946e308 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!
2017-10-25 10:22:38 +11:00
Sebastian Hengst
3c2298e288 Backed out changeset 6c4818576443 (bug 870460) for failing many xpcshell tests, e.g. extensions/cookie/test/unit/test_cookies_async_failure.js. r=backout 2017-10-24 16:48:17 +02:00
Junior Hsu
73b2868fe6 Bug 870460 - Part 1: Let cookie db startup-read off-main-thread. r=nwgh, r=jdm, data-r=francois 2017-08-29 18:16:27 +08:00
hanbinchang
cfdbd2eb92 Bug 1386168 - Remove nsIOservice::mProxyService. r=bagder 2017-08-04 00:09:11 -04:00
Liang-Heng Chen
fc81ba8b4a Bug 1379872 - early initialize ProtocolProxyService; r=bagder
MozReview-Commit-ID: Kv7cVYhmLJn
2017-07-27 19:10:21 +08:00
Nicholas Nethercote
848397a70b 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).
2017-08-16 13:58:55 +10:00
Christoph Kerschbaumer
9604b55b33 Bug 1331351: Block toplevel window data: URI navigations. r=smaug,francois 2017-07-24 18:51:21 +02:00
Andrew McCreight
3c9e7a55b7 Bug 1379786, part 2 - Use nsContentUtils::GetSystemPrincipal in various places. r=mrbkap
MozReview-Commit-ID: KPXAqKeX4gI
2017-07-10 14:24:54 -07:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Kershaw Chang
ba589d5bca Bug 1343741 - Part3: Pass labelled event target to nsIProtocolProxyService::AsyncResolve, r=mayhemer
For dispatching runnable in nsPACMan, this patch sends a labelled event target via nsIProtocolProxyService::AsyncResolve.
2017-07-05 00:48:00 +02:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Shih-Chiang Chien
36eac961b4 Bug 1374238 - add null check for nsIOService::SpeculativeConnectInternal. r=dragana
MozReview-Commit-ID: 8avSx50euMF
2017-06-19 18:55:41 +08:00
Valentin Gosu
ee6dca6a9e Bug 1368549 - Remove MOZ_WIDGET_GONK from netwerk/* r=mcmanus
MozReview-Commit-ID: J2njLbNwlco
2017-05-29 22:09:04 +02:00
Yoshi Huang
bebd00ea11 Bug 1365166 - rename security.data_uri.inherit_security_context to security.data_uri.unique_opaque_origin. r=smaug, ckerschb
Originally the pref is called security.data_uri.inherit_security_context, so the pref is default on.
And when we finish this feature, we turn it off.
To avoid causing confusion in the future, perhaps we should rename it and make the pref default off.
2017-05-23 09:02:05 +08:00
Valentin Gosu
5999e87f1b Bug 1360328 - Dispatch a runnable to RecheckCaptivePortal instead of calling it immediately r=mcmanus
MozReview-Commit-ID: HUPJUtho7g8
2017-05-08 13:19:40 +02:00
Valentin Gosu
ed25303edc Bug 1363700 - Add RCWN stats to about:networking r=bz,michal
MozReview-Commit-ID: GVt1omCfL6t
2017-05-10 19:23:54 +02:00
Johann Hofmann
79638d34b9 Bug 1337246 - Part 1 - Add a hostnameIsLocalIPAddress function to nsIIOService. r=valentin
MozReview-Commit-ID: 81A37b1juGD
2017-03-31 22:39:45 +02:00
Nicholas Hurley
c03f6276fe Bug 1348278 - Limit speculative connections to http[s] only. r=mcmanus
Some protocol handlers don't handle speculative connections too well
(they crash). So, we limit to the most useful protocols. This patch
brought to you by
https://bugzilla.mozilla.org/show_bug.cgi?id=1348278#c21

MozReview-Commit-ID: 8dWGdVtalIS
2017-04-28 11:37:24 -07:00
Valentin Gosu
55f58556e0 Bug 1354245 - Don't call CaptivePortalService::Start() in SetConnectivityInternal if the captive portal service is disabled via pref r=mcmanus
MozReview-Commit-ID: 4xCkBgWDZ2b
2017-04-12 17:52:14 +03:00
Valentin Gosu
42b226e202 Bug 1351443 - Only fall back to NewChannel if implementation of NewChannel2 is missing r=mcmanus
If the call to NewChannel2 returns NS_ERROR_NOT_IMPLEMENTED or NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED that means the implementation is actually missing, so it is OK to fall back to NewChannel.
If it fails with any other error code, we just return it.

MozReview-Commit-ID: JmgEmPqu6zJ
2017-04-07 15:25:19 +03:00
Mike Hommey
b1a06955a6 Bug 1344038 - Remove --disable-gio. r=karlt 2017-04-05 14:06:25 +09:00
Iris Hsiao
33f7647173 Backed out 3 changesets (bug 1344038) for bustage
Backed out changeset 4befea89d81b (bug 1344038)
Backed out changeset c859506b2e4e (bug 1344038)
Backed out changeset 5d28a6382285 (bug 1344038)
2017-04-06 10:35:56 +08:00
Mike Hommey
a30fe327bd Bug 1344038 - Remove --disable-gio. r=karlt 2017-04-05 14:06:25 +09:00
David Major
7c0497b430 Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
2017-03-14 15:26:27 +13:00
Iris Hsiao
22d2818760 Backed out 12 changesets (bug 1344629) for stylo build bustage
Backed out changeset cf4273d3ac30 (bug 1344629)
Backed out changeset a96390e044e0 (bug 1344629)
Backed out changeset d9b330f9bc24 (bug 1344629)
Backed out changeset 2b460fe020af (bug 1344629)
Backed out changeset 0ada91b0452e (bug 1344629)
Backed out changeset 083304fcd6bd (bug 1344629)
Backed out changeset 53d7d1ce2c97 (bug 1344629)
Backed out changeset 55eee7078ae4 (bug 1344629)
Backed out changeset 7d3c06b3eca9 (bug 1344629)
Backed out changeset e5df14c3db61 (bug 1344629)
Backed out changeset 636095ff2815 (bug 1344629)
Backed out changeset 0be052ad24c1 (bug 1344629)
2017-03-14 11:52:24 +08:00
David Major
a660713d2b Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
2017-03-14 15:26:27 +13:00
Ehsan Akhgari
f4fb81ab69 Bug 1340677 - Stop supporting ORIGIN_IS_FULL_SPEC for Firefox; r=mcmanus
This is only used in Thunderbird and SeaMonkey and makes origin
comparisons needlessly slow in Firefox.
2017-02-21 10:37:37 -05:00
Valentin Gosu
bdc4d7c6e6 Bug 1333174 - Don't use NS_ENSURE_SUCCESS at nsIOService:793 r=bagder
MozReview-Commit-ID: 7ckppZheX3k
2017-02-07 16:17:43 +01:00
Tim Huang
614a873b47 Bug 1312954 - Part 10: Add an assertion to make sure every code path of gecko uses speculativeConnect2 correctly. r=ckerschb 2017-02-02 22:18:00 -05:00
Valentin Gosu
1cc8e3e354 Bug 1334520 - Trigger captive portal recheck recheck for NS_NETWORK_LINK_DATA_CHANGED events r=mcmanus
MozReview-Commit-ID: L8XBLx88PbS
2017-01-30 13:16:05 +01:00
Christoph Kerschbaumer
fddf0e6734 Bug 1334050 - Remove dead variable sTelemetryEnabled from nsIOService. r=dragana 2017-01-26 18:49:30 +01:00
Christoph Kerschbaumer
4da34490a9 Bug 1328860: Install pref to have data: URIs not inherit the security context. r=smaug 2017-01-26 18:40:32 +01:00
Valentin Gosu
131ad17f5b Bug 1320087 - Make the captive portal report UNKNOWN when the wifi is down r=bagder
* Start/Stop the captive portal service in nsIOService::SetConnectivityInternal
* Set the captive portal state to UNKNOWN when stopping it.

MozReview-Commit-ID: 5dude1F4lNb
2017-01-09 16:07:03 +01:00
Valentin Gosu
c47651215f Bug 1317511 - Share captive portal state with the content process r=bagder
MozReview-Commit-ID: 5FnM9DNDWwL
2016-11-17 17:35:24 +01:00
Tim Huang
f65e349894 Bug 1304219 - Part 2: Update speculativeConnect() to speculativeConnect2() for Necko. r=hurley 2016-10-26 11:14:41 +08:00
Tim Huang
8f3559c545 Bug 1304219 - Part 1: Add a nsISpeculativeConnect.speculativeConnect2() interface which takes a principal as an additional argument. r=mayhemer, sr=mcmanus 2016-10-24 12:18:25 +08:00
Valentin Gosu
69e93335ce Bug 1307491 - (Part 1) Remove support for per-app-offline in netwerk/ [nukeb2g] r=bagder
* * *
Bug 1307491 - Remove support for per-app-offline [nukeb2g] r=bagder

MozReview-Commit-ID: FoweWBv9QyE
2016-10-17 03:54:46 +02:00
Sebastian Hengst
db8479dc77 Bug 1306397 - Remove B2G event 'network-active-changed' and consumers from non-B2G/Gonk files: netwerk. r=mayhemer
MozReview-Commit-ID: 5YfclnGR0NZ
2016-09-29 19:53:44 +02:00
Cameron McCormack
cb82314597 Bug 1300720 - Part 1: Prevent file:, chrome: and resource: URIs from using an external protocol handler. r=honza
MozReview-Commit-ID: 51r5lObSRwx
2016-10-03 12:43:15 +08:00
Andrew Osmond
068f53bff3 Bug 1275464 - Part 2. Move socket transport service thread shutdown to xpcom-shutdown-threads. r=dragana 2016-09-19 13:29:59 -04:00
Nicholas Nethercote
887efe04d5 Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.
2016-09-01 15:01:16 +10:00