https://bugs.webkit.org/show_bug.cgi?id=59223
REGRESSION (r82185): iframe not displayed after navigation back to cached page

Reviewed by Maciej Stachowiak.

Manual test added.
* manual-tests/frame-layout-on-back.html: Added.
* manual-tests/resources/empty-document-goes-back.html: Added.
* manual-tests/resources/simple-iframe.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 031568b..d598827 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2011-04-22  Beth Dakin  <bdakin@apple.com>
+
+        Reviewed by Maciej Stachowiak.
+
+        https://bugs.webkit.org/show_bug.cgi?id=59223
+        REGRESSION (r82185): iframe not displayed after navigation back to cached page
+
+        Manual test added.
+        * manual-tests/frame-layout-on-back.html: Added.
+        * manual-tests/resources/empty-document-goes-back.html: Added.
+        * manual-tests/resources/simple-iframe.html: Added.
+
 2011-04-22  Yael Aharon  <yael.aharon@nokia.com>
 
         Reviewed by Sam Weinig.
diff --git a/Source/WebCore/manual-tests/frame-layout-on-back.html b/Source/WebCore/manual-tests/frame-layout-on-back.html
new file mode 100644
index 0000000..21ad445
--- /dev/null
+++ b/Source/WebCore/manual-tests/frame-layout-on-back.html
@@ -0,0 +1,30 @@
+<html>
+<head>
+<script>
+
+function navigate()
+{
+    if (location.hash == "") {
+        if (window.layoutTestController) {
+            layoutTestController.overridePreference("WebKitUsesPageCachePreferenceKey", 1);
+            layoutTestController.waitUntilDone();
+        }
+
+        history.pushState({ }, "", window.location + "#1");
+        setTimeout("window.location.href = 'resources/empty-document-goes-back.html'", 0);
+        return;
+    }
+
+    setTimeout(function () {
+        if (window.layoutTestController)
+            layoutTestController.notifyDone();
+    }, 0);
+}
+
+</script>
+</head>
+<body style="width:800px" onpageshow="navigate();">
+    <div id="result">This test passes if the iframe lays out and paints (meaning it is purple) after the test naviagtes back.</div><br/><br/>
+    <iframe id="iframe" src="resources/simple-iframe.html"></iframe>
+</body>
+</htmL>
diff --git a/Source/WebCore/manual-tests/resources/empty-document-goes-back.html b/Source/WebCore/manual-tests/resources/empty-document-goes-back.html
new file mode 100644
index 0000000..f8f15b7
--- /dev/null
+++ b/Source/WebCore/manual-tests/resources/empty-document-goes-back.html
@@ -0,0 +1,8 @@
+<html>
+<body>
+<script>
+    document.body.offsetWidth;
+    setTimeout("window.history.back();", 0);
+</script>
+</body>
+</html>
diff --git a/Source/WebCore/manual-tests/resources/simple-iframe.html b/Source/WebCore/manual-tests/resources/simple-iframe.html
new file mode 100644
index 0000000..d31caf4
--- /dev/null
+++ b/Source/WebCore/manual-tests/resources/simple-iframe.html
@@ -0,0 +1,5 @@
+<html>
+<body>
+    <div style="width:600; height:1000; background-color:purple;"></div>
+</body>
+</html>