Webgl points renderer / terminates worker & dispose helper
This commit is contained in:
@@ -70,6 +70,7 @@ class WebGLLayerRenderer extends LayerRenderer {
|
||||
* @inheritDoc
|
||||
*/
|
||||
disposeInternal() {
|
||||
this.helper.disposeInternal();
|
||||
super.disposeInternal();
|
||||
}
|
||||
|
||||
|
||||
@@ -574,6 +574,14 @@ class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
||||
const renderCount = this.indicesBuffer_.getSize();
|
||||
this.helper.drawElements(0, renderCount);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
disposeInternal() {
|
||||
this.worker_.terminate();
|
||||
super.disposeInternal();
|
||||
}
|
||||
}
|
||||
|
||||
export default WebGLPointsLayerRenderer;
|
||||
|
||||
@@ -254,4 +254,20 @@ describe('ol.renderer.webgl.PointsLayer', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('#disposeInternal', function() {
|
||||
it('terminates the worker and calls dispose on the helper', function() {
|
||||
const layer = new VectorLayer({
|
||||
source: new VectorSource()
|
||||
});
|
||||
const renderer = new WebGLPointsLayerRenderer(layer, {
|
||||
});
|
||||
|
||||
const spyHelper = sinon.spy(renderer.helper, 'disposeInternal');
|
||||
const spyWorker = sinon.spy(renderer.worker_, 'terminate');
|
||||
renderer.disposeInternal();
|
||||
expect(spyHelper.called).to.be(true);
|
||||
expect(spyWorker.called).to.be(true);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user