Граф коммитов

57 Коммитов

Автор SHA1 Сообщение Дата
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
Honza Bambas 3a7ab1ab78 Bug 1405199 - Update result principal URI on the new channel when nsBaseChannel redirects. r=bz 2017-10-09 07:50:00 -04:00
Andrea Marchesini 53d31f2d9c Bug 1402888 - Remove nsIInputStreamPump::Init() offset and limit params, r=smaug 2017-09-26 07:21:44 +02:00
Masatoshi Kimura 74df77800f Bug 1389738 - Remove @deprecated nsIHttpEventSink. r=mcmanus
MozReview-Commit-ID: 5TaiTc6fSLK

--HG--
extra : rebase_source : acbbecb29c61bb1d84efc2fb7418806e61828003
2017-08-12 18:26:23 +09:00
Andrea Marchesini 50f9ea47a3 Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02: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 4cbb89d09b Bug 1343741 - Part2: Label nsAsyncRedirectVerifyHelper, r=mayhemer
1. Pass a labeled main thread event target to nsAsyncRedirectVerifyHelper::Init.
2. Use mainThreadEventTarget to dispatch runnables
2017-07-05 00:47:00 +02:00
Kershaw Chang 41b2aa45b7 Bug 1343741 - Label runnables in nsBaseChannel, r=mayhemer
This patch includes changes below:
1. Make nsBaseChannel inherit from NeckoTargetHolder.
2. Change FtpChannelChild due to (1) and also don't use SystemGroup to dispatch nsFtpChildAsyncAlert runnable since nsIPrompt may touch js script.
3. Use NeckoTargetHolder::Dispatch to dispatch runnables in nsBaseChannel.
   Note that RedirectRunnable should be on main thread, so I changed the code from NS_DispatchToCurrentThread to NeckoTargetHolder::Dispatch.
2017-07-05 00:47: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
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bevis Tseng d1637b9c5a Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Thomas Nguyen 262347b745 Bug 1351146 - P2 - Update test case and usage of nsIRedirectHistoryEntry interface. r=dragana
MozReview-Commit-ID: s61VV5CLx8
2017-05-25 19:42:00 +02:00
Kershaw Chang 9ea8bbb5d9 Bug 1352176 - Part2: Pass an event target when calling nsInputStreamPump::Create, r=mayhemer 2017-05-09 20:05:00 +02:00
Valentin Gosu 0a4d506e21 Bug 1354349 - Add nsIChannel.isDocument that checks if LOAD_DOCUMENT_URI is set, or if LOAD_HTML_OBJECT_DATA and the channel has the appropriate MIME type r=mcmanus,mystor
MozReview-Commit-ID: K28Opd9JTr2

--HG--
extra : rebase_source : d1a786d9b4318be15f195fdc330489121ebd6ece
2017-04-20 10:15:06 +08:00
Carsten "Tomcat" Book 7ba1b88f0b Backed out changeset ec9fb39f7133 (bug 1354349) for bustage 2017-04-18 08:52:14 +02:00
Valentin Gosu 8f33abcc56 Bug 1354349 - Add nsIChannel.isDocument that checks if LOAD_DOCUMENT_URI is set, or if LOAD_HTML_OBJECT_DATA and the channel has the appropriate MIME type r=mcmanus,mystor
MozReview-Commit-ID: K28Opd9JTr2

--HG--
extra : rebase_source : 226ef1e6685a9608aa7c07d3c83b048d6e1e7278
2017-04-18 11:25:47 +08:00
Kris Maglione 33760a013c Bug 1351163: Part 1 - Support direct stream listener output in nsBaseChannel. r=honzab
Several of our simple channel implementations work naturally with direct
nsIStreamListener output. Currently, these implementations need to create a
pipe, pump data in to that pipe, and then allow nsBaseChannel to pump data out
of the other side of that pipe, into its own stream listener.

This change allows them to output data directly to nsBaseChannel's stream
listener, which removes unnecessary complexity and overhead.

MozReview-Commit-ID: JCGKTt6Kn9x

--HG--
extra : rebase_source : 200dd2641bfa703f658c2c5171a68df3a035be0a
2017-04-07 14:25:33 -07:00
Patrick McManus d986482512 Bug 1333142 - audit asyncopen2 impls for callback release on failure r=dragana 2017-02-08 12:55:15 -05:00
Ehsan Akhgari 6346c89949 Bug 1324114 - Initialize nsBaseChannel::mOpenRedirectChannel; r=mcmanus 2016-12-19 10:52:54 -05:00
Kershaw Chang e72553b49d Bug 1141814 - Part 2: Lower the priority of channel loading tracking resource. r=honzab 2016-11-30 23:13:00 -05:00
Boris Zbarsky 8ff5499fbb Bug 1292159. Be more careful about removing the inherit principal bit on base channel redirects. r=ckerschb 2016-09-02 17:55:38 -04:00
Christoph Kerschbaumer c291d7493b Bug 1278013 - Remove SEC_FORCE_INHERIT_PRINCIPAL from loadinfo within baseChannel::Redirect. r=bz 2016-06-22 17:15:06 +02:00
Yoshi Huang de5b190579 Bug 1266022 - skip checking of LoadInfo for chrome resources. r=sicking
When tab with a userContextId!=0 contains a chrome page (such as
about:newtab) the userContextId in the LoadInfo won't match the
userContextId in the LoadContext. The LoadInfo will contain the
systemPrincipal and so use userContextId=0, the LoadContext has the
userContextId of the tab (!=0).

This is fine as long as we page only loads chrome-URLs and other
non-http URLs since those don't use cookies anyway.

So avoid asserting in this situation.

Long term we want the chrome page to use the default userContextId for
cookies, since that's what it chrome code normally use. This will work
properly once we get the cookie jar information from the LoadInfo rather
than from the LoadContext.
2016-05-06 11:04:50 +08:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Dragana Damjanovic e72aa9a9f1 Bug 1125916 - Check whether loadInfo and loadContext match. r=sicking, r=jduell
--HG--
extra : rebase_source : 582977113d0e3e15913120232300478835ef1384
extra : histedit_source : 7d3f02b68874f16bb63974f8b41facf947385917
2016-04-13 10:23:26 +02:00
Aidin Gharibnavaz 686438c658 Bug 1164581 - Adding an overload for NS_ProxyRelease that accepts already_AddRefed, and removing all the others. r=bobbyholley 2016-02-10 08:23:00 +01:00
Carsten "Tomcat" Book 5b358688b7 Backed out changeset c18e29c1b369 (bug 1164581) for cpp unit tests test failures
--HG--
extra : rebase_source : fb6fd434c8e3f4b5fa53ea645a54c07cab207894
2016-02-08 11:17:38 +01:00
Aidin Gharibnavaz 69cf7e035f Bug 1164581 - Adding an overload for NS_ProxyRelease that accepts already_AddRefed, and removing all the others. r=bobbyholley
--HG--
extra : rebase_source : 3c6bba6613a14e48239d302bdd0f7fe2e322265d
2016-02-07 10:56:00 +01:00
Patrick McManus 7ed406b2be Bug 1238290 - fix bad necko deps on unified_sources r=valentin.gosu
---
 netwerk/base/ARefBase.h                            |  2 ++
 netwerk/base/CaptivePortalService.cpp              |  1 +
 netwerk/base/CaptivePortalService.h                |  1 +
 netwerk/base/EventTokenBucket.cpp                  |  4 +++-
 netwerk/base/LoadContextInfo.cpp                   |  3 +++
 netwerk/base/LoadInfo.cpp                          |  3 +++
 netwerk/base/MemoryDownloader.cpp                  |  1 +
 netwerk/base/Predictor.cpp                         |  1 +
 netwerk/base/RedirectChannelRegistrar.h            |  1 +
 netwerk/base/nsBaseChannel.cpp                     |  1 +
 netwerk/base/nsChannelClassifier.cpp               |  1 +
 netwerk/base/nsDirectoryIndexStream.cpp            |  3 ++-
 netwerk/base/nsDownloader.cpp                      |  1 +
 netwerk/base/nsIOService.cpp                       |  1 +
 netwerk/base/nsIncrementalDownload.cpp             |  3 +++
 netwerk/base/nsNetUtil.cpp                         |  4 ++++
 netwerk/base/nsNetUtil.h                           |  1 +
 netwerk/base/nsProtocolProxyService.cpp            |  1 +
 netwerk/base/nsSecCheckWrapChannel.cpp             |  2 ++
 netwerk/base/nsUDPSocket.cpp                       |  4 +++-
 netwerk/cache/nsDiskCacheBinding.cpp               |  2 +-
 netwerk/cache/nsDiskCacheDeviceSQL.cpp             |  2 ++
 netwerk/cache/nsMemoryCacheDevice.cpp              |  2 +-
 netwerk/cache2/CacheFileUtils.cpp                  |  2 ++
 netwerk/cache2/CacheStorageService.h               |  1 +
 netwerk/ipc/NeckoParent.cpp                        |  1 +
 netwerk/ipc/RemoteOpenFileChild.cpp                |  1 +
 netwerk/protocol/about/nsAboutBloat.cpp            |  1 +
 netwerk/protocol/about/nsAboutCacheEntry.cpp       |  1 +
 netwerk/protocol/about/nsAboutProtocolHandler.cpp  |  1 +
 netwerk/protocol/data/DataChannelParent.cpp        |  1 +
 netwerk/protocol/file/nsFileProtocolHandler.cpp    |  1 +
 netwerk/protocol/ftp/FTPChannelParent.cpp          |  2 ++
 netwerk/protocol/ftp/FTPChannelParent.h            |  1 +
 netwerk/protocol/ftp/nsFtpConnectionThread.cpp     |  1 +
 netwerk/protocol/ftp/nsFtpProtocolHandler.h        |  1 +
 netwerk/protocol/http/Http2Compression.cpp         |  1 +
 netwerk/protocol/http/Http2Session.cpp             |  1 +
 netwerk/protocol/http/Http2Stream.h                |  2 ++
 netwerk/protocol/http/HttpBaseChannel.cpp          |  4 ++++
 netwerk/protocol/http/HttpBaseChannel.h            |  1 +
 netwerk/protocol/http/HttpChannelChild.cpp         | 25 ++--------------------
 netwerk/protocol/http/HttpChannelChild.h           | 24 +++++++++++++++++++++
 netwerk/protocol/http/HttpChannelParent.cpp        |  1 +
 netwerk/protocol/http/HttpChannelParent.h          |  1 +
 .../protocol/http/HttpChannelParentListener.cpp    |  1 +
 netwerk/protocol/http/HttpChannelParentListener.h  |  1 +
 netwerk/protocol/http/InterceptedChannel.cpp       |  1 +
 netwerk/protocol/http/NullHttpChannel.cpp          |  1 +
 netwerk/protocol/http/NullHttpTransaction.cpp      |  1 +
 netwerk/protocol/http/PackagedAppService.cpp       | 14 ++++++++++--
 netwerk/protocol/http/PackagedAppService.h         |  4 +++-
 netwerk/protocol/http/PackagedAppVerifier.cpp      |  1 +
 netwerk/protocol/http/nsCORSListenerProxy.cpp      |  2 +-
 netwerk/protocol/http/nsHttpBasicAuth.cpp          |  1 +
 netwerk/protocol/http/nsHttpChannel.cpp            |  2 ++
 netwerk/protocol/http/nsHttpChunkedDecoder.cpp     |  1 +
 netwerk/protocol/http/nsHttpConnectionInfo.cpp     |  2 ++
 netwerk/protocol/http/nsHttpConnectionMgr.cpp      |  1 +
 netwerk/protocol/http/nsHttpDigestAuth.cpp         |  1 +
 netwerk/protocol/viewsource/nsViewSourceHandler.h  |  4 ++++
 .../protocol/websocket/BaseWebSocketChannel.cpp    |  1 +
 .../websocket/WebSocketEventListenerParent.cpp     |  1 +
 .../protocol/websocket/WebSocketEventService.cpp   |  3 +++
 netwerk/protocol/websocket/WebSocketFrame.cpp      |  2 ++
 netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp      |  1 +
 .../protocol/wyciwyg/nsWyciwygProtocolHandler.cpp  |  1 +
 netwerk/streamconv/converters/mozTXTToHTMLConv.cpp |  1 +
 .../streamconv/converters/nsFTPDirListingConv.cpp  |  1 +
 .../streamconv/converters/nsHTTPCompressConv.cpp   |  2 ++
 netwerk/streamconv/converters/nsHTTPCompressConv.h |  1 +
 netwerk/streamconv/converters/nsIndexedToHTML.cpp  |  1 +
 netwerk/streamconv/converters/nsMultiMixedConv.cpp |  2 ++
 netwerk/streamconv/converters/nsTXTToHTMLConv.cpp  |  2 ++
 netwerk/streamconv/converters/nsUnknownDecoder.cpp |  2 ++
 75 files changed, 147 insertions(+), 32 deletions(-)
2016-01-08 20:20:50 -05:00
Jason Duell b091fa291e Bug 1199841 - Restructure private browsing to remember status after OnStopRequest r=jdm 2015-12-30 17:51:21 -05:00
Christoph Kerschbaumer 413a60a063 Bug 1225641 - Change default security flags within NetUtil.newChannel (r=sicking) 2015-11-17 17:35:30 -08:00
Nicholas Nethercote 4a7f327575 Bug 1186783 (part 4) - Replace nsBaseHashtable::EnumerateRead() calls in netwerk/ with iterators. r=valentin. 2015-11-19 16:46:24 -08:00
Christoph Kerschbaumer 7dd3e47cb3 Bug 1194052 - Append to redirectchain before asyncopen() is called (r=sicking,mayhemer) 2015-10-31 15:22:01 -07:00
Christoph Kerschbaumer e15fd3a5f0 Bug 1194052 - Add support for internal redirectchain to loadInfo (r=sicking) 2015-10-31 15:18:59 -07:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Christoph Kerschbaumer a2927d618d Bug 1193924 - Add assertion to AsyncOpen to make sure asyncOpen2() was called first when securityflags in loadInfo are set (r=sicking) 2015-08-12 21:36:33 -07:00
Ryan VanderMeulen ec552557f5 Backed out changeset f99b27e40987 (bug 1193924) for B2G emulator bustage.
CLOSED TREE
2015-08-13 12:45:05 -04:00
Christoph Kerschbaumer ecdc701ca0 Bug 1193924 - Add assertion to AsyncOpen to make sure asyncOpen2() was called first when securityflags in loadInfo are set (r=sicking) 2015-08-12 21:36:33 -07:00
Christoph Kerschbaumer 2ddb4064ec Bug 1143922 - Add AsyncOpen2 to nsIChannel and perform security checks when opening a channel - channel changes (r=mcmanus,sicking) 2015-05-15 13:21:20 -07:00
Christoph Kerschbaumer bcc6bfffb4 Bug 1175803 - Store redirect chain within loadInfo - part 2 (r=sicking,mayhemer) 2015-07-19 19:43:09 -07:00
Dragana Damjanovic 7987d2203e Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Emanuel Hoogeveen 7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Juan Gomez 258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Dragana Damjanovic b5075f0de3 Bug 1170197 - If a channel is suspended in http-on-modify-request, it should not send any trafic untill resumed. r=mayhemer 2015-06-18 10:57:00 -04:00
Ryan VanderMeulen 5f5c327690 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez 702a59d135 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
--HG--
extra : rebase_source : 2ecbe6c1dd8a7ad8dc529b53349ad431cf1116c9
2015-06-24 14:11:00 -04:00
Eric Rahm 49cd162711 Bug 1171716 - Part 2: Use NS_ReleaseOnMainThread in nsBaseChannel. r=froydnj 2015-06-10 08:33:28 -07:00