This is a weird one (redux)...
Contact emails
Spec
https://wicg.github.io/entries-api/ - retroactively documents the now de facto standard.
Summary
The API was implemented in Chrome years ago following parts of the (now deprecated) File API: Directories and System (https://dev.w3.org/2009/dap/file-system/file-dir-sys.html). Both Microsoft Edge and Mozilla Firefox are implementing the subsets documented in "File and Directory Entries API" for compatibility with Chrome in supporting "Directory Upload" scenarios (think: Drive, OneDrive, DropBox, etc). The types as implemented in Chrome are:
One particular oddness is present in the Chrome implementation: the types are marked as [NoInterfaceObject]. That means you can't write code referring to the type (e.g. `e instanceof FileEntry`, `FileEntry.prototype.xyz`, etc). This is an anomaly for modern APIs on the platform, where types (even without constructors) are exposed on the global namespace.
The types have been implemented since 2012 or so.
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Demo link
Nope. (There's probably something up on HTML5Rocks that demos the types, but the [NoInterfaceObject] thing/instanceof tests are not terribly exciting on their own)
Interoperability and Compatibility Risk
Compat:
The risk is that adding these names to the global namespace breaks pages - e.g. relying on window.FileSystem *not* existing.
HTTPArchive (2016-08-01) turns up:
There is literally one unique hit each for "window.FileSystem" and "var FileSystem" and they look safe in context. ("FileSystem" on its own is a common phrase so I didn't bother looking for that in isolation). Full details are in [2]
Note that the current names are not visible to script except via incantations such as `Object.prototype.toString.call(e)`
Interop:
There are signals on [2] that if Chrome goes ahead with this change that Gecko and Edge will follow.
OWP launch tracking bug
TBD (will file if this gets approved)
Entry on the feature dashboard
TBD (will file if this gets approved)
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
LGTM2
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
LGTM2
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org
<mailto:blink-dev+unsubscribe@chromium.org>.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.