Remove goog.dom.ViewportSizeMonitor
This commit is contained in:
@@ -10,7 +10,6 @@ goog.require('goog.async.AnimationDelay');
|
||||
goog.require('goog.async.nextTick');
|
||||
goog.require('goog.debug.Console');
|
||||
goog.require('goog.dom');
|
||||
goog.require('goog.dom.ViewportSizeMonitor');
|
||||
goog.require('goog.dom.classlist');
|
||||
goog.require('goog.functions');
|
||||
goog.require('goog.log');
|
||||
@@ -348,17 +347,10 @@ ol.Map = function(options) {
|
||||
this.registerDisposable(this.renderer_);
|
||||
|
||||
/**
|
||||
* @type {goog.dom.ViewportSizeMonitor}
|
||||
* @type {function(Event)|undefined}
|
||||
* @private
|
||||
*/
|
||||
this.viewportSizeMonitor_ = new goog.dom.ViewportSizeMonitor();
|
||||
this.registerDisposable(this.viewportSizeMonitor_);
|
||||
|
||||
/**
|
||||
* @type {ol.events.Key}
|
||||
* @private
|
||||
*/
|
||||
this.viewportResizeListenerKey_ = null;
|
||||
this.handleResize_;
|
||||
|
||||
/**
|
||||
* @private
|
||||
@@ -580,7 +572,7 @@ ol.Map.prototype.disposeInternal = function() {
|
||||
this.handleBrowserEvent, false, this);
|
||||
if (this.handleResize_ !== undefined) {
|
||||
goog.global.removeEventListener(ol.events.EventType.RESIZE,
|
||||
this.handleResize_, false, this);
|
||||
this.handleResize_, false);
|
||||
}
|
||||
goog.dom.removeNode(this.viewport_);
|
||||
goog.base(this, 'disposeInternal');
|
||||
@@ -1064,9 +1056,10 @@ ol.Map.prototype.handleTargetChanged_ = function() {
|
||||
|
||||
if (!targetElement) {
|
||||
goog.dom.removeNode(this.viewport_);
|
||||
if (this.viewportResizeListenerKey_) {
|
||||
ol.events.unlistenByKey(this.viewportResizeListenerKey_);
|
||||
this.viewportResizeListenerKey_ = null;
|
||||
if (this.handleResize_ !== undefined) {
|
||||
goog.global.removeEventListener(ol.events.EventType.RESIZE,
|
||||
this.handleResize_);
|
||||
this.handleResize_ = undefined;
|
||||
}
|
||||
} else {
|
||||
targetElement.appendChild(this.viewport_);
|
||||
@@ -1077,10 +1070,10 @@ ol.Map.prototype.handleTargetChanged_ = function() {
|
||||
[ol.events.EventType.KEYDOWN, ol.events.EventType.KEYPRESS],
|
||||
this.handleBrowserEvent, false, this);
|
||||
|
||||
if (!this.viewportResizeListenerKey_) {
|
||||
this.viewportResizeListenerKey_ = ol.events.listen(
|
||||
this.viewportSizeMonitor_, ol.events.EventType.RESIZE,
|
||||
this.updateSize, false, this);
|
||||
if (!this.handleResize_) {
|
||||
this.handleResize_ = this.updateSize.bind(this);
|
||||
goog.global.addEventListener(ol.events.EventType.RESIZE,
|
||||
this.handleResize_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
goog.provide('ol.source.VectorTile');
|
||||
|
||||
goog.require('ol.events');
|
||||
goog.require('ol.events.EventType');
|
||||
goog.require('ol.TileState');
|
||||
goog.require('ol.VectorTile');
|
||||
goog.require('ol.events');
|
||||
|
||||
@@ -32,22 +32,6 @@
|
||||
|
||||
goog.json.USE_NATIVE_JSON = true;
|
||||
|
||||
/**
|
||||
* The goog.dom.ViewportSizeMonitor (used in map.js) creates a global leak
|
||||
* by setting goog.UID_PROPERTY_ on the monitored window. In order to test
|
||||
* that we don't have other global leaks, we preemptively set the property
|
||||
* so Mocha can compare the global before and after our tests.
|
||||
*
|
||||
* In addition, calling ol.events.listen on the global object (as done
|
||||
* in deviceorientation.js) creates a second leak by setting
|
||||
* ol.events.listenER_MAP_PROP_ on the global object.
|
||||
*
|
||||
* We preemptively set both of these properties so Mocha can compare the
|
||||
* global before and after tests. The call to ol.events.listen also
|
||||
* calls goog.getUid.
|
||||
*/
|
||||
ol.events.listen(this, 'test', function() {});
|
||||
|
||||
var runner = mocha.run();
|
||||
if (window.console && console.log) {
|
||||
// write stacks to the console for failed tests
|
||||
|
||||
@@ -211,17 +211,13 @@ describe('ol.Map', function() {
|
||||
map = new ol.Map({
|
||||
target: document.createElement('div')
|
||||
});
|
||||
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
|
||||
ol.events.EventType.RESIZE, false);
|
||||
expect(viewportResizeListeners).to.have.length(1);
|
||||
expect(map.handleResize_).to.be.ok();
|
||||
});
|
||||
|
||||
describe('call setTarget with null', function() {
|
||||
it('unregisters the viewport resize listener', function() {
|
||||
map.setTarget(null);
|
||||
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
|
||||
ol.events.EventType.RESIZE, false);
|
||||
expect(viewportResizeListeners).to.have.length(0);
|
||||
expect(map.handleResize_).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -229,9 +225,7 @@ describe('ol.Map', function() {
|
||||
it('registers a viewport resize listener', function() {
|
||||
map.setTarget(null);
|
||||
map.setTarget(document.createElement('div'));
|
||||
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
|
||||
ol.events.EventType.RESIZE, false);
|
||||
expect(viewportResizeListeners).to.have.length(1);
|
||||
expect(map.handleResize_).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -401,7 +395,6 @@ describe('ol.Map', function() {
|
||||
|
||||
goog.require('goog.dispose');
|
||||
goog.require('goog.dom');
|
||||
goog.require('ol.events.EventType');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.MapEvent');
|
||||
goog.require('ol.Overlay');
|
||||
|
||||
@@ -28,22 +28,6 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
/**
|
||||
* The goog.dom.ViewportSizeMonitor (used in map.js) creates a global leak
|
||||
* by setting goog.UID_PROPERTY_ on the monitored window. In order to test
|
||||
* that we don't have other global leaks, we preemptively set the property
|
||||
* so Mocha can compare the global before and after our tests.
|
||||
*
|
||||
* In addition, calling ol.events.listen on the global object (as done
|
||||
* in deviceorientation.js) creates a second leak by setting
|
||||
* ol.events.listenER_MAP_PROP_ on the global object.
|
||||
*
|
||||
* We preemptively set both of these properties so Mocha can compare the
|
||||
* global before and after tests. The call to ol.events.listen also
|
||||
* calls goog.getUid.
|
||||
*/
|
||||
ol.events.listen(this, 'test', function() {});
|
||||
|
||||
var errors = [];
|
||||
var runner = mocha.run(function(evt) {
|
||||
if (window.callPhantom) {
|
||||
|
||||
Reference in New Issue
Block a user