d6bb9b40b0
* feat: add blinkUtils module with getPathForFile method This is designed to replace the File.path augmentation we currently have in place to allow apps to get the filesystem path for a file that blink has a representation of. File.path is non-standard and messes with certain websites, using a method like this is effectively 0-cost and removes one of the final deviations we have with web standards. * add error * refactor: update per PR feedback * chore: update patches * oops * chore: update patches * chore: update patches * feat: add blinkUtils module with getPathForFile method This is designed to replace the File.path augmentation we currently have in place to allow apps to get the filesystem path for a file that blink has a representation of. File.path is non-standard and messes with certain websites, using a method like this is effectively 0-cost and removes one of the final deviations we have with web standards. * add error * refactor: update per PR feedback * chore: update patches * oops * chore: update patches * chore: update patches * chore: update patches * fix: provide isolate to WebBlob::FromV8Value * chore: add tests * build: fix depshash mismatch on arm64 macOS --------- Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
26 lines
967 B
Markdown
26 lines
967 B
Markdown
# webUtils
|
|
|
|
> A utility layer to interact with Web API objects (Files, Blobs, etc.)
|
|
|
|
Process: [Renderer](../glossary.md#renderer-process)
|
|
|
|
## Methods
|
|
|
|
The `webUtils` module has the following methods:
|
|
|
|
### `webUtils.getPathForFile(file)`
|
|
|
|
* `file` File - A web [File](https://developer.mozilla.org/en-US/docs/Web/API/File) object.
|
|
|
|
Returns `string` - The file system path that this `File` object points to. In the case where the object passed in is not a `File` object an exception is thrown. In the case where the File object passed in was constructed in JS and is not backed by a file on disk an empty string is returned.
|
|
|
|
This method superceded the previous augmentation to the `File` object with the `path` property. An example is included below.
|
|
|
|
```js
|
|
// Before
|
|
const oldPath = document.querySelector('input').files[0].path
|
|
|
|
// After
|
|
const { webUtils } = require('electron')
|
|
const newPath = webUtils.getPathForFile(document.querySelector('input').files[0])
|
|
```
|