dom/plugins/test/mochitest/test_positioning.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

michael@0 1 <!DOCTYPE html>
michael@0 2 <html>
michael@0 3 <head>
michael@0 4 <title>Test whether windowless plugins receive correct visible/invisible notifications.</title>
michael@0 5 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
michael@0 6 <script type="text/javascript" src="utils.js"></script>
michael@0 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
michael@0 8
michael@0 9 <style type="text/css">
michael@0 10 body {
michael@0 11 height: 10000px;
michael@0 12 }
michael@0 13 </style>
michael@0 14
michael@0 15 <body onload="startTest()">
michael@0 16 <p id="display"></p>
michael@0 17
michael@0 18 <script type="application/javascript;version=1.8">
michael@0 19 SimpleTest.waitForExplicitFinish();
michael@0 20 setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);
michael@0 21
michael@0 22 var p = null;
michael@0 23
michael@0 24 function startTest() {
michael@0 25 p = document.getElementById('theplugin');
michael@0 26
michael@0 27 // Wait for the plugin to have painted once
michael@0 28 var interval = setInterval(function() {
michael@0 29 if (!p.getPaintCount())
michael@0 30 return;
michael@0 31
michael@0 32 clearInterval(interval);
michael@0 33 doScroll();
michael@0 34 }, 100);
michael@0 35 }
michael@0 36
michael@0 37 const kScrollAmount = 1000;
michael@0 38 var startY;
michael@0 39
michael@0 40 function doScroll() {
michael@0 41 let [x, y, w, h] = p.getWindowPosition();
michael@0 42 startY = y;
michael@0 43
michael@0 44 scrollBy(0, kScrollAmount);
michael@0 45 setTimeout(checkScroll, 500);
michael@0 46 }
michael@0 47
michael@0 48 function checkScroll() {
michael@0 49 let [x, y, w, h] = p.getWindowPosition();
michael@0 50
michael@0 51 is(y, startY - kScrollAmount, "Window should be informed of its new position.");
michael@0 52 SimpleTest.finish();
michael@0 53 }
michael@0 54 </script>
michael@0 55
michael@0 56 <embed id="theplugin" type="application/x-test" width="200" height="200"></embed>

mercurial