DocumentChannel acts as a replacement for HttpChannel where redirects are now entirely handled in the DocumentChannelParent. The ContentChild will receive the final nsIChannel once all redirects have been handled.
Differential Revision: https://phabricator.services.mozilla.com/D37490
We can deduct it from the nsIChannel argument already. In the future, the httpParent may be either HttpChannelParent or DocumentChannelParent.
Differential Revision: https://phabricator.services.mozilla.com/D40971
The devtools listens to http-on-opening-request event which is expected to receive a nsIHttpChannel. However future changes will make it that it's not always a nsIHttpChannel that can fire such event.
As such we create an intermediary interface nsIIdentChannel and move the subset generating such event in nsIHttpChannel there.
Differential Revision: https://phabricator.services.mozilla.com/D40968
This more closely follow the code as earlier documented. To remove all ambiguities, the idl documentation was amended.
Differential Revision: https://phabricator.services.mozilla.com/D40961
This class allows to encapsulate all the information required in order to create a new HttpChannel object following a redirect.
Differential Revision: https://phabricator.services.mozilla.com/D40959
1. Unsticky connection from a transaction we disable SPDY on to restart
2. Call OnReadSegment from TLSFilterTransaction;FilterOutput to push written data out (renegotiation)
3. Break indefinite loop that may occur during renegotiation by propagating WOULD_BLOCK via mFilterReadCode
Differential Revision; https;\\phabricator.services.mozilla.com\D40409
Differential Revision: https://phabricator.services.mozilla.com/D42310
--HG--
extra : moz-landing-system : lando
ReferrerPolicy gets tossed back and forth as a uint32_t and
ReferrerPolicy enum in header file. Expose ReferrerPolicyValues from
webidl file and use consistently in native code.
Differential Revision: https://phabricator.services.mozilla.com/D41954
--HG--
extra : moz-landing-system : lando
When revalidated cache entry is used, normally the sequence is:
OnStartRequest(mTransactionPump)
OnStopRequest(mTransactionPump)
OnStartRequest(mCachePump)
OnStopRequest(mCachePump)
When doing cross process redirect, the call to OnStopRequest(mTransactionPump) might get delayed, so we can still have mTransactionPump in OnStartRequest(mCachePump).
Differential Revision: https://phabricator.services.mozilla.com/D41484
--HG--
extra : rebase_source : c4887343fa6ac95695df3b456f761c4ad3217511
extra : source : 3feee5147ab0c9a7647f920bb0dde9950c836bed
When revalidated cache entry is used, normally the sequence is:
OnStartRequest(mTransactionPump)
OnStopRequest(mTransactionPump)
OnStartRequest(mCachePump)
OnStopRequest(mCachePump)
When doing cross process redirect, the call to OnStopRequest(mTransactionPump) might get delayed, so we can still have mTransactionPump in OnStartRequest(mCachePump).
Differential Revision: https://phabricator.services.mozilla.com/D41484
--HG--
extra : moz-landing-system : lando
When the docshell is being destroyed, HttpChannelChild::CompleteRedirectSetup is not called and HttpChannelChild::mListener is not also assigned. In this case, I think we should cancel the channel and propagate the error to the http channel parent.
Differential Revision: https://phabricator.services.mozilla.com/D41515
--HG--
extra : moz-landing-system : lando
Actually, compiler outputs the following warning for android build.
```
35:44.69 warning: netwerk/protocol/http/nsHttpHandler.cpp:165:12 [-Wreturn-std-move] local variable 'deviceString' will be copied despite being returned by name
35:44.69 warning: netwerk/protocol/http/nsHttpHandler.cpp:167:10 [-Wreturn-std-move] local variable 'deviceModelId' will be copied despite being returned by name
```
We should use std::move to fix this.
Differential Revision: https://phabricator.services.mozilla.com/D41327
--HG--
extra : moz-landing-system : lando