Bug 1973726 - Set DOM file path for webkitRelativePath. r=sefeng,geckoview-reviewers,webidl,smaug,ohall
Actually, there is no way to set webkitRelativePath from JavaScript.
Since GeckoView's folder picker handles virtual file data, we need to
set relative path from JavaScript directly.
A content URI of System storage document provider only allow file data
access from file/folder picker, so there is no way to test it on
geckoivew-junit.
Also, after landing bug 1591640, GVE always crash when using folder
picker. So this includes a fix for it.
Differential Revision: https://phabricator.services.mozilla.com/D255615
<!DOCTYPE html><metacharset="utf-8"><title>TestDriver actions: two touch points with one moving one pause</title><scriptsrc="/resources/testharness.js"></script><scriptsrc="/resources/testharnessreport.js"></script><scriptsrc="/resources/testdriver.js"></script><scriptsrc="/resources/testdriver-actions.js"></script><scriptsrc="/resources/testdriver-vendor.js"></script><scriptsrc="touchEvents.js"></script><style>div#test1{position:fixed;touch-action:none;top:0;left:0;width:100px;height:100px;background-color:blue;}</style><divid="test1"></div><script>promise_test(asynct=>{lettest1=document.getElementById("test1");constevents=[];addPointerEventListeners(t,test1,events);awaitnewtest_driver.Actions().addPointer("touchPointer1","touch").addPointer("touchPointer2","touch").pointerMove(0,0,{origin:test1,sourceName:"touchPointer1"}).pointerMove(10,0,{origin:test1,sourceName:"touchPointer2"}).pointerDown({sourceName:"touchPointer1"}).pointerDown({sourceName:"touchPointer2"}).pointerUp({sourceName:"touchPointer1"}).pointerMove(10,10,{origin:test1,sourceName:"touchPointer2"}).pointerUp({sourceName:"touchPointer2"}).send();constexpected=[{type:"pointerdown",pointerId:2,clientX:50,clientY:50},{type:"pointerdown",pointerId:3,clientX:60,clientY:50},{type:"pointerup",pointerId:2},{type:"pointermove",pointerId:3,clientX:60,clientY:60},{type:"pointerup",pointerId:3}];assert_equals(events.length,expected.length,"Expected number of events");for(leti=0;i<expected.length;i++){eventEquals(events[i],expected[i]);}});</script>