Bug 24644
Summary: | REGRESSION: Reload sends frame content to its default page | ||
---|---|---|---|
Product: | WebKit | Reporter: | Horst Schulder <horst> |
Component: | Frames | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | bdakin, beidson, igd, zwarich |
Priority: | P1 | Keywords: | InRadar, Regression |
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All | ||
URL: | http://www.gross-kreutz.de/ |
Horst Schulder
When browsing a framed website and reloading, the default pages are loaded, no matter which sub page one actually was on. This does not happen in Safari 3.2, but in the nightly builds and Safari 4 beta.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Horst Schulder
Forgot to say: This also prevents you from clearing the cache for said sub pages via reload.
Alexey Proskuryakov
Confirmed with r42535.
Alexey Proskuryakov
<rdar://problem/6792533>
Brady Eidson
Using old archives I had lying around, I know this broke between 31249 and 31267.
Looking at each change in that range, this seems almost certainly to be caused by http://trac.webkit.org/changeset/31264
Cameron Zwarich (cpst)
I'll take a look at this and see if I can come up with a solution that fixes all of the relevant bugs. Thanks for checking old builds Brady.
Cameron Zwarich (cpst)
This is the reverse of bug 3580. We explicitly chose this behaviour to match other browsers. However, on this page, we are doing the opposite of other browsers, even the version I tested at the time for bug 3580.
The original bug and this bug are probably separate cases that should be handled differently. Firefox and Opera do as this bug describes in this case. I'll look at the old test cases for bug 3580, see what other browsers do, and see what is different. I landed a number of tests for some of the undesirable consequences of our old code, and that should help writing any patch.
Cameron Zwarich (cpst)
My first test case is a local HTML file with a single iframe. I navigate inside of the iframe and reload the page.
Firefox (3.0 / 3.1 beta): reloads the navigated-to content (shift-reload reloads the original page)
Opera (9.64 / 10 alpha): reloads the original content
WebKit: reloads the original content
I would argue that the desired behaviour here is to reload the navigated-to content, with shift-reload to reload the original page.
My second test case is a non-local HTML file with a single iframe. I navigate inside of the iframe and reload the page.
Firefox (3.0 / 3.1 beta): reloads the navigated-to content (shift-reload reloads the original page)
Opera (9.64 / 10 alpha): reloads the original content
WebKit: reloads the original content
Like the above, I would argue that the desired behaviour here is to reload the navigated-to content, with shift-reload to reload the original page.
My third test case is a local HTML file with a single iframe. I modify the file and change the src of the iframe and reload the page.
Firefox (3.0 / 3.1 beta): reloads the original page (shift-reload reloads the new page)
Opera (9.64 / 10 alpha): loads the new page
WebKit: loads the new page
I would argue that the desired behaviour here is to load the new page.
My fourth test case is a non-local HTML file with a single iframe. I modify the file and change the src of the iframe and reload the page.
Firefox (3.0 / 3.1 beta): reloads the original page (shift-reload reloads the new page)
Opera (9.64 / 10 alpha): loads the new page
WebKit: loads the new page
I would argue that the desired behaviour here is to load the new page.
My fifth test case is this:
http://hachi.kuiki.net/bug_reports/20070706-webkit-iframe-src/demo.pl
It randomly changes three iframes between three possible pages, each of which also changes randomly.
Firefox (3.0 / 3.1 beta): loads the new pages
Opera (9.64 / 10 alpha): loads the new pages
WebKit: loads the new pages
I would argue that the desired behaviour is to load the new pages. I don't understand how FF reloads here but doesn't reload on my previous example. There are some addiitonal headers on that demo page, but I don't think they would really be the cause.
I'll try some other examples involving framesets. Opera shares WebKit's behaviour on iframes, but it differs for framesets.
Alexey Proskuryakov
*** Bug 28248 has been marked as a duplicate of this bug. ***