cordova-plugin-file
cordova-plugin-file copied to clipboard
feat: Extend FileReader to conform with EventTarget interface
Platforms affected
All.
Motivation and Context
Currently, cordova-plugin-file's FileReader doesn't correctly implement the EventTarget interface. What works are listeners attached via on[event] properties, like onloadend. What doesn't work are listeners attached via addEventListener('loadend', ...), they are simply never called.
Some libraries depend upon FileReader to implement the EventTarget interface. One such library is the Elm File package, it attaches events to FileReader via addEventListener('loadend', ...) (see https://github.com/elm/file/blob/1.0.5/src/Elm/Kernel/File.js#L155).
Description
The implmentations of FileReader was changed so that events attached via EventTarget's addEventListener() method are called just like the listeners attached via on[event] properties.
Testing
This change has been in our Cordova app in production for a while, without negative effects.
Checklist
- [x] I've run the tests to see all new and existing tests pass
- [ ] I added automated test coverage as appropriate for this change
- [ ] Commit is prefixed with
(platform)if this change only applies to one platform (e.g.(android)) - [ ] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct keyword to close issues using keywords)
- [ ] I've updated the documentation if necessary