cordova-plugin-file icon indicating copy to clipboard operation
cordova-plugin-file copied to clipboard

feat: Extend FileReader to conform with EventTarget interface

Open BendingBender opened this issue 4 years ago • 2 comments
trafficstars

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

BendingBender avatar Dec 23 '20 11:12 BendingBender