2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej, landed by Brady
Bug 3580: iFrames Appear to be Cached
<http://bugs.webkit.org/show_bug.cgi?id=3580>
Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
<http://bugs.webkit.org/show_bug.cgi?id=15486>
Bug 15554: Reload causes <object> to use old data
<http://bugs.webkit.org/show_bug.cgi?id=15554>
If a page is reloaded, a child frame's URL can not be taken from a history item.
* WebView/WebFrame.mm:
(-[WebFrame _loadURL:referrer:intoChild:]):
LayoutTests:
2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>
Reviewed by Maciej, landed by Brady
Tests for the following bugs:
Bug 3580: iFrames Appear to be Cached
<http://bugs.webkit.org/show_bug.cgi?id=3580>
Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
<http://bugs.webkit.org/show_bug.cgi?id=15486>
Bug 15554: Reload causes <object> to use old data
<http://bugs.webkit.org/show_bug.cgi?id=15554>
* http/tests/navigation/reload-subframe-frame-expected.txt: Added.
* http/tests/navigation/reload-subframe-frame.html: Added.
* http/tests/navigation/reload-subframe-iframe-expected.txt: Added.
* http/tests/navigation/reload-subframe-iframe.html: Added.
* http/tests/navigation/reload-subframe-object-expected.txt: Added.
* http/tests/navigation/reload-subframe-object.html: Added.
* http/tests/navigation/resources/reload-subframe-content.pl: Added.
* http/tests/navigation/resources/reload-subframe.pl: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31264
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Reviewed by Maciej, landed by Brady
+
+ Tests for the following bugs:
+
+ Bug 3580: iFrames Appear to be Cached
+ <http://bugs.webkit.org/show_bug.cgi?id=3580>
+
+ Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
+ <http://bugs.webkit.org/show_bug.cgi?id=15486>
+
+ Bug 15554: Reload causes <object> to use old data
+ <http://bugs.webkit.org/show_bug.cgi?id=15554>
+
+ * http/tests/navigation/reload-subframe-frame-expected.txt: Added.
+ * http/tests/navigation/reload-subframe-frame.html: Added.
+ * http/tests/navigation/reload-subframe-iframe-expected.txt: Added.
+ * http/tests/navigation/reload-subframe-iframe.html: Added.
+ * http/tests/navigation/reload-subframe-object-expected.txt: Added.
+ * http/tests/navigation/reload-subframe-object.html: Added.
+ * http/tests/navigation/resources/reload-subframe-content.pl: Added.
+ * http/tests/navigation/resources/reload-subframe.pl: Added.
+
2008-03-24 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
--- /dev/null
+
+
+--------
+Frame: '<!--framePath //<!--frame0-->-->'
+--------
+Pass
--- /dev/null
+<html>
+<head>
+<script type="text/javascript">
+function startTest()
+{
+ layoutTestController.dumpAsText();
+ layoutTestController.dumpChildFramesAsText();
+ layoutTestController.queueLoad("resources/reload-subframe.pl?type=frame");
+ layoutTestController.queueReload();
+}
+</script>
+</head>
+<body onload="startTest();">
+</body>
+</html>
--- /dev/null
+
+
+--------
+Frame: '<!--framePath //<!--frame0-->-->'
+--------
+Pass
--- /dev/null
+<html>
+<head>
+<script type="text/javascript">
+function startTest()
+{
+ layoutTestController.dumpAsText();
+ layoutTestController.dumpChildFramesAsText();
+ layoutTestController.queueLoad("resources/reload-subframe.pl?type=iframe");
+ layoutTestController.queueReload();
+}
+</script>
+</head>
+<body onload="startTest();">
+</body>
+</html>
--- /dev/null
+
+
+--------
+Frame: '<!--framePath //<!--frame0-->-->'
+--------
+Pass
--- /dev/null
+<html>
+<head>
+<script type="text/javascript">
+function startTest()
+{
+ layoutTestController.dumpAsText();
+ layoutTestController.dumpChildFramesAsText();
+ layoutTestController.queueLoad("resources/reload-subframe.pl?type=object");
+ layoutTestController.queueReload();
+}
+</script>
+</head>
+<body onload="startTest();">
+</body>
+</html>
--- /dev/null
+#!/usr/bin/perl
+
+print "Content-type: text/plain\r\n";
+print "\r\n";
+
+@keypairs = split(/&/, $ENV{'QUERY_STRING'});
+
+$text = "";
+
+foreach $pair (@keypairs)
+{
+ ($name, $value) = split(/=/, $pair);
+
+ if ($name eq "text") {
+ $text = $value;
+ }
+}
+
+print $text;
--- /dev/null
+#!/usr/bin/perl
+
+print "Content-type: text/html\r\n";
+
+@keypairs = split(/&/, $ENV{'QUERY_STRING'});
+
+$type = "";
+
+foreach $pair (@keypairs)
+{
+ ($name, $value) = split(/=/, $pair);
+
+ if ($name eq "type") {
+ $type = $value;
+ }
+}
+
+print "Set-Cookie: reload-subframe-$type=1\r\n";
+print "\r\n";
+
+print "<html>";
+print "<head>";
+print "</head>";
+
+@cookies = split(/;/, $ENV{'HTTP_COOKIE'});
+
+$subframe_content = "Fail";
+
+foreach $pair (@cookies)
+{
+ ($name, $value) = split(/=/, $pair);
+
+ $name =~ s/^\s+//;
+ $name =~ s/\s+$//;
+
+ if ($name eq "reload-subframe-$type") {
+ $subframe_content = "Pass";
+ }
+}
+
+$src = "'reload-subframe-content.pl?text=$subframe_content'";
+
+if ($type eq "iframe") {
+ print "<body>";
+ print "<iframe src=$src></iframe>";
+ print "</body>";
+} elsif ($type eq "object") {
+ print "<body>";
+ print "<object data=$src></object>";
+ print "</body>";
+} else {
+ print "<frameset>";
+ print "<frame src=$src>";
+ print "</frameset>";
+}
+
+print "</html>";
+2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Reviewed by Maciej, landed by Brady
+
+ Bug 3580: iFrames Appear to be Cached
+ <http://bugs.webkit.org/show_bug.cgi?id=3580>
+
+ Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
+ <http://bugs.webkit.org/show_bug.cgi?id=15486>
+
+ Bug 15554: Reload causes <object> to use old data
+ <http://bugs.webkit.org/show_bug.cgi?id=15554>
+
+ If a page is reloaded, a child frame's URL can not be taken from a history item.
+
+ * WebView/WebFrame.mm:
+ (-[WebFrame _loadURL:referrer:intoChild:]):
+
2008-03-24 Darin Adler <darin@apple.com>
Reviewed by Beth.
// Reload will maintain the frame contents, LoadSame will not.
if (parentItem && parentItem->children().size() &&
(isBackForwardLoadType(loadType)
- || loadType == FrameLoadTypeReload
|| loadType == FrameLoadTypeReloadAllowingStaleData))
{
HistoryItem* childItem = parentItem->childItemWithName([childFrame name]);