Commit Graph

4926 Commits

Author SHA1 Message Date
Sebastian Hengst
a94fa43e25 Backed out changeset 9c00078ce6ab (bug 910207) for eslint failure at browser/base/content/test/urlbar/browser_urlbar_search_no_speculative_connect_with_client_cert.js:48: Expected method shorthand. r=backout 2017-09-08 20:42:07 +02:00
Honza Bambas
c307957a65 Bug 910207 - Prevent client certificate pop-up coming from a speculative connection, r=dkeeler
MozReview-Commit-ID: CtNPV9kFqJM
2017-09-01 10:42:00 +02:00
Andrea Marchesini
3ccb9d2674 Bug 1397635 - Support for non-seekable stream in HTTP connection, r=bagder 2017-09-08 16:06:26 +02:00
Andrea Marchesini
d8c84ef602 Bug 1397627 - nsIAsyncFileMetadata interface, r=asuth 2017-09-08 16:06:26 +02:00
Kris Maglione
c79059605f Bug 1396856: Part 2 - Add top outer window ID to LoadInfo. r=ehsan
The WebRequest API needs to know if a given window ID is at the top level, for
various reasons. It currently figures this out by mapping a channel's load
context to a <browser> element, which tracks its current top outer window ID.
But this is inefficient, and not friendly to C++ callers.

Adding the top window ID to the load info simplifies things considerably.

MozReview-Commit-ID: Fy0gxTqQZMZ

--HG--
extra : rebase_source : bb5b1e1b3294004ca5e713fc88c4e20652296e53
2017-09-06 14:25:23 -07:00
Christoph Kerschbaumer
1b8c06e845 Bug 1331740: Pass correct context for TYPE_DOCUMENT loads within docshell. r=smaug 2017-09-05 18:01:07 +02:00
Liang-Heng Chen
e358e0156e Bug 1395856 - add warning and assertion to detect intermittent failure; r=bagder
MozReview-Commit-ID: 1lZVLdHF2tC

--HG--
extra : rebase_source : b97c89b9ecae9a9f2c0d2d4c59b2b31c0eef859d
2017-09-04 17:17:44 +08:00
Valentin Gosu
fef5affcba Bug 1395938 - Cancel RequestContext::RequestContext on shutdown r=michal
This patch calls CancelTailPendingRequests(NS_ERROR_ABORT) for every RequestContext at shutdown, then prevents the creation of any more RequestContexts.

MozReview-Commit-ID: BbJDL7Np8HW

--HG--
extra : rebase_source : d144e3b09d9725fbc7df169f1c9a49bf45ddfd54
2017-09-03 13:12:30 +03:00
Honza Bambas
9dd6d67e45 Bug 1395884 - Remove potential timer race and assertion in RequestContext tailing feature, r=dragana 2017-09-01 13:00:12 +02:00
Kris Maglione
c9899cb3fa Bug 1366511: Part 2 - Allow autoconverting Err(nsresult) to nsresult. r=ehsan,nbp
This allows MOZ_TRY and MOZ_TRY_VAR to be transparently used in XPCOM methods
when compatible Result types are used.

Also removes a compatibility macro in SimpleChannel.cpp, and an identical
specialization in AddonManagerStartup, which are no longer necessary after
this change.

MozReview-Commit-ID: 94iNrPDJEnN

--HG--
extra : rebase_source : 24ad4a54cbd170eb04ded21794530e56b1dfbd82
2017-08-29 21:28:22 -07:00
Honza Bambas
8d492fe637 Bug 1395525 - Make all changes landed as part of tracker request tailing preferrable. r=dragana 2017-08-31 06:07:00 -04:00
Dragana Damjanovic
94f37c30f0 Bug 1394818 - TFO should be https only feature. r=mcmanus 2017-08-30 04:05:00 -04:00
Honza Bambas
4263c50db2 Bug 1358060 - Allow postponing of unimportant resources opening during page load, class-of-service Tail flag. r=dragana
--HG--
extra : rebase_source : 1ab691fe066e641c948aa5f42827305411579708
2017-08-30 09:32:00 -04:00
Henri Sivonen
30ebfb2e95 Bug 1385836 - Remove special cases obsoleted by "replacement" becoming a label of the replacement encoding. r=emk
MozReview-Commit-ID: 52uO6AVRHWX

--HG--
extra : rebase_source : de5bef4768724c68bc938f9456f906554b6290d1
2017-08-28 12:57:17 +03:00
Wes Kocher
7ea5ed6e6a Merge m-c to autoland, a=merge
MozReview-Commit-ID: LEKykpTAKjv
2017-08-25 17:32:33 -07:00
Tom Ritter
f1a3d26f61 Bug 1392641 Check return value for functions declared with warn_unused_result r=bagder,nwgh
MozReview-Commit-ID: BJj3Lvtntd6

--HG--
extra : rebase_source : 1776aab1d6de123323dc034d11b24a6c7b9d7ea1
2017-08-25 14:37:44 -05:00
Dragana Damjanovic
3df4454631 Bug 1393804 - The nspr function PR_FileDesc2PlatformOverlappedIOHandle has change its name. r=mayhemer 2017-08-25 19:04:40 +02:00
Jan de Mooij
0f2181d932 Bug 1393715 - Remove JSFUN_STUB_GSOPS and JS_FS. r=arai 2017-08-25 17:04:12 +02:00
Sebastian Hengst
de6f7dc3a1 merge mozilla-central to mozilla-inbound. r=merge a=merge on a CLOSED TREE 2017-08-25 13:21:40 +02:00
Jan de Mooij
a5de55dced Bug 1389510 part 3 - Remove getProperty/setProperty hooks from ClassOps. r=evilpie 2017-08-25 10:12:16 +02:00
Nicholas Hurley
4eb476eee2 Bug 1390274 - only parse URIs in the predictor when absolutely necessary. r=valentin
This moves URI creation from ParseMetaDataEntry into SetupPrediction
because ParseMetaDataEntry is called in way more circumstances than we
actually need the URI from. Even in those cases where we might use the
URI (but it's not guaranteed), we end up using the URI less often than
we create one. In case it wasn't clear, SetupPrediction is the only
thing called post-ParseMetaDataEntry that would require a parsed URI in
the first place.

SetupPrediction has the duplicated NS_NewURI calls to avoid creating
URIs for those calls to SetupPrediction that are no-ops.

MozReview-Commit-ID: HlhVj7p2uuk

--HG--
extra : rebase_source : 0349dc52225b6e93150947ea978f2ba7afa3e2f5
2017-08-22 07:43:41 -07:00
Michal Novotny
8030ac3f2d Bug 1382688 - Do not allow to enable old disk cache backend, r=honzab 2017-08-24 10:25:38 +02:00
Eric Rahm
a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Andrew Sutherland
34b0ef6798 Bug 1383518 - Part 2: nsMIMEInputStream should conditionally implement nsIAsyncInputStream. r=bkelly
NS_AsyncCopy aborts if it receives an NS_BASE_STREAM_WOULD_BLOCK error result
during copying and it is unable to QI the source stream to an
nsIAsyncInputStream.  IPCBlobInputStream can return this, especially if it's:
- A freshly created aggregate stream as part of form submission of a type=file
  where the Blob will come from the parent because of the file picker but the
  stream is being uploaded from the child.
- A ServiceWorker is involved, causing
  HttpBaseChannel::EnsureUploadStreamIsCloneable to trigger an NS_AsyncCopy
  very early in the process.

IPCBlobInputStream implements nsIAsyncInputStream, and nsMultiplexInputStream
does too (conditionally based on its child streams; if any are async, it takes
step to uniformly expose async behavior).  However, due to lack of sufficient
test coverage, nsMIMEInputStream did not get fixed as part of bug 1361443 when
nsMultiplexInputStream gained its nsIAsyncInputStream powers.  We address that
here in the same fashion.

Part 1 of this series addresses the test coverage issue.

--HG--
extra : rebase_source : 1cae03a314397b159c3985d97231c1e34cd5f079
2017-08-23 06:39:36 -04:00
Sebastian Hengst
99e5cb9c14 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: GSKVB94r7Kk
2017-08-23 16:29:51 +02:00
Tom Tung
3eb6957b71 Bug 1328398 - Add telemetry to measure service worker launch time. r=bkelly,francois datareview=francois
This patch is mainly to add a probe to measure sw launch time. To do this, this
patch records the sw launch time when the sw is just spwaned and it's ready to
handle the incoming fetch event.

MozReview-Commit-ID: 3w5MNyhQNnd

--HG--
extra : rebase_source : 3228213d0ea6be1d23b9c49382f1f8d3c2f358f1
2017-08-17 18:32:36 +08:00
Honza Bambas
51907c6b32 Bug 1388448 - Logs for better network requests and context tracking. r=mcmanus 2017-08-17 12:16:00 -04: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
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
Wes Kocher
91f1f19054 Merge m-c to autoland, a=merge
MozReview-Commit-ID: IMdYxijQ9ie
2017-08-21 17:20:06 -07:00
Christoph Kerschbaumer
9b81c8b695 Bug 1391011: CSP: Fix upgrade-insecure-requests for toplevel navigations when base it https. r=smaug 2017-08-21 08:57:14 +02:00
Dragana Damjanovic
b274c67092 Bug 1390881 - Improve the TFO telemetry. r=mcmanus 2017-08-20 09:45:26 +02:00
Dragana Damjanovic
279495a829 Bug 1390881 - Check whether TFO cookie or TFO cookie and data are sent on Windows. r=mcmanus 2017-08-20 09:45:17 +02:00
Nicholas Hurley
d4f64ba24e Bug 1391467 - Remove --enable-necko-protocols. r=gps,valentin
This patch removes the ability to select which protocols you want
included in necko, a wholly untested configuration that is broken in
practice. We have no need of this kind of configurability in necko.

In addition, this removes the final vestiges of rtsp support, which was
originally removed in bug 1295885 but still had some stuff hanging
around behind some ifdefs (that were never true).

MozReview-Commit-ID: KOEaDmit2IL

--HG--
extra : rebase_source : f6c2fdb972aaba46e922cda801252dc953550b94
2017-08-17 17:30:57 -07:00
Wes Kocher
1d9f00cb8d Merge inbound to m-c a=merge
MozReview-Commit-ID: CQeEqtGlaXh
2017-08-17 16:16:51 -07:00
Michael Kaply
0dbb8dd2bf Bug 1374695 - Add extensionID to addEngine API. r=florian
MozReview-Commit-ID: 5hxzvCXhMxi

--HG--
extra : rebase_source : 93964b926057a79c3e90efc4a291019a740995ac
2017-08-14 15:51:12 -05:00
Carsten "Tomcat" Book
99aa3f8e70 Merge mozilla-central to mozilla-inbound 2017-08-17 13:13:10 +02: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
Bill McCloskey
9edd615af7 Bug 1382922 - Refactor event queue to allow multiple implementations (r=erahm)
This patch refactors the nsThread event queue to clean it up and to make it easier to restructure. The fundamental concepts are as follows:

Each nsThread will have a pointer to a refcounted SynchronizedEventQueue. A SynchronizedEQ takes care of doing the locking and condition variable work when posting and popping events. For the actual storage of events, it delegates to an AbstractEventQueue data structure. It keeps a UniquePtr to the AbstractEventQueue that it uses for storage.

Both SynchronizedEQ and AbstractEventQueue are abstract classes. There is only one concrete implementation of SynchronizedEQ in this patch, which is called ThreadEventQueue. ThreadEventQueue uses locks and condition variables to post and pop events the same way nsThread does. It also encapsulates the functionality that DOM workers need to implement their special event loops (PushEventQueue and PopEventQueue). In later Quantum DOM work, I plan to have another SynchronizedEQ implementation for the main thread, called SchedulerEventQueue. It will have special code for the cooperatively scheduling threads in Quantum DOM.

There are two concrete implementations of AbstractEventQueue in this patch: EventQueue and PrioritizedEventQueue. EventQueue replaces the old nsEventQueue. The other AbstractEventQueue implementation is PrioritizedEventQueue, which uses multiple queues for different event priorities.

The final major piece here is ThreadEventTarget, which splits some of the code for posting events out of nsThread. Eventually, my plan is for multiple cooperatively scheduled nsThreads to be able to share a ThreadEventTarget. In this patch, though, each nsThread has its own ThreadEventTarget. The class's purpose is just to collect some related code together.

One final note: I tried to avoid virtual dispatch overhead as much as possible. Calls to SynchronizedEQ methods do use virtual dispatch, since I plan to use different implementations for different threads with Quantum DOM. But all the calls to EventQueue methods should be non-virtual. Although the methods are declared virtual, all the classes used are final and the concrete classes involved should all be known through templatization.

MozReview-Commit-ID: 9Evtr9oIJvx
2017-08-16 20:55:43 -07:00
Wes Kocher
366445521c Merge m-c to autoland, a=merge
MozReview-Commit-ID: DjSlrmDFfe3
2017-08-16 17:14:41 -07:00
Masatoshi Kimura
9ab81a1042 Bug 1389723 - Remove @deprecated nsIMIMEInputStream.addContentLength. r=dragana
MozReview-Commit-ID: 9b45aozatin

--HG--
extra : rebase_source : 636da171929fe6ecd69de5c68d9ed4064a3a7b09
2017-08-12 13:34:02 +09:00
Michal Novotny
847ee6ab9d Bug 1390683 - HTTP_*_COMPLETE_LOAD probes are used in nsLoadGroup::TelemetryReportChannel when using new cache, r=honzab 2017-08-16 14:06:46 +02:00
Wes Kocher
3945278423 Merge m-c to autoland, a=merge
MozReview-Commit-ID: D96bIJACwZe
2017-08-15 19:16:12 -07:00
Valentin Gosu
97a44a506c Bug 1369317 - Filter and escape URI string in only one pass r=mcmanus
MozReview-Commit-ID: KU4C4cS3jZC

--HG--
extra : rebase_source : 4995b4d8a133b8568af5b130be2077ee90f8b4e4
2017-08-13 10:03:34 +02:00
Valentin Gosu
c499c0ebcb Bug 1369317 - Use net_ExtractURLScheme to parse the scheme in nsSimpleURI::SetSpec r=mcmanus
MozReview-Commit-ID: 11c4RS6Lomo

--HG--
extra : rebase_source : bc1dfc585066e09ece9511e6751cf36d33b79bef
2017-08-13 10:03:31 +02:00
Valentin Gosu
7fac981ff5 Bug 1369317 - Make sure nsSimpleURI::SetPathQueryRef escapes its non-ASCII argument r=mcmanus
MozReview-Commit-ID: JBloDTiYFN

--HG--
extra : rebase_source : b465a6bff65297c2e119c3b0a262825788f8346a
2017-08-13 10:03:28 +02:00
Valentin Gosu
8d15eba8a4 Bug 1369317 - Do not escape the returned string in nsSimpleURI::GetAsciiSpec r=mcmanus
The spec is already escaped in SetSpec,SetQuery,SetRef - so there is no need to escape it again in the getter.

MozReview-Commit-ID: C0279q5nLXl

--HG--
extra : rebase_source : 726bda4f13bdab7c3e22eed29f6a8cd9bccb024f
2017-08-13 10:03:10 +02:00
Sajjad Arshad
404facfbbc Bug 1388925 - Add an opaque flags to have a fine-grained control over TLS configurations. r=mcmanus, r=keeler
This flags is added in the http channel interface by which developers can control the TLS
connections from JavaScript code (e.g. Add-ons). Basically, all the changes accounted for
plumbing this TLS flags from JavaScript level to C++ code responsible for calling NSS
module. We also added a unit test to make sure that separate connections are created if we
use different tlsFlags. Basically we used a concrete set of flag values that covers the
edge cases and check the hashkey generated in the connection info.

--HG--
rename : netwerk/test/unit/test_separate_connections.js => netwerk/test/unit/test_tls_flags_separate_connections.js
2017-08-16 12:41:16 -07:00
Dragana Damjanovic dd.mozilla@gmail.com
ab18bd067b Bug 1390447 - Check for WSA_IO_INCOMPLETE error after GetOverlappedResult. r=mayhemer 2017-08-15 16:41:47 +02:00
Wes Kocher
7a772df5bf Merge m-c to inbound, a=merge
MozReview-Commit-ID: BYZASFIrXxp
2017-08-14 17:58:17 -07:00