Merge pull request #9789 from ahocevar/decode-if-src-only

Use Image.prototype.decode only when src is already set
This commit is contained in:
Andreas Hocevar
2019-07-22 09:18:56 +02:00
committed by GitHub
2 changed files with 12 additions and 1 deletions

View File

@@ -159,7 +159,7 @@ class ImageWrapper extends ImageBase {
export function listenImage(image, loadHandler, errorHandler) {
const img = /** @type {HTMLImageElement} */ (image);
if (IMAGE_DECODE) {
if (img.src && IMAGE_DECODE) {
const promise = img.decode();
let listening = true;
const unlisten = function() {

View File

@@ -21,6 +21,17 @@ describe('HTML Image loading', function() {
}, 200);
});
it('handles load event when src is set later', function(done) {
listenImage(img, handleLoad, handleError);
img.src = 'spec/ol/data/dot.png';
setTimeout(function() {
expect(handleLoad).to.be.called();
expect(handleError).not.to.be.called();
done();
}, 200);
});
it('handles error event', function(done) {
img.src = 'invalid.jpeg';
listenImage(img, handleLoad, handleError);