Bug 24644 - REGRESSION: Reload sends frame content to its default page
Summary: REGRESSION: Reload sends frame content to its default page
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Frames (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P1 Normal
Assignee: Nobody
URL: http://www.gross-kreutz.de/
Keywords: InRadar, Regression
: 28248 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-03-17 07:28 PDT by Horst Schulder
Modified: 2009-08-13 15:44 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Horst Schulder 2009-03-17 07:28:07 PDT
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.
Comment 1 Horst Schulder 2009-03-17 07:33:52 PDT
Forgot to say: This also prevents you from clearing the cache for said sub pages via reload.
Comment 2 Alexey Proskuryakov 2009-04-15 00:26:50 PDT
Confirmed with r42535.
Comment 3 Alexey Proskuryakov 2009-04-15 00:27:59 PDT
<rdar://problem/6792533>
Comment 4 Brady Eidson 2009-04-17 15:48:28 PDT
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
Comment 5 Cameron Zwarich (cpst) 2009-04-17 16:04:16 PDT
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.
Comment 6 Cameron Zwarich (cpst) 2009-04-18 20:27:34 PDT
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.
Comment 7 Cameron Zwarich (cpst) 2009-04-19 01:37:28 PDT
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.
Comment 8 Alexey Proskuryakov 2009-08-13 15:44:08 PDT
*** Bug 28248 has been marked as a duplicate of this bug. ***