Stubbed DocumentChannelParent class
Categories
(Core :: Networking, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: nhi, Assigned: mattwoodrow)
References
(Blocks 3 open bugs, Regressed 3 open bugs)
Details
(Whiteboard: [necko-triaged])
Attachments
(24 files, 5 obsolete files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Implement stubbed DocumentChannelParent class with the necessary interfaces
Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
Uploaded a (very) WIP patch, still a lot to be done here.
Updated•5 years ago
|
Comment 3•5 years ago
|
||
This class allows to encapsulate all the information required in order to create a new HttpChannel object following a redirect.
Comment 4•5 years ago
|
||
Depends on D40959
Comment 5•5 years ago
|
||
This more closely follow the code as earlier documented. To remove all ambiguities, the idl documentation was amended.
Depends on D40960
Comment 6•5 years ago
|
||
Depends on D40961
Comment 7•5 years ago
|
||
This is a cosmetic only change.
Depends on D40962
Comment 8•5 years ago
|
||
Depends on D40963
Comment 9•5 years ago
|
||
We extract the code from CSPService::AsyncOnChannelRedirect so that we can use it in a follow-up change.
Depends on D40964
Comment 10•5 years ago
|
||
Depends on D40965
Comment 11•5 years ago
|
||
Remove unused IPDLParamTraits<nsDocShellLoadState*>::Write method
Depends on D40966
Comment 12•5 years ago
|
||
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.
Depends on D40967
Comment 13•5 years ago
|
||
We will need access to this method in a following change.
Depends on D40968
Comment 14•5 years ago
|
||
Under some circumstances, we will not want to propagate, following a redirect the events following the nsIChannel::LOAD_REPLACE being set.
Depends on D40969
Comment 15•5 years ago
|
||
We can deduct it from the nsIChannel argument already. In the future, the httpParent may be either HttpChannelParent or DocumentChannelParent.
Depends on D40970
Comment 16•5 years ago
|
||
This allows in the future for the nsHttpChannel to deal with things others than the HttpChannelParent.
Depends on D40971
Comment 17•5 years ago
|
||
Depends on D40972
Comment 18•5 years ago
|
||
Depends on D40973
Comment 19•5 years ago
|
||
DevTools rely on events when a new HttpChannel is opened, it needs to know when a DocumentChannel is.
Updated•5 years ago
|
Comment 20•5 years ago
|
||
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.
Comment 21•5 years ago
|
||
This will be required to access the Performance object from future DocumentChannel.
Comment 22•5 years ago
|
||
This will be required to access the Performance object from future DocumentChannel.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment 23•5 years ago
|
||
Assignee | ||
Comment 24•5 years ago
|
||
Assignee | ||
Comment 25•5 years ago
|
||
Depends on D42258
Assignee | ||
Comment 26•5 years ago
|
||
Depends on D42259
Comment 27•5 years ago
|
||
This will be required to access the Performance object from future DocumentChannel.
Depends on D40961
Updated•5 years ago
|
Updated•5 years ago
|
Comment 28•5 years ago
|
||
DocumentChannel issues an extra onStateChange at the start when it switched over to the real channel.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 29•5 years ago
|
||
matchRequest can be called with a nsIChannel object or a nsIWebSocketChannel so make sure we use the right object.
Note that it should be possible to QI on a nsIChannel rather than a nsIHttpChannel. This is to be investigated in a follow-up bug.
Comment 30•5 years ago
|
||
So that we can restrict QI(nsIIdentChannel) to nsIHttpChannel and DocumentChannelChild objects only.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 31•5 years ago
|
||
Pushed by jyavenard@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/db78ecb81c2d P1. Introduce ReplacementChannelConfig. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/7f6ef423363a P2. Use ReplacementChannelConfig across HttpChannelParent and ContentChild. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/bdc04d1d5bf6 P3. Move logic on when to return the PerformanceStorage into nsILoadInfo. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/35142dbc11b3 P4. Add ability to set Document object on LoadInfo. r=mayhemer,ckerschb https://hg.mozilla.org/integration/mozilla-inbound/rev/200c8f70c117 P5. Fix constness. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/da52b874f3e2 P6. Simplify use of namespace. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/cbb802bfb55d P7. Make LoadInfoArgsToLoadInfo works with LoadInfo class. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/81cc6c54b36e P8. Add CSPService::ConsultCSPForRedirect. r=mayhemer,ckerschb https://hg.mozilla.org/integration/mozilla-inbound/rev/9938adfa2397 P9. Make method static. r=nika,mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/fe5a0d4ba055 P10. Pass PostData and Headers at DocShell creation time. r=nika,farre https://hg.mozilla.org/integration/mozilla-inbound/rev/33e0491a76de P11. Add nIIdentChannel interface. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/f653369bd04c P12. Move code into static utility method. r=nika https://hg.mozilla.org/integration/mozilla-inbound/rev/7476951352cb P13. Use LoadInfo redirect chain to determine when a channel has redirected and we should skip uri fixup. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/c994fc6ba769 P14. No longer pass nsILoadInfo to TriggerCrossProcessRedirect. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/6a7ea8798010 P15. Move methods into dedicated nsI* interface. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/4083a5dddfdf P16. Add AddClientChannelHelperInParent helper method. r=asuth https://hg.mozilla.org/integration/mozilla-inbound/rev/8acb00138b34 P18. Add DocumentChannel and hook it up. r=nika,mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/7a7ebdb0e451 P19. Fix devtools stack traces. r=honza,ochameau https://hg.mozilla.org/integration/mozilla-inbound/rev/781a0defe7f8 P20 - Remove unused method. r=mayhemer https://hg.mozilla.org/integration/mozilla-inbound/rev/bf73a38e9e5a P21 - Cache the original referrer before url classification has been applied to send back to the content process, since the docshell expects to find the original. r=mayhemer,tnguyen https://hg.mozilla.org/integration/mozilla-inbound/rev/06529d12b589 P22 - Manually add history entries for all DocumentChannel redirects, since these aren't exposed to the content process as channel redirects. r=kmag https://hg.mozilla.org/integration/mozilla-inbound/rev/6125bb02952a P23 - Only create new ClientSource objects in the content, but use the recreated info from redirects in the parent. r=asuth https://hg.mozilla.org/integration/mozilla-inbound/rev/5cb84cd83b9d P24. Update test to handle extra onStateChange events fired when using DocumentChannel. r=kmag https://hg.mozilla.org/integration/mozilla-inbound/rev/4593e6d99506 P25. Make nsIIdentChannel support conditional for nsBaseChannel. r=mayhemer
Comment 32•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/db78ecb81c2d
https://hg.mozilla.org/mozilla-central/rev/7f6ef423363a
https://hg.mozilla.org/mozilla-central/rev/bdc04d1d5bf6
https://hg.mozilla.org/mozilla-central/rev/35142dbc11b3
https://hg.mozilla.org/mozilla-central/rev/200c8f70c117
https://hg.mozilla.org/mozilla-central/rev/da52b874f3e2
https://hg.mozilla.org/mozilla-central/rev/cbb802bfb55d
https://hg.mozilla.org/mozilla-central/rev/81cc6c54b36e
https://hg.mozilla.org/mozilla-central/rev/9938adfa2397
https://hg.mozilla.org/mozilla-central/rev/fe5a0d4ba055
https://hg.mozilla.org/mozilla-central/rev/33e0491a76de
https://hg.mozilla.org/mozilla-central/rev/f653369bd04c
https://hg.mozilla.org/mozilla-central/rev/7476951352cb
https://hg.mozilla.org/mozilla-central/rev/c994fc6ba769
https://hg.mozilla.org/mozilla-central/rev/6a7ea8798010
https://hg.mozilla.org/mozilla-central/rev/4083a5dddfdf
https://hg.mozilla.org/mozilla-central/rev/8acb00138b34
https://hg.mozilla.org/mozilla-central/rev/7a7ebdb0e451
https://hg.mozilla.org/mozilla-central/rev/781a0defe7f8
https://hg.mozilla.org/mozilla-central/rev/bf73a38e9e5a
https://hg.mozilla.org/mozilla-central/rev/06529d12b589
https://hg.mozilla.org/mozilla-central/rev/6125bb02952a
https://hg.mozilla.org/mozilla-central/rev/5cb84cd83b9d
https://hg.mozilla.org/mozilla-central/rev/4593e6d99506
Description
•