10:01 | <sideshowbarker> | annevk: About https://github.com/WebKit/WebKit/pull/19093, I hope to add a spec citation to the code comment and commit message — citing whatever spec statement requires setting the Referer of a request initiated by a location.replace() call on an iframe |
14:14 | <annevk> | sideshowbarker: I'm pretty sure it's derived from sourceDocument. I've done an initial review and provided a pointer. |
14:30 | <sideshowbarker> | annevk: In the WebKit sources, the first parameter to all the public Location member functions is named incumbentWindow — except in the case of assign() and replace() and reload() , where for some reason it’s instead named activeWindow . But in all cases — for all those Location member functions — it seems to be the same LocalDOMWindow that’s getting passed in. |
14:31 | <sideshowbarker> | …and that gets passed on to setLocation() (in the cases of the functions that cases that lead to the location getting set) |
14:31 | <annevk> | sideshowbarker: that would suggest it's not the parent either, but it's the document itself that's the referrer, no? |
14:32 | <annevk> | sideshowbarker: matching that seems like a reasonable MVP, figuring out incumbent some unattainable v2 :p |
14:35 | <sideshowbarker> | Yeah the Location code overall doesn’t seem to map directly to the spec — it doesn’t clearly use the same abstractions as defined in the spec — so it’s it a bit hard to understand sometimes what exactly it’s operating in, in terms of the spec. |
14:37 | <sideshowbarker> | And until recently the code was not even getting the location from a Window but instead from a Frame — which appears to be what the code uses for representing a browsing context. |
15:09 | <sideshowbarker> | annevk: Now I begin to wonder if the parameters in all those Location member functions are misnamed — flipped. Specifically, the first parameter should rightly be named Does the code seem to make more sense to if it used those names? Regardless, I can see now that I need to just do |