<!DOCTYPE HTML> <html> <head> <title>Test for Bug 1041200</title> <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/WindowSnapshot.js"></script> <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/paint_listener.js"></script> </head> <body> <iframe style="width:700px; height:500px; margin-top:200px;" id="ourFrame"></iframe> <script> var SpecialPowers = window.opener.wrappedJSObject.SpecialPowers; var SimpleTest = window.opener.wrappedJSObject.SimpleTest; var ok = window.opener.wrappedJSObject.ok; var info = window.opener.wrappedJSObject.info; var viewer = SpecialPowers.wrap(ourFrame).contentWindow .QueryInterface(SpecialPowers.Ci.nsIInterfaceRequestor) .getInterface(SpecialPowers.Ci.nsIWebNavigation) .QueryInterface(SpecialPowers.Ci.nsIDocShell) .contentViewer; viewer.fullZoom = 2; SimpleTest.waitForExplicitFinish(); window.onload = function() { window.waitForAllPaintsFlushed(function () { // Supply random key to ensure load actually happens ourFrame.src = "data:text/html,<body onload='parent.childLoaded()' style='background:lime'><p>Hello<p>Hello<p>Hello<p>Hello<p>Hello<p>" + Math.random(); }, document.getElementById("ourFrame").contentDocument); }; window.childLoaded = function() { setTimeout(function() { window.waitForAllPaintsFlushed(function(x1, y1, x2, y2) { ok(x2 - x1 >= 700 && y2 - y1 >= 500, "expected to see invalidate of entire frame, got " + [x1,y1,x2,y2].join(',')); SimpleTest.finish(); window.close(); }); }, 0); }; </script>