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><head><metacharset=utf-8><scripttype="application/javascript"src="../testharness.js"></script><scripttype="application/javascript"src="../testharnessreport.js"></script><scripttype="application/javascript"src="../testcommon.js"></script></head><body><ahref="https://bugzilla.mozilla.org/show_bug.cgi?id=1414674"target="_blank">Mozilla Bug 1414674</a><divid="log"></div><iframeid="iframe"src="http://example.org/tests/dom/animation/test/chrome/file_animate_xrays.html"></iframe><script>'use strict';varwin=document.getElementById('iframe').contentWindow;async_test(function(t){window.addEventListener('load',t.step_func(function(){vartarget=win.document.getElementById('target');vareffect=newwin.KeyframeEffect(target,[{opacity:1,offset:0},{opacity:0,offset:1},],{duration:100*MS_PER_SEC,fill:"forwards"});// The frames object should be accessible via x-ray.varframes=effect.getKeyframes();assert_equals(frames.length,2,"frames for KeyframeEffect ctor should be non-zero");assert_equals(frames[0].opacity,"1","first frame opacity for KeyframeEffect ctor should be specified value");assert_equals(frames[0].computedOffset,0,"first frame offset for KeyframeEffect ctor should be 0");assert_equals(frames[1].opacity,"0","last frame opacity for KeyframeEffect ctor should be specified value");assert_equals(frames[1].computedOffset,1,"last frame offset for KeyframeEffect ctor should be 1");varanimation=newwin.Animation(effect,document.timeline);animation.play();t.done();}));},'Calling KeyframeEffect() ctor across x-rays');</script></body>