Given I am on "bar.html", and I run following javascript: history.pushState( {}, "page1", "foo.html"); history.back(); // going back to "bar.html" location.href = "fuffy.html"; The fuffy.html will be requested with "referer: foo.html" header, even though request is originating from "bar.html".
If you use the browser's back button (instead history.back()), the outcome is the same.
Nifty.
looks like history.back() doesn't properly update FrameLoader::m_outgoingReferrer
Created attachment 140201 [details] Patch
Comment on attachment 140201 [details] Patch Clearing flags on attachment: 140201 Committed r116113: <http://trac.webkit.org/changeset/116113>
All reviewed patches have been landed. Closing bug.
I'm total newb and this was my first bug report.. so i have no clue what is going on here :) Is there any js snippet that I can inject to make this work for older webkit browsers? I use this feature in production and this bug makes it impossible. I'd need to manually pass referrer everywhere..
I think history.replaceState(history.state, "", ""); after the popstate event triggered by history.back(); should set the correct referrer on older webkits, but I haven't tried it.
I've tried it.. but unfortunately it doesn't work :( Any other ideas? (In reply to comment #8) > I think history.replaceState(history.state, "", ""); after the popstate event triggered by history.back(); should set the correct referrer on older webkits, but I haven't tried it.