Webgl points renderer / terminates worker & dispose helper
This commit is contained in:
@@ -70,6 +70,7 @@ class WebGLLayerRenderer extends LayerRenderer {
|
|||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
disposeInternal() {
|
disposeInternal() {
|
||||||
|
this.helper.disposeInternal();
|
||||||
super.disposeInternal();
|
super.disposeInternal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -574,6 +574,14 @@ class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
|||||||
const renderCount = this.indicesBuffer_.getSize();
|
const renderCount = this.indicesBuffer_.getSize();
|
||||||
this.helper.drawElements(0, renderCount);
|
this.helper.drawElements(0, renderCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
|
disposeInternal() {
|
||||||
|
this.worker_.terminate();
|
||||||
|
super.disposeInternal();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default WebGLPointsLayerRenderer;
|
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