| <!DOCTYPE html> |
| <html> |
| <head> |
| <script> |
| function runTest() |
| { |
| var test = [ |
| '<!DOCTYPE html>', |
| '<html>', |
| '<iframe srcdoc="<script>', |
| ' window.onfocus = function() {', |
| ' window.onblur = function () { alert(/iframe blurred/); };', |
| ' window.top.onfocus = function () { alert(/main frame focused/); };', |
| ' window.top.history.back();', |
| ' };', |
| ' window.focus();', |
| ' <' + '/script>">', |
| '</iframe>', |
| '</html>', |
| ].join(""); |
| window.location.href = "data:text/html," + test; |
| } |
| |
| window.onpageshow = function (pageTransitionEvent) |
| { |
| if (pageTransitionEvent.persisted) { |
| // Navigated back to this page |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } else { |
| // Newly loaded |
| if (window.testRunner) { |
| testRunner.overridePreference("WebKitUsesPageCachePreferenceKey", 1); |
| testRunner.dumpAsText(); |
| testRunner.dumpBackForwardList(); |
| testRunner.waitUntilDone(); |
| } |
| window.setTimeout(runTest, 0); // Navigate on a zero timer to create a history entry. |
| } |
| } |
| </script> |
| </head> |
| <body> |
| <p>This test PASSED if there is no assertion failure and you see two JavaScript alerts with messages "iframe blurred" and "main frame focused" in order. Otherwise, it FAILED.</p> |
| </body> |
| </html> |