From cd719ffb3455e2ab3220b37c8de51a87b86bd2cd Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Tue, 15 Jun 2021 20:30:43 +0200 Subject: [PATCH] Avoid infinite source tile cache size --- src/ol/source/VectorTile.js | 3 +++ test/browser/spec/ol/source/vectortile.test.js | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/ol/source/VectorTile.js b/src/ol/source/VectorTile.js index acc23ca846..fc3ee620c7 100644 --- a/src/ol/source/VectorTile.js +++ b/src/ol/source/VectorTile.js @@ -471,6 +471,9 @@ class VectorTile extends UrlTile { */ updateCacheSize(tileCount, projection) { super.updateCacheSize(tileCount * 2, projection); + this.sourceTileCache.highWaterMark = this.getTileCacheForProjection( + projection + ).highWaterMark; } } diff --git a/test/browser/spec/ol/source/vectortile.test.js b/test/browser/spec/ol/source/vectortile.test.js index cc80dbf9dc..949c1f0e59 100644 --- a/test/browser/spec/ol/source/vectortile.test.js +++ b/test/browser/spec/ol/source/vectortile.test.js @@ -309,6 +309,18 @@ describe('ol.source.VectorTile', function () { done(); }, 0); }); + + it('adjusts the tile cache size', function (done) { + map.renderSync(); + setTimeout(function () { + expect( + source.getTileCacheForProjection(map.getView().getProjection()) + .highWaterMark + ).to.be(2); + expect(source.sourceTileCache.highWaterMark).to.be(2); + done(); + }, 0); + }); }); it('does not fill up the tile queue', function (done) {