131 Commits

Author SHA1 Message Date
Geoff Brown
cbb956e0c3 Bug 1407679 - Merge nsIIOService and nsIIOService2; r=nwgh 2017-11-10 07:03:36 -07:00
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
Junior Hsu
51ac771e2d Bug 870460 - Part 1: Let cookie db startup-read off-main-thread. r=nwgh, r=jdm, data-r=francois
--HG--
extra : source : 6c48185764430d35558cf6a0174bc447674e8d58
2017-08-29 18:16:27 +08: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
Sebastian Hengst
ec34b16044 Backed out changeset 6c4818576443 (bug 870460) for failing many xpcshell tests, e.g. extensions/cookie/test/unit/test_cookies_async_failure.js. r=backout
--HG--
extra : amend_source : e5bb4ef1b68ae382c6457f77077f33174518efd1
2017-10-24 16:48:17 +02:00
Junior Hsu
725658c3ff Bug 870460 - Part 1: Let cookie db startup-read off-main-thread. r=nwgh, r=jdm, data-r=francois
--HG--
extra : rebase_source : 9892af8b907e67c8f4e6ee6cbe124b21ee10cc58
2017-08-29 18:16:27 +08:00
hanbinchang
f33b2dcc82 Bug 1386168 - Remove nsIOservice::mProxyService. r=bagder 2017-08-04 00:09:11 -04:00
Liang-Heng Chen
ea3834fbff Bug 1379872 - early initialize ProtocolProxyService; r=bagder
MozReview-Commit-ID: Kv7cVYhmLJn

--HG--
extra : rebase_source : e1b89084906f7dfa133a6ba7c0b1c5873571056c
2017-07-27 19:10:21 +08: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
Christoph Kerschbaumer
9c97294062 Bug 1331351: Block toplevel window data: URI navigations. r=smaug,francois 2017-07-24 18:51:21 +02:00
Andrew McCreight
cf00cf911b Bug 1379786, part 2 - Use nsContentUtils::GetSystemPrincipal in various places. r=mrbkap
MozReview-Commit-ID: KPXAqKeX4gI

--HG--
extra : rebase_source : 44fd734e7c5bbaba48bb25b882acc74cf0b81fb5
2017-07-10 14:24:54 -07: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
Kershaw Chang
5279c25aa6 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
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
Shih-Chiang Chien
6560630bfa Bug 1374238 - add null check for nsIOService::SpeculativeConnectInternal. r=dragana
MozReview-Commit-ID: 8avSx50euMF

--HG--
extra : rebase_source : 0939e80d7ff4649d74f8db25c8ff446563861925
2017-06-19 18:55:41 +08: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
Yoshi Huang
ccb4b5db4c 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
28675dc927 Bug 1360328 - Dispatch a runnable to RecheckCaptivePortal instead of calling it immediately r=mcmanus
MozReview-Commit-ID: HUPJUtho7g8

--HG--
extra : rebase_source : 7e3d9c787569352a598e0efe3393a3d9c14a637a
2017-05-08 13:19:40 +02:00
Valentin Gosu
4ccb51bae2 Bug 1363700 - Add RCWN stats to about:networking r=bz,michal
MozReview-Commit-ID: GVt1omCfL6t

--HG--
extra : rebase_source : fdb321360f21f0f54692bc6b715abb4c155171b7
2017-05-10 19:23:54 +02:00
Johann Hofmann
023ccb065e Bug 1337246 - Part 1 - Add a hostnameIsLocalIPAddress function to nsIIOService. r=valentin
MozReview-Commit-ID: 81A37b1juGD

--HG--
extra : rebase_source : 081b160d2822487a2e3b4e05ba34d614f0ad5042
2017-03-31 22:39:45 +02:00
Nicholas Hurley
7440d1d042 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

--HG--
extra : rebase_source : 9ba674282e40d8313fdb8fbd2f1b9ae7567d299d
2017-04-28 11:37:24 -07:00
Valentin Gosu
85ac9821e0 Bug 1354245 - Don't call CaptivePortalService::Start() in SetConnectivityInternal if the captive portal service is disabled via pref r=mcmanus
MozReview-Commit-ID: 4xCkBgWDZ2b

--HG--
extra : rebase_source : 8bce4e1fb98e9c8dd2c8119ee59df2cfbb62efb3
2017-04-12 17:52:14 +03:00
Valentin Gosu
bb752cebae 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

--HG--
rename : netwerk/test/unit/test_bug894586.js => netwerk/test/unit/test_1351443-missing-NewChannel2.js
extra : rebase_source : 5d41df330a15ad7b679d9bed52e6fbf90bdc4ed8
2017-04-07 15:25:19 +03:00
Mike Hommey
94c16743bb Bug 1344038 - Remove --disable-gio. r=karlt
--HG--
extra : rebase_source : 3b5b820536b0e9b1fb1da3a16c444ed7839770b9
2017-04-05 14:06:25 +09:00
Iris Hsiao
15a34cacd2 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)

--HG--
rename : netwerk/protocol/gio/moz.build => extensions/gio/moz.build
rename : netwerk/protocol/gio/nsGIOProtocolHandler.cpp => extensions/gio/nsGIOProtocolHandler.cpp
2017-04-06 10:35:56 +08:00
Mike Hommey
0543a25916 Bug 1344038 - Remove --disable-gio. r=karlt
--HG--
extra : rebase_source : b380d5ebfc3689a9d8d4e3825c83028f837838f2
2017-04-05 14:06:25 +09:00
David Major
dc67bfc9a3 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

--HG--
extra : rebase_source : c21a65694d6e1c42fd88f73632f7ac8f38d005ae
2017-03-14 15:26:27 +13:00
Iris Hsiao
5cece96e1c 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
40f4821701 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

--HG--
extra : rebase_source : c21a65694d6e1c42fd88f73632f7ac8f38d005ae
2017-03-14 15:26:27 +13:00
Ehsan Akhgari
8b87856c36 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
a3908e89e0 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
65c848654a 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
11eaff63fe 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
3129297bc8 Bug 1334050 - Remove dead variable sTelemetryEnabled from nsIOService. r=dragana 2017-01-26 18:49:30 +01:00
Christoph Kerschbaumer
98c3400499 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
f31077388e 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
51cb7b5e93 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
e4414d6c1b Bug 1304219 - Part 2: Update speculativeConnect() to speculativeConnect2() for Necko. r=hurley
--HG--
extra : rebase_source : 3fb68515087ec05c32108f2067c07110e10b92f8
extra : histedit_source : c12be77b0b53cf3d69343d6ee4d1a95a6d60c60c
2016-10-26 11:14:41 +08:00
Tim Huang
fc4cdaf096 Bug 1304219 - Part 1: Add a nsISpeculativeConnect.speculativeConnect2() interface which takes a principal as an additional argument. r=mayhemer, sr=mcmanus
--HG--
extra : rebase_source : 5fbcafd208b3136d168725b0a57e35bb70304f6a
extra : histedit_source : 2f9e0606a13b41deea3675d9435dcc7ef52f37c3
2016-10-24 12:18:25 +08:00
Valentin Gosu
d746e122c8 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

--HG--
extra : rebase_source : 0f6e0f0d19f108c3aef8b25cb6d605ecd338ee2b
2016-10-17 03:54:46 +02:00
Sebastian Hengst
dd7aeb94f5 Bug 1306397 - Remove B2G event 'network-active-changed' and consumers from non-B2G/Gonk files: netwerk. r=mayhemer
MozReview-Commit-ID: 5YfclnGR0NZ

--HG--
extra : rebase_source : b8ed82ec35ce51c67f34cf6d4fd6251ca2f48c10
2016-09-29 19:53:44 +02:00
Cameron McCormack
b5dafca7ed 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
7c53a79c5a 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
b71747b2ac 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.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Honza Bambas
512654c1f7 Bug 1293621 - Make sure that nsIOService::GetCachedProtocolHandler is called only on the main thread. r=jduell
--HG--
extra : rebase_source : de5224ef195dddd356a95a693224c6ac1554467c
2016-08-09 07:43:00 -04:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Gijs Kruitbosch
61094e5a36 Bug 1280584 - implement cloneWithNewRef and thereby make hash/ref links use a simple unified codepath in the IO service, r=valentin
MozReview-Commit-ID: 8FIyclkJPDp

--HG--
extra : rebase_source : 49fb2b12488bd57a5417c7c3bff2211d651c5de7
extra : amend_source : d9940a1d9009930dc2f499417a7e1446d4601c20
2016-07-26 23:38:46 +01:00
Chris Peterson
d634a99cad Bug 1277106 - Part 4: Remove MOZ_UTF16() macro. r=Waldo 2016-07-19 21:07:53 -07:00