Don't expose nonstandard FileSystem API to Service Workers
Chrome's FileSystem API is deprecated/nonstandard and we should not
expose it to new contexts like Service Workers.
The fix ended up being a bit involved:
* [Exposed] can't be used on members of partial interfaces defined in
modules/ when the base interface is in core/ (see
https://goo.gl/DfPWTV)
* So instead split WorkerFileSystemGlobalScope into DedicateWorker...
and SharedWorker... versions.
* But that revealed a subtle bindings generator bug where an unused
function would be generated for
WorkerGlobalScopeConstructorAttributeSetterCallback due to the
FileErrorConstructor attribute disappearing from WorkerGlobalScope. So
fix that.
* And that pointed out that the FileErrorConstructor shouldn't be
exposed that way anyway, so expose that with [Exposed=(Window,Worker)]
instead.
* ... which correctly removes it from the CompositorWorker, which
shouldn't have inherited it anyway because it has
[Global=CompositorWorker]
BUG=
584052
Committed:
https://crrev.com/8da767715a0035b7cd47e0cc8336c46db89295c7
Cr-Commit-Position: refs/heads/master@{#373842}