Improve loader/go-back-cached-main-resource.html test
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 May 2013 17:16:24 +0000 (17:16 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 May 2013 17:16:24 +0000 (17:16 +0000)
https://bugs.webkit.org/show_bug.cgi?id=116709

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-05-24
Reviewed by Alexey Proskuryakov.

It is only needed to register the listeners on the initial load as they
are already present when restoring from page cache. Modified the test to
use event.persisted property to know if we are handling the first load
in order to register the listeners only once.

* loader/resources/first-page.html: Rename registerListeners() function
to a more accurate name didShowPage() and use event.persisted to
register the listeners only in the first load.
* loader/resources/other-page.html: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150645 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/loader/resources/first-page.html
LayoutTests/loader/resources/other-page.html

index f89c655..99c3706 100644 (file)
@@ -1,3 +1,20 @@
+2013-05-24  Manuel Rego Casasnovas  <rego@igalia.com>
+
+        Improve loader/go-back-cached-main-resource.html test
+        https://bugs.webkit.org/show_bug.cgi?id=116709
+
+        Reviewed by Alexey Proskuryakov.
+
+        It is only needed to register the listeners on the initial load as they
+        are already present when restoring from page cache. Modified the test to
+        use event.persisted property to know if we are handling the first load
+        in order to register the listeners only once.
+
+        * loader/resources/first-page.html: Rename registerListeners() function
+        to a more accurate name didShowPage() and use event.persisted to
+        register the listeners only in the first load.
+        * loader/resources/other-page.html: Ditto.
+
 2013-05-24  Noam Rosenthal  <noam@webkit.org>
 
         WebProcess is crashing on http://achicu.github.io/css-presentation when direct pattern compositing is enabled
index 4d2c2f3..ff5ce46 100644 (file)
@@ -1,23 +1,27 @@
 <html>
 <head>
     <script>
-    function registerListeners() {
+    function didShowPage() {
         // Notify opener.
         opener.postMessage('first-page', '*');
 
-        // Our opener will tell us to perform various loads.
-        window.addEventListener('message', function(event) {
+        // We register the listeners in the initial load (this is not needed
+        // when the page is restored from cache).
+        if (!event.persisted) {
+            // Our opener will tell us to perform various loads.
+            window.addEventListener('message', function(event) {
 
-            // Navigate to other page.
-            if (event.data === 'navigate-other-page') {
-                window.location = 'other-page.html';
-                return;
-            }
+                // Navigate to other page.
+                if (event.data === 'navigate-other-page') {
+                    window.location = 'other-page.html';
+                    return;
+                }
 
-        }, false);
+            }, false);
+        }
     }
     </script>
 </head>
-<body onpageshow="registerListeners();">
+<body onpageshow="didShowPage();">
 </body>
 </html>
index c7f746a..824795a 100644 (file)
@@ -1,29 +1,33 @@
 <html>
 <head>
     <script>
-    function registerListeners() {
+    function didShowPage() {
         // Notify opener.
         opener.postMessage('other-page', '*');
 
-        // Our opener will tell us to perform various loads.
-        window.addEventListener('message', function(event) {
+        // We register the listeners in the initial load (this is not needed
+        // when the page is restored from cache).
+        if (!event.persisted) {
+            // Our opener will tell us to perform various loads.
+            window.addEventListener('message', function(event) {
 
-            // Navigate first resource.
-            if (event.data === 'navigate-first-page') {
-                window.location = 'first-page.html';
-                return;
-            }
+                // Navigate first resource.
+                if (event.data === 'navigate-first-page') {
+                    window.location = 'first-page.html';
+                    return;
+                }
 
-            // Navigate back.
-            if (event.data === 'navigate-back') {
-                window.history.back();
-                return;
-            }
+                // Navigate back.
+                if (event.data === 'navigate-back') {
+                    window.history.back();
+                    return;
+                }
 
-        }, false);
+            }, false);
+        }
     }
     </script>
 </head>
-<body onpageshow="registerListeners();">
+<body onpageshow="didShowPage();">
 </body>
 </html>