Open Bug 273760 Opened 20 years ago Updated 8 months ago

Solve the SetLoadCookie issue (specify nsIURILoader context behavior)

Categories

(Core :: DOM: Navigation, task)

task

Tracking

()

People

(Reporter: bzbarsky, Unassigned)

References

Details

This is spun off bug 272471. The issue with SetLoadCookie raised in that bug is only an issue for callers that call nsIURILoader and pass something other than a docshell as the context. So I think the right solution is to clearly define what interfaces the context should support and what should happen when it doesn't support them. At the moment, the only such caller in the tree that uses the loadcookie is nsURLFetcher.cpp. It watches the progress notifications and uses them to call its own OnStopRequest if it gets a OnStateChange() with an error status. Given that it's also the nsIContentListener for the channel, this seems unnecessary... In any case, the loadcookie currently provides three things: an nsIWebProgress, an nsIDocumentLoader, and an nsILoadGroup (from the document loader). So what we need to decide is how and whether non-docshell callers should come up with a loadgroup and a webprogress. There are two basic options: 1) If the caller's context does not GetInterface an nsIWebProgress, create an nsDocLoader and set it as the caller's loadcookie. Similar for nsILoadGroup. 2) Make it the caller's responsibility to manage nsIWebProgress/nsILoadGroup issues (in which case we should probably expose a way to create reasonable nsIWebProgress instances on the caller side). Thoughts?
Assignee: adamlock → bzbarsky
Priority: -- → P1
Target Milestone: --- → mozilla1.8alpha6
QA Contact: adamlock → docshell
Assignee: bzbarsky → nobody
Priority: P1 → --
Target Milestone: mozilla1.8alpha6 → ---
Severity: normal → S3
Component: DOM: Navigation → Networking

This has nothing to do with http cookies; it's totally a DOM thing.

Severity: S3 → --
Component: Networking → DOM: Navigation
Type: defect → task
You need to log in before you can comment on or make changes to this bug.