Commit Graph

15348 Commits

Author SHA1 Message Date
Andi-Bogdan Postelnicu
c9decadfc3 Bug 1410379 - compare uint64_t with size_t only on 32bit platforms. r=valentin
MozReview-Commit-ID: 1exUwUwaY3B

--HG--
extra : rebase_source : 83f199c92e641baa5c44fd65095a87af0528863e
2017-10-20 15:46:28 +03:00
Makoto Kato
7d1d3b65bf Bug 943284 - Use FallbackEncoding instead of nsIPlatformCharset r=emk
MozReview-Commit-ID: 2pDp2RVV9zk
2017-10-19 19:28:00 +09:00
Sebastian Hengst
7beb660397 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-19 11:54:07 +02:00
Andrea Marchesini
6626e900f9 Bug 1409327 - NS_NewBufferedInputStream should take the ownership of the inputStream, r=smaug 2017-10-19 11:39:30 +02:00
Sebastian Hengst
bf793df477 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: HasKw28SN45
2017-10-19 11:26:22 +02:00
Nicholas Nethercote
78030c0e7b Bug 1409598 - Change nsIXPCScriptable::className and nsIClassInfo::{contractID,classDescription} from string to AUTF8String. r=froydnj.
This lets us replace moz_xstrdup() of string literals with AssignLiteral(),
among other improvements.

--HG--
extra : rebase_source : 9994d8ccb4f196cf63564b0dac2ae6c4370defb4
2017-10-18 13:17:26 +11:00
Ryan VanderMeulen
cb612851ed Merge inbound to m-c. a=merge 2017-10-18 21:01:34 -04:00
Ryan VanderMeulen
9c3824dc0c Merge m-c to autoland. a=merge 2017-10-18 21:02:15 -04:00
Valentin Gosu
13f4c5ecaf Bug 1408552 - Make sure we only instantiate CacheStorageService in the main process r=mayhemer
* A memory leak occurs when this happens in the content process
* I added an assertion that we only create it in the parent process

MozReview-Commit-ID: 1UTyusRg0qx

--HG--
extra : rebase_source : 400cfb21ee094ad33e15681f213af6dbe20ebbf5
2017-10-18 21:10:22 +02:00
Nicholas Hurley
27e579b139 Bug 1409210 - Don't prefetch resources with a Vary header. r=valentin
Conceivably, we could allow a few more prefetches than this would (based
on the headers in the original request matching up to a header listed in
the Vary response header), but this is safer in case (for example)
future requests of this resource end up sending a cookie that wasn't set
on the original request. In practice, the difference is likely to be
small enough that this broader stroke won't make a huge impact on the
number of things we do or don't prefetch.

MozReview-Commit-ID: GhD9mZR6aOX

--HG--
extra : rebase_source : 13a2edb99485c73db902d2ec8b0f2b5b1d437abe
2017-10-16 16:55:46 -07:00
Dragana Damjanovic
0a372ab31a Bug 1409667 - If an error occur it can happen the Http2Session does not have a connection. r=mcmanus 2017-10-18 16:27:32 +02:00
Sebastian Hengst
f9b5b9b40c merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 790IXj5MZ4f
2017-10-18 11:48:34 +02:00
Tom Ritter
f2a4c98eed Bug 1404035 Address an unused result warning in netwerk/socket/nsNamedPipeIOLayer.cpp r=bagder,nwgh
If we fail, we should fail.

MozReview-Commit-ID: KxtIx91nG3v

--HG--
extra : rebase_source : 91fa84a5b445ce5a09d7118479d9a77a952ca8bd
2017-10-10 13:06:49 -05:00
Sebastian Hengst
f3f32c7851 merge mozilla-central to mozilla-inbound. r=merge a=merge
--HG--
rename : media/libstagefright/binding/include/mp4_demuxer/ByteReader.h => media/libstagefright/binding/include/mp4_demuxer/BufferReader.h
extra : rebase_source : 98d9275bf6065bc701881aed6c4635f1da9ea642
2017-10-18 00:05:25 +02:00
Sebastian Hengst
34714cebde merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 2KL1o3EPUk
2017-10-17 23:52:28 +02:00
Dragana Damjanovic
ea3c619848 Bug 1384679 - Fix timing for TFO. r=mcmanus r=honza 2017-10-17 15:28:33 +02:00
Ben Kelly
8231685365 Bug 1204254 P14 Stop faking responseStart/End directly and make PerformanceTiming map SW specific timings instead. r=asuth 2017-10-17 13:38:56 -07:00
Ben Kelly
fe79c4da06 Bug 1204254 P12 Remove nsIInterceptedChannel.responseBody and backing nsPipe code. r=asuth 2017-10-17 13:38:55 -07:00
Ben Kelly
d48b092026 Bug 1204254 P9 Pass the body stream directly to StartSynthesizedResponse() instead of copying. r=asuth 2017-10-17 13:38:55 -07:00
Ben Kelly
33afdbe632 Bug 1204254 P8 Improve error handling and cancelation for intercepted HttpChannelChild. r=asuth 2017-10-17 13:38:55 -07:00
Ben Kelly
827e1b543b Bug 1204254 P7 Allow the body nsIInputStream to be passed in StartSynthesizeResponse(). r=asuth 2017-10-17 13:38:55 -07:00
Ben Kelly
8bf6429c5a Bug 1204254 P5 Don't rely on nsIInputStream::Available() during interception to get the total stream length. r=asuth 2017-10-17 13:38:54 -07:00
Ben Kelly
262c2cb4f2 Bug 1204254 P2 Move StartSynthesizedResponse() out from FinishSynthesizedResponse(). r=asuth 2017-10-17 13:38:54 -07:00
Ben Kelly
89cd4507cf Bug 1204254 P1 Add an nsIInterceptedChannel::StartSynthesizedResponse() method. r=asuth 2017-10-17 13:38:54 -07:00
Sebastian Hengst
b1cdb2af00 Backed out changeset 03e4f9175b16 (bug 1409329) 2017-10-17 22:03:39 +02:00
Sebastian Hengst
66e04dcde6 Backed out changeset 4666cde20909 (bug 1409327) 2017-10-17 22:03:33 +02:00
Andrea Marchesini
d526801916 Bug 1409327 - NS_NewBufferedInputStream should take the ownership of the inputStream, r=smaug 2017-10-17 20:38:05 +02:00
Andrea Marchesini
fe04c2050c Bug 1409329 - NS_NewBufferedOutputStream should take the ownership of the outputStream, r=smaug 2017-10-17 20:38:05 +02:00
Dragana Damjanovic dd.mozilla@gmail.com
3e2548c099 Bug 1393691 - timeout connection if tls takes too long. r=mcmanus 2017-10-17 14:06:45 +02:00
Sylvestre Ledru
982e6cfc6f Bug 1408957 - Remove netwerk/protocol/device/ (no longer used) r=dragana
MozReview-Commit-ID: 1SBMbBzE6DA

--HG--
extra : rebase_source : ab3b07055c9595e565f4dc7cf411e3afef41b99c
2017-10-16 12:12:16 +02:00
Sebastian Hengst
32f7c8fec3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1h3kZyrtqSt
2017-10-17 11:45:16 +02:00
Kris Maglione
635fc0e1ae Bug 1405286: Part 1 - Allow retrieving the delivery target from retargetable requests. r=dragana
After data delivery for a request has been retargeted, there's no reliable way
to get the appropriate event target to re-dispatch data events after
asynchronous processing.


While it's technically possible to retrieve the current thread from
OnDataAvailable callbacks and re-use that for later dispatch, that approach
has some issues:

1) It's not currently possible to reliably map the current thread to the
thread pool that owns it. That means that if data delivery is being targetted
to a thread pool, attempts to redispatch events to the previous delivery
thread might lead to long delays when one thread in a pool is blocked.

2) If a filter wishes to dispatch data events to the wrapped listeners before
it's recieved any data (as extensions StreamFilters sometimes do), there's no
way to determine the proper event target without waiting for initial data to
be received.


Simply returning the correct event target from the request solves both of
these problems.

MozReview-Commit-ID: CJxq7O4399R

--HG--
extra : rebase_source : db2f659ecad16daafdbcc108d7b1a51ea1af31f9
2017-10-14 18:30:38 -07:00
Kris Maglione
d1f06996d7 Bug 1404198: Part 2c - Switch to NS_NewTimer* in necko. r=njn
MozReview-Commit-ID: 3YyyaBAEjHc

--HG--
extra : rebase_source : 8ea5a8adb4d134ae15041f86f0b185603ab9a989
2017-10-15 23:12:02 -07:00
Kris Maglione
3876d40960 Bug 1404198: Part 1 - Add non-virtual constructor for nsIObject(Input|Output)Stream and update existing callers. r=njn
MozReview-Commit-ID: 3eoh6AwDJyz

--HG--
extra : rebase_source : 92b18b6ef07d276cac79ce735ca0b592cffbf87e
2017-10-04 20:06:28 -07: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
Shih-Chiang Chien
1d51b00021 Bug 1407683 - use singleton factory method for nsHttpHandler. r=mayhemer
nsHttpHandler is designed only for `getService` but we do not protect against `createInstance`.
The singleton of nsHttpHandler will be replaced by new instance created via `createInstance`.
gHttpHandler will hold a dangling pointer after the new instance is destroyed.

MozReview-Commit-ID: DQV6pmb5BUK

--HG--
extra : rebase_source : a6ab90038853e057c632efb5206cc26dcd71b897
2017-10-12 12:13:56 +08:00
Valentin Gosu
c176c9cb48 Bug 1399467 - Remove assertion FTPChannelParent that is triggered by bad ftp URL r=michal
MozReview-Commit-ID: 3vBKRReapHa

--HG--
extra : rebase_source : 39b2d0cc772138888201a5324fb75602818669b7
2017-10-12 21:51:58 +02:00
Sebastian Hengst
373bdd8602 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 9adaYBJ4tlo
2017-10-13 23:37:41 +02:00
Ho-Pang Hsu
271618f7dd Bug 1395202 - Part 3: Create a testcase for nsICacheInfoChannel::cacheEntryId. r=michal, f=junior 2017-10-10 04:10:00 -04:00
Ho-Pang Hsu
24a4dd8501 Bug 1395202 - Part 2: Expose CacheEntryId to nsICacheInfoChannel. r=michal, f=junior 2017-10-12 02:25:00 -04:00
Ho-Pang Hsu
f56a0fb03f Bug 1395202 - Part 1: Create nsICacheEntry::CacheEntryId. r=michal, f=junior,mayhemer 2017-10-10 04:09:00 -04:00
Andrea Marchesini
20fa36b7c1 Bug 1405976 - PartiallySeekableInputStream must take the ownership of the underlying stream, r=qdot 2017-10-13 10:07:32 +02:00
Andrew McCreight
95785a8675 Bug 1402151, part 9 - Implement gtest for FTP directory listing parsing. r=michal
This test turns the existing stand alone test for the FTP directory
listing parser into a gtest.

MozReview-Commit-ID: 7n60TfcTXTJ

--HG--
extra : rebase_source : 79c88708a9bf9bee6c27a82f2c93a95016e063dd
2017-09-25 11:19:33 -07:00
Andrew McCreight
c617e8ebd2 Bug 1402151, part 8 - Add an argument to ParseFTPList to return the current time. r=michal
If the year is omitted from a listing, then the parsing code assumes
that the date occurred within the last year. To compute what the year
should be, the code thus needs to know what the current year, month
and day are. This patch parameterizes ParseFTPList over a function
that returns a PRTime. This will allow the gtest to pass in a fixed
time. Firefox itself will continue to use PR_Now to get the current
time.

MozReview-Commit-ID: 8IbVWbUBHYs

--HG--
extra : rebase_source : 41cc70a044bc19cb8556677cd3502bab3d6c95a4
2017-09-25 13:27:09 -07:00
Andrew McCreight
3b62ffa008 Bug 1402151, part 7 - Add a time zone argument to ParseFTPList. r=michal
In a few places, the FTP parser needs to know the time zone and
daylight savings time correction, encapsulated in
PRTimeParamFn. Before this patch, it would use the time zone of the
current machine, which would obviously make automated testing
difficult. This patch allows a caller to pass in a PRTimeParamFn,
which will allow the gtest to use GMT instead of whatever the local
time is.

MozReview-Commit-ID: 81R3Zbndr43

--HG--
extra : rebase_source : 274c3724259bc2f03f6a9b529ec005421c7c3ae2
2017-09-25 11:45:27 -07:00
Andrew McCreight
2fbc4292eb Bug 1402151, part 6 - Manual fixups for times in E-EPLF.out. r=michal
After the automatic fixes in the previous patch, a few of the times in
late March and early April are still off by an hour. Maybe this was
affected by the changes in when daylight savings time or some bug in
my conversion script. I have no idea. This patch just fixes the test
to match the actual output.

MozReview-Commit-ID: IghWfkWfxvi

--HG--
extra : rebase_source : ef2e8c6c3d5fbe3d50443ac0042d139e5da44d64
2017-09-25 12:53:01 -07:00
Andrew McCreight
6a0a07d59b Bug 1402151, part 5 - Adjust E-EPLF.out from Paris time to GMT. r=michal
The dates in the input for this file are specified as seconds since
Jan 1, 1970 or whenever. The conversion to a normal date depends on
the current time zone. The original output seems to have been
generated using GMT+1, with adjustments for daylight savings time at
the appropriate parts of the year. To make this easier to test, this
patch changes all of the times to GMT, without any daylight savings
time adjustment.

This change was automatically created by the Python script attached to
the bug.

MozReview-Commit-ID: 3uSAGtJYsMW

--HG--
extra : rebase_source : 2bdf3dd8f7d7b07320a19c4710ded75e4d0a86d1
2017-09-25 12:50:35 -07:00
Andrew McCreight
bceda2f2bf Bug 1402151, part 4 - Fix some FTP parser tests. r=michal
D-WinNT: The parser treats <JUNCTION> without an arrow as junk for
some reason. Chrome's FTP directory listing parser doesn't seem to
support <JUNCTION> at all, so it can't be too important. I just
deleted that from the expected output to match Firefox's current
behavior. I also added basic tests for three bugs that were fixed
without any tests landed.

E-EPLF.out: Add a license to the top.

U-WinNT.out: We're not testing junk or comment output, and we don't
use the list: prefix, so remove all of those. Also, we now output the
proper year (2000 instead of 00, for instance), so fix that in the
test output. Finally, the time in the output for this test is
formatted differently, for whatever reason, so change it to match the
actual output.

V-VMS-mix.out: Fix file sizes. File sizes on VMS can only be
approximated. When the FTP tests initially landed in 2002, this was
handled by not trying. Bug 22299 landed in 2003 and changed our
behavior to approximate the size, but the tests were not
updated.

MozReview-Commit-ID: 1DVfBfHh82y

--HG--
extra : rebase_source : 623ac06cb62497b8fc3db01f73c18b3cf0df6783
2017-09-25 11:26:18 -07:00
Andrew McCreight
ea0c1d283c Bug 1402151, part 3 - Move parse-ftp unit tests into the gtest directory. r=michal
This will make them easier to access from a gtest.

MozReview-Commit-ID: 3lV4DwTosXT

--HG--
rename : netwerk/streamconv/converters/parse-ftp/3-guess.in => netwerk/test/gtest/parse-ftp/3-guess.in
rename : netwerk/streamconv/converters/parse-ftp/3-guess.out => netwerk/test/gtest/parse-ftp/3-guess.out
rename : netwerk/streamconv/converters/parse-ftp/C-VMold.in => netwerk/test/gtest/parse-ftp/C-VMold.in
rename : netwerk/streamconv/converters/parse-ftp/C-VMold.out => netwerk/test/gtest/parse-ftp/C-VMold.out
rename : netwerk/streamconv/converters/parse-ftp/C-zVM.in => netwerk/test/gtest/parse-ftp/C-zVM.in
rename : netwerk/streamconv/converters/parse-ftp/C-zVM.out => netwerk/test/gtest/parse-ftp/C-zVM.out
rename : netwerk/streamconv/converters/parse-ftp/D-WinNT.in => netwerk/test/gtest/parse-ftp/D-WinNT.in
rename : netwerk/streamconv/converters/parse-ftp/D-WinNT.out => netwerk/test/gtest/parse-ftp/D-WinNT.out
rename : netwerk/streamconv/converters/parse-ftp/E-EPLF.in => netwerk/test/gtest/parse-ftp/E-EPLF.in
rename : netwerk/streamconv/converters/parse-ftp/E-EPLF.out => netwerk/test/gtest/parse-ftp/E-EPLF.out
rename : netwerk/streamconv/converters/parse-ftp/O-guess.in => netwerk/test/gtest/parse-ftp/O-guess.in
rename : netwerk/streamconv/converters/parse-ftp/O-guess.out => netwerk/test/gtest/parse-ftp/O-guess.out
rename : netwerk/streamconv/converters/parse-ftp/R-dls.in => netwerk/test/gtest/parse-ftp/R-dls.in
rename : netwerk/streamconv/converters/parse-ftp/R-dls.out => netwerk/test/gtest/parse-ftp/R-dls.out
rename : netwerk/streamconv/converters/parse-ftp/README => netwerk/test/gtest/parse-ftp/README
rename : netwerk/streamconv/converters/parse-ftp/U-HellSoft.in => netwerk/test/gtest/parse-ftp/U-HellSoft.in
rename : netwerk/streamconv/converters/parse-ftp/U-HellSoft.out => netwerk/test/gtest/parse-ftp/U-HellSoft.out
rename : netwerk/streamconv/converters/parse-ftp/U-NetPresenz.in => netwerk/test/gtest/parse-ftp/U-NetPresenz.in
rename : netwerk/streamconv/converters/parse-ftp/U-NetPresenz.out => netwerk/test/gtest/parse-ftp/U-NetPresenz.out
rename : netwerk/streamconv/converters/parse-ftp/U-NetWare.in => netwerk/test/gtest/parse-ftp/U-NetWare.in
rename : netwerk/streamconv/converters/parse-ftp/U-NetWare.out => netwerk/test/gtest/parse-ftp/U-NetWare.out
rename : netwerk/streamconv/converters/parse-ftp/U-Novonyx.in => netwerk/test/gtest/parse-ftp/U-Novonyx.in
rename : netwerk/streamconv/converters/parse-ftp/U-Novonyx.out => netwerk/test/gtest/parse-ftp/U-Novonyx.out
rename : netwerk/streamconv/converters/parse-ftp/U-Surge.in => netwerk/test/gtest/parse-ftp/U-Surge.in
rename : netwerk/streamconv/converters/parse-ftp/U-Surge.out => netwerk/test/gtest/parse-ftp/U-Surge.out
rename : netwerk/streamconv/converters/parse-ftp/U-WarFTPd.in => netwerk/test/gtest/parse-ftp/U-WarFTPd.in
rename : netwerk/streamconv/converters/parse-ftp/U-WarFTPd.out => netwerk/test/gtest/parse-ftp/U-WarFTPd.out
rename : netwerk/streamconv/converters/parse-ftp/U-WebStar.in => netwerk/test/gtest/parse-ftp/U-WebStar.in
rename : netwerk/streamconv/converters/parse-ftp/U-WebStar.out => netwerk/test/gtest/parse-ftp/U-WebStar.out
rename : netwerk/streamconv/converters/parse-ftp/U-WinNT.in => netwerk/test/gtest/parse-ftp/U-WinNT.in
rename : netwerk/streamconv/converters/parse-ftp/U-WinNT.out => netwerk/test/gtest/parse-ftp/U-WinNT.out
rename : netwerk/streamconv/converters/parse-ftp/U-hethmon.in => netwerk/test/gtest/parse-ftp/U-hethmon.in
rename : netwerk/streamconv/converters/parse-ftp/U-hethmon.out => netwerk/test/gtest/parse-ftp/U-hethmon.out
rename : netwerk/streamconv/converters/parse-ftp/U-murksw.in => netwerk/test/gtest/parse-ftp/U-murksw.in
rename : netwerk/streamconv/converters/parse-ftp/U-murksw.out => netwerk/test/gtest/parse-ftp/U-murksw.out
rename : netwerk/streamconv/converters/parse-ftp/U-ncFTPd.in => netwerk/test/gtest/parse-ftp/U-ncFTPd.in
rename : netwerk/streamconv/converters/parse-ftp/U-ncFTPd.out => netwerk/test/gtest/parse-ftp/U-ncFTPd.out
rename : netwerk/streamconv/converters/parse-ftp/U-no_ug.in => netwerk/test/gtest/parse-ftp/U-no_ug.in
rename : netwerk/streamconv/converters/parse-ftp/U-no_ug.out => netwerk/test/gtest/parse-ftp/U-no_ug.out
rename : netwerk/streamconv/converters/parse-ftp/U-nogid.in => netwerk/test/gtest/parse-ftp/U-nogid.in
rename : netwerk/streamconv/converters/parse-ftp/U-nogid.out => netwerk/test/gtest/parse-ftp/U-nogid.out
rename : netwerk/streamconv/converters/parse-ftp/U-proftpd.in => netwerk/test/gtest/parse-ftp/U-proftpd.in
rename : netwerk/streamconv/converters/parse-ftp/U-proftpd.out => netwerk/test/gtest/parse-ftp/U-proftpd.out
rename : netwerk/streamconv/converters/parse-ftp/U-wu.in => netwerk/test/gtest/parse-ftp/U-wu.in
rename : netwerk/streamconv/converters/parse-ftp/U-wu.out => netwerk/test/gtest/parse-ftp/U-wu.out
rename : netwerk/streamconv/converters/parse-ftp/V-MultiNet.in => netwerk/test/gtest/parse-ftp/V-MultiNet.in
rename : netwerk/streamconv/converters/parse-ftp/V-MultiNet.out => netwerk/test/gtest/parse-ftp/V-MultiNet.out
rename : netwerk/streamconv/converters/parse-ftp/V-VMS-mix.in => netwerk/test/gtest/parse-ftp/V-VMS-mix.in
rename : netwerk/streamconv/converters/parse-ftp/V-VMS-mix.out => netwerk/test/gtest/parse-ftp/V-VMS-mix.out
extra : rebase_source : a9924b40cd6d51750c875fce0f85262f6b86c85d
2017-09-25 10:58:11 -07:00
Andrew McCreight
1560fa65f4 Bug 1402151, part 2 - Clamp the number of blocks for a VMS file. r=michal
strtoul returns an |unsigned long|, and clamps the return value to
ULONG_MAX if the input is out of range. This means that the value
returned for large numbers differs between 32-bit and 64-bit
systems. To make testing easier, this patch clamps the return value to
UINT32_MAX, ensuring that 32-bit and 64-bit builds of Firefox will be
consistent.

Explicitly declaring that the intermediate value numBlocks is a
uint64_t also avoids (well-defined) integer overflow in the case of a
large file.

This patch also changes PRId64 to PRIu64, because the value being
printed is unsigned. However, this should not make a difference in
practice, because, with clamping, the maximum value being printed is
|UINT32_MAX * 512|.

I also cleaned up the comment that was a little garbled and contained
information about both the old and new ways this was handled, and
removed some code that has been ifdef'd out for at least 14 years.

MozReview-Commit-ID: HELmWmtx24O

--HG--
extra : rebase_source : d7a9f5ab09fcb97d5f6319e5fa1fca1a4f72aa52
2017-09-28 09:32:48 -07:00