Commit Graph

78 Commits

Author SHA1 Message Date
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Patrick McManus
c870cb3fa4 bug 1116867 - make nsIProgressEventSink and nsITransportEventSink safely scriptable r=mayhemer r=bz
These scriptable interfaces use uint_64 arguments with sentinel values
of UINT64_MAX. However, UINT64_MAX exceeds MAX_SAFE_INTEGER and cannot
be gatewayed to/from javascript - so they cannot be used
correctly. Change them to use signed 64 bit numbers and -1 as the
sentinnel. C++ implementations ought to be enough to audit as the
special value could never be used correctly in JS anyhow - also
audited OnProgressChange() uses for downstream use of this data.
---
 dom/base/nsXMLHttpRequest.cpp                      | 19 +++++++----
 dom/base/nsXMLHttpRequest.h                        | 10 +++---
 dom/plugins/base/nsPluginStreamListenerPeer.cpp    |  4 +--
 .../webbrowserpersist/nsWebBrowserPersist.cpp      | 14 ++++----
 image/src/imgLoader.cpp                            |  4 +--
 modules/libjar/nsJARChannel.cpp                    |  3 +-
 netwerk/base/public/nsIProgressEventSink.idl       |  8 ++---
 netwerk/base/public/nsITransport.idl               |  8 ++---
 netwerk/base/public/nsNetUtil.h                    | 24 ++++++++++++++
 netwerk/base/src/Dashboard.cpp                     |  2 +-
 netwerk/base/src/nsBaseChannel.cpp                 | 12 +++----
 netwerk/base/src/nsIncrementalDownload.cpp         |  4 +--
 netwerk/base/src/nsSocketTransport2.cpp            |  5 +--
 netwerk/base/src/nsStreamTransportService.cpp      | 38 +++++++++++++---------
 netwerk/base/src/nsTransportUtils.cpp              | 12 +++----
 netwerk/protocol/file/nsFileChannel.cpp            |  8 +++--
 netwerk/protocol/ftp/nsFtpConnectionThread.cpp     |  4 +--
 netwerk/protocol/http/Http2Push.cpp                |  2 +-
 netwerk/protocol/http/Http2Session.cpp             |  2 +-
 netwerk/protocol/http/HttpChannelChild.cpp         | 31 +++++++++---------
 netwerk/protocol/http/HttpChannelChild.h           |  6 ++--
 netwerk/protocol/http/HttpChannelParent.cpp        |  4 +--
 netwerk/protocol/http/HttpChannelParent.h          |  4 +--
 netwerk/protocol/http/NullHttpTransaction.cpp      |  2 +-
 netwerk/protocol/http/PHttpChannel.ipdl            |  2 +-
 netwerk/protocol/http/SpdyPush31.cpp               |  2 +-
 netwerk/protocol/http/SpdySession31.cpp            |  2 +-
 netwerk/protocol/http/TunnelUtils.cpp              |  2 +-
 netwerk/protocol/http/nsAHttpTransaction.h         |  4 +--
 netwerk/protocol/http/nsHttpChannel.cpp            | 30 +++++++++++------
 netwerk/protocol/http/nsHttpConnection.cpp         |  4 +--
 netwerk/protocol/http/nsHttpConnectionMgr.cpp      |  4 +--
 netwerk/protocol/http/nsHttpPipeline.cpp           |  4 +--
 netwerk/protocol/http/nsHttpPipeline.h             |  6 ++--
 netwerk/protocol/http/nsHttpResponseHead.cpp       |  2 +-
 netwerk/protocol/http/nsHttpResponseHead.h         |  2 +-
 netwerk/protocol/http/nsHttpTransaction.cpp        | 32 +++++++++---------
 netwerk/protocol/http/nsHttpTransaction.h          |  2 +-
 netwerk/protocol/wyciwyg/WyciwygChannelChild.cpp   |  2 +-
 netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp      |  3 +-
 netwerk/test/TestIncrementalDownload.cpp           |  7 ++--
 uriloader/base/nsDocLoader.cpp                     | 14 ++++----
 42 files changed, 203 insertions(+), 151 deletions(-)
2015-01-08 14:48:52 -05:00
Patrick McManus
83a75bd98c bug 1013623 - make nsHttpPipeline.mConnection a smart pointer r=hurley 2014-05-21 10:01:56 -04:00
Patrick McManus
dc265c25da bug 378637 part 15 - pipeline::setconnection(nullptr) is never assertable r=hurley 2014-05-16 11:46:13 -04:00
Patrick McManus
233a352113 bug 378637 part 10 - implement nsAHttpTransaction::ConnectionInfo r=hurley 2014-04-20 12:01:35 -04:00
Ryan VanderMeulen
9ee7c1593b Backed out 11 changesets (bug 378637) for Android crashes.
Backed out changeset 2a607cddc4cb (bug 378637)
Backed out changeset e416503aea99 (bug 378637)
Backed out changeset b2257226899f (bug 378637)
Backed out changeset dafd618c3f52 (bug 378637)
Backed out changeset dfde9d47d8c4 (bug 378637)
Backed out changeset cf9de5c367a5 (bug 378637)
Backed out changeset 62aa68e8b499 (bug 378637)
Backed out changeset 38efa8f2e56e (bug 378637)
Backed out changeset 2b5753e09a92 (bug 378637)
Backed out changeset 7a73873e133d (bug 378637)
Backed out changeset f58ce7ac1c7f (bug 378637)
2014-05-09 15:25:55 -04:00
Patrick McManus
5a6bd3cfa8 bug 378637 part 9 - implement nsAHttpTransaction::ConnectionInfo r=hurley 2014-04-20 12:01:35 -04:00
Patrick McManus
596832f11f bug 973207 - revert 905460 for nightly crashes r=backout 2014-02-17 13:53:25 -05:00
Patrick McManus
7f951d721e bug 905460 - necko cleanups: manual ref counts, 32 bit formatters, whitespace r=sworkman 2014-01-17 17:06:25 -05:00
Patrick McManus
d93b7ba831 bug 957093 - namespace consistency for netwerk/protocol/http r=sworkman 2014-01-07 17:05:56 -05:00
Steve Workman
3ecb00b3a7 Bug 938803 - Cancel DNS refresh requested in classes implementing nsAHttpTransaction r=mcmanus 2013-11-27 10:19:14 -08:00
Wes Kocher
f8f1ebdba4 Backed out changeset 8a25ee567449 (bug 938803) 2013-11-26 19:44:30 -06:00
Steve Workman
2ab46a68f6 Bug 938803 - Cancel DNS refresh requested in classes implementing nsAHttpTransaction r=mcmanus 2013-11-26 16:09:49 -08:00
Ehsan Akhgari
deb5a6a21b Bug 919320 - Minimize the #includes in netwerk/protocol; r=mcmanus 2013-09-22 23:35:52 -04:00
Patrick McManus
3882d36a53 bug 907960 - backout 905460 r=backout 2013-08-21 21:01:19 -04:00
Patrick McManus
2e36e20747 bug 905460 - make http objects use smart pointers r=sworkman 2013-08-14 21:05:47 -04:00
Joshua Cranmer
2bde801f36 Bug 884061 - Part 3q: Use NS_DECL_THREADSAFE_ISUPPORTS in netwerk/, r=macmanus 2013-07-18 21:24:13 -05:00
Jason Duell
1c8005d335 Bug 558623 - Split out HTTP LOG macro definition from nsHttp.h r=jdm 2013-06-22 09:01:06 -07:00
Jason Duell
068080ed95 Bug 879054: fix printf of status in HttpChannelParent. r=mcmanus 2013-06-04 16:32:31 -07:00
Patrick McManus
8b9ed05d20 bug 871289 [2 of 2] fix trailing whitespace in netwerk/protocol/http/* r=jduell 2013-05-16 09:30:42 -04:00
Patrick McManus
6343782b40 bug 871289 [1 of 2] standardize netwerk/protocol/http on moz_assert r=jduell 2013-05-16 09:30:41 -04:00
Mats Palmgren
7532b4e736 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Patrick McManus
5cba01713f bug 816685 expand caps in protocol/http to 32bits r=jduell 2012-11-29 20:34:35 -05:00
Josh Matthews
c88986c829 Bug 804655 - Part 2: Wrap up interface aggregator callbacks with a target thread on which they should be released. r=mayhemer 2012-11-14 16:00:44 +00:00
Isaac Aggrey
990e90e88a Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Jason Duell
49298666dd Bug 767516 - Rename: s/SSLConnect/ProxyConnect/ r=mcmanus 2012-06-22 12:06:00 -07:00
Ehsan Akhgari
243c878d26 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Patrick McManus
7edb02944a bug 782570 - nsHttpPipeline::CancelTransaction force connection close if no sub transactions are left r=jduell 2012-08-21 08:37:31 -04:00
Honza Bambas
473edc0cbf Bug 215450: Allow uploading of files greater than 2gb in size. Involves making input streams 64-bit capable. Significant work done by Makoto Kato, finished by Honza Bambas. r=hbambas,bsmedberg,jdrew,sicking 2012-08-10 22:44:11 -04:00
Aryeh Gregor
cb8c7eb3ef Bug 778680 part 1 - Make netwerk status codes actually nsresult; r=jduell 2012-08-01 11:17:09 +03:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Patrick McManus
3954e82e10 bug 763312 pipeline position 0 read time rescheduling fixes r=honzab 2012-06-29 14:24:29 -04:00
Ed Morley
e09bcb0e4f Backout d45ca69b67a3 (bug 767516), 4ff98d3e4d8d (bug 767512), 70cc47076115 (bug 767505), 4eca26d02c84 (bug 766929) for mochitest-plain-5 failures 2012-06-25 21:38:10 +01:00
Jason Duell
61c84183dc Bug 767516 - Rename: s/SSLConnect/ProxyConnect/g r=mcmanus 2012-06-25 12:48:50 -07:00
Patrick McManus
56a0c93679 bug 757882 replace 250+ lines of redundant nsAHttpConnection implementations with macros r=jduell 2012-05-25 17:56:41 -04:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Patrick McManus
f1a3a516c2 Bug 755167 - spdysession::mConnection should not be nsHttpPipeline r=honzab 2012-05-16 09:05:34 -04:00
Patrick McManus
36d5f8f033 bug 742935: fix landing problem with 603512 r=honzab 2012-04-09 10:21:17 -04:00
Patrick McManus
81e6b01e02 bug 741056 - nightly crash https sites with authenticated proxy r=honzab 2012-04-04 09:39:21 -04:00
Patrick McManus
bb00de36ad bug 739617 - cannot upload large files r=honzab 2012-04-02 20:36:11 -04:00
Patrick McManus
ce937da0ed bug 603514 - http stalled read detection r=honzab
When a connection that involves a pipelined transaction has been stalled (i.e.
idle with an open transaction, not an idle persistent connection) for a
second move any transactions that are pipelined after the current one onto
different connections (and implicitly close this connection when done with the
current transaction).

when it has been stalled for 10 seconds (pref configurable), cancel the current
transaction itself too - depending on its state it can hopefully be restarted
on a clean connection.
2012-03-22 19:39:31 -04:00
Patrick McManus
4187cc4bd6 bug 603512 - large objects block pipelines r=honzab
the type and state patch tries hard not to form pipelines behind resources that
could become head of line blockers. But of course that requires the ability to
predict the future, and won't be perfect.

This patch reacts to a transaction that has a large response body (defined by
either a large content-length header or actually reading a large number of
chunked bytes) by cancelling any transactions that have been pipelined down the
same connection and rescheduling them elsewhere. It also changes the type of
the connection to "solo", which prevents new transactions from being pipelined
onto this one and provides class-specific negative feedback to the pipeline
manager so that near-future requests to the same host of the same type (e.g.
general) will not be pipelined but other types (e.g. img or js/css) can still
do that.

Content-Length is ideal, because it allows us to identify the problem so early.
But even actually reading the document for a fairly long time gives it a fairly
high probability of not ending soon. (i.e. long document sizes are spread over
a larger range than small ones. duh.)

The pref network.http.pipelining.maxsize controls the threshold. I set the
default at 300KB, which is roughly the bandwidth delay product of a 2mbit 120ms
rtt connection and 1 rtt is mostly what you are giving up by canceling it on
one connection and sending it on another. (modulo maybe needing a handshake).
2012-03-22 19:39:31 -04:00
Patrick McManus
fe31432cfb bug 599164 pipeline with type and state r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
850582271a bug 597684 Implement HTTP Assoc-req and Banned Pipelines on nsHttpConnectionInfo r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
048047f5f0 bug 447866 http pipelining is bursty r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
a58e1df871 bug 447866 - patch pre.1 for empty nsHttpPipeline::TakeSubTransactions r=honzab 2012-03-22 19:39:28 -04:00
Patrick McManus
b638de217c bug 447866 pre patch 0 - pipeline and spdy mix r=honzab 2012-02-15 16:41:18 -05:00
Patrick McManus
d800668388 bug 708415 spdysession review comments r=honzab 2012-01-26 00:15:26 -05:00
Nicholas Nethercote
285fff455c Bug 715770 - Remove necko buffer cache. r=biesi. 2012-01-09 19:43:52 -08:00
Patrick McManus
c8befebf23 bug 667387 - make nshttppipeline::taketransport() work with websockets r=honzab 2012-01-06 08:46:15 -05:00