Revert "Bug 1977690 - Remove unused AppRequestInterceptor in androidTests r=aaronmt" for causing fenix-debug failures.
This reverts commit bc9dc5f4296482e17560627acaacd2797e462211.
<!DOCTYPE HTML><html><!--https://bugzilla.mozilla.org/show_bug.cgi?id=1162990--><head><metacharset="utf-8"><title>Test for Bug 1162990</title><metaname="author"content="Maksim Lebedev"/><scriptsrc="/tests/SimpleTest/SimpleTest.js"></script><scriptsrc="/tests/SimpleTest/EventUtils.js"></script><linkrel="stylesheet"type="text/css"href="/tests/SimpleTest/test.css"/><style>div#basket{background:red;padding:10px;margin:10px;}div#target{background:lightgreen;padding:10px;margin:10px;}div#child{background:lightblue;padding:10px;margin:10px;}div#listener{background:yellow;padding:10px;margin:10px;}</style><scripttype="application/javascript">varbasket;vartarget;varchild;varlistener;vartest_basketLeave=0;vartest_targetGotCapture=0;vartest_targetLostCapture=0;vartest_targetLeave=0;vartest_childLeave=0;vartest_listenerDown=0;vartest_listenerLeave=0;functionbasketLeaveHandler(event){logger("basket: "+event.type);test_basketLeave++;}functiontargetGotHandler(event){logger("target: "+event.type);test_targetGotCapture++;}functiontargetLostHandler(event){logger("target: "+event.type);test_targetLostCapture++;}functiontargetLeaveHandler(event){logger("target: "+event.type);test_targetLeave++;}functionchildLeaveHandler(event){logger("child: "+event.type);test_childLeave++;}functionlistenerDownHandler(event){logger("listener: "+event.type);target.setPointerCapture(event.pointerId);test_listenerDown++;}functionlistenerLeaveHandler(event){logger("listener: "+event.type);test_listenerLeave++;}functionprepareTest(){SimpleTest.executeSoon(executeTest);}functionsetEventHandlers(){basket=document.getElementById("basket");target=document.getElementById("target");child=document.getElementById("child");listener=document.getElementById("listener");basket.addEventListener("pointerleave",basketLeaveHandler);target.addEventListener("gotpointercapture",targetGotHandler);target.addEventListener("lostpointercapture",targetLostHandler);target.addEventListener("pointerleave",targetLeaveHandler);child.addEventListener("pointerleave",childLeaveHandler);listener.addEventListener("pointerdown",listenerDownHandler);listener.addEventListener("pointerleave",listenerLeaveHandler);}functionexecuteTest(){synthesizeMouse(document.querySelector("a"),0,0,{type:"mousemove"});logger("executeTest");setEventHandlers();varrectCd=child.getBoundingClientRect();varrectLr=listener.getBoundingClientRect();synthesizeMouse(listener,rectLr.width/3,rectLr.height/2,{type:"mousedown"});synthesizeMouse(child,rectCd.width/3,rectCd.height/2,{type:"mousemove"});synthesizeMouse(listener,rectLr.width/3,rectLr.height/2,{type:"mousemove"});synthesizeMouse(child,rectCd.width/3,rectCd.height/2,{type:"mousemove"});synthesizeMouse(listener,rectLr.width/3,rectLr.height/2,{type:"mousemove"});synthesizeMouse(listener,rectLr.width/3,rectLr.height/2,{type:"mouseup"});synthesizeMouse(listener,rectLr.width/3,rectLr.height/3,{type:"mousemove"});finishTest();}functionfinishTest(){parent.is(test_basketLeave,1,"Part1: basket should receive pointerleave event after pointer capturing");parent.is(test_targetGotCapture,1,"Part1: target should receive gotpointercapture event");parent.is(test_targetLostCapture,1,"Part1: target should receive lostpointercapture event");parent.is(test_targetLeave,1,"Part1: target should receive pointerleave event only one time");parent.is(test_childLeave,0,"Part1: child should not receive pointerleave event after pointer capturing");parent.is(test_listenerDown,1,"Part1: listener should receive pointerdown event");parent.is(test_listenerLeave,1,"Part1: listener should receive pointerleave event only one time");logger("finishTest");parent.finishTest();}functionlogger(message){varlog=document.getElementById('log');log.innerHTML=message+"<br>"+log.innerHTML;}</script></head><bodyonload="prepareTest()"><atarget="_blank"href="https://bugzilla.mozilla.org/show_bug.cgi?id=1162990">Mozilla Bug 1162990 Test 1</a><pid="display"></p><divid="content"style="display: none"></div><divid="basket">div id=basket<divid="target">div id=target<divid="child">div id=child</div></div></div><divid="listener">div id=listener</div><preid="log"></pre></body></html>