How to reproduce: 1. Go to http://kin.naver.com/list/list_kinup.php?d1id=6&dir_id=601 2. Around the bottom of the page, there's a list of pages (1 2 3 4 5 6 ...). Click on one of them (other than '1') to go to the corresponding page. 3. If you click on '3', the url will be http://kin.naver.com/list/list_kinup.phpd1id=6&dir_id=601&sort=kinup_point& page=3 4. Click on the 2nd column from the left in the list of Q&A items with 'thumb-up' icons in the rightmost column. 5. The url will be something like this: http://kin.naver.com/detail/detail.php? d1id=6&dir_id=60101&eid=jbyUO8ElqrWTXbxk7ObSqBSon7Nxrg8Z&l_url=L2xpc3QvbGlz dF9raW51cC5waHA/ZDFpZD02JmRpcl9pZD02MDEmc29ydD1raW51cF9wb2ludCZwYWdlPTM= 6. Press 'the back button'. 7. The url in the address bar is http://kin.naver.com/list/list_kinup.phpd1id=6&dir_id=601&sort=kinup_point& page=3 Exactly the same as what you had in step 3 What's expected: In step 7, get the same page as shown in step 3 Actual result: In step 7, a blank screen is shown. Additional info : IE 7 and Firefox do not have this issue. Chrome has the same issue ( http://code.google.com/p/chromium/issues/detail?id=2189 : Chrome shows HTTP 404 error page. ). So does Safari with webkit trunk build on Mac OS 10.4.11
FYI : Naver is #1 portal in Korea with ~70% market share.
A blank page is what this server gives for the page 3 URL when loading it manually, too. Compare output of curl -i "http://kin.naver.com/list/list_kinup.php?d1id=6&dir_id=601&sort=kinup_point&page=3" --header "Referer: http://kin.naver.com/list/list_kinup.php?d1id=6&dir_id=601" and curl -i "http://kin.naver.com/list/list_kinup.php?d1id=6&dir_id=601&sort=kinup_point&page=3" So, the issue is two-fold. First, the page doesn't go to back/forward cache, that's bug 13631. Second, we don't re-send Referer header when going back involves a reload. I think that we should fix both.
Thanks for the diagnosis. So, if we go directly to 'http://kin.naver.com/list/list_kinup.php?d1id=6&dir_id=601&sort=kinup_point&page=3', we'll get 404 error. Ick ... I guess I know why Naver does that ....
Created attachment 24935 [details] Preserve the request referrer across history navigations. This patch replaces the two referrer fields in HistoryItem (m_rssFeedReferrer, m_formReferrer) with a single generic one (m_referrer). It doesn't look like the distinction was necessary. I am not sure how to write a test for this, ideas welcome (in particular how to avoid page cache in layout test?)
Page cache is currently always disabled in DumpRenderTree. There are also many examples of reasons of documents not to use it in bug 4123. But these are all bugs that need to be fixed some day.
Created attachment 25032 [details] Send referrer on history navigations. Added layout test.
Comment on attachment 25032 [details] Send referrer on history navigations. This looks good from my perspective, but I think Bradee or Anders will need to chime in. Apple will need to do an internal code search before removing the RSSReferrer methods (which could be changed to just grab referrer() (possibly conditionally on if it's an RSS url) if necessary as a crutch.
Comment on attachment 25032 [details] Send referrer on history navigations. On second thought, I would suggest *not* removing the RSSFeedReferrer methods, since that will make this harder to review. The Apple folks who maintain those APIs should take care of that. You should just fix those methods to do the right thing, and then the Apple folks can come back and remove them when they're not needed.
Created attachment 26534 [details] Send referrer on history navigations. > I would suggest *not* removing the RSSFeedReferrer methods, > since that will make this harder to review. The Apple folks who maintain those > APIs should take care of that. Done. I removed the deletion of the "rss" and "form" referrers, and marked them as deprecated instead.
Created attachment 26543 [details] Send referrer on history navigations. I had misunderstood Eric Seidel's previous comment. This time it should be what he had suggested. Do I also need to add the new symbol to WebCore.order ? Thanks!
Comment on attachment 26543 [details] Send referrer on history navigations. Apple maintains the order files. They'll get regenerated when necessary. Missing symbols from an order file just won't get sorted to the front of the linked binary. This patch looks good to me, but ideally someone from Apple would comment about if this could have unintended consequences for RSS stuff.
ping. Any feedback on this?
Comment on attachment 26543 [details] Send referrer on history navigations. This looks fine to me. r=me.
http://trac.webkit.org/changeset/40132
So, this was landed a while ago, marking as FIXED.