Remove goog.dom.ViewportSizeMonitor
This commit is contained in:
+11
-18
@@ -10,7 +10,6 @@ goog.require('goog.async.AnimationDelay');
|
|||||||
goog.require('goog.async.nextTick');
|
goog.require('goog.async.nextTick');
|
||||||
goog.require('goog.debug.Console');
|
goog.require('goog.debug.Console');
|
||||||
goog.require('goog.dom');
|
goog.require('goog.dom');
|
||||||
goog.require('goog.dom.ViewportSizeMonitor');
|
|
||||||
goog.require('goog.dom.classlist');
|
goog.require('goog.dom.classlist');
|
||||||
goog.require('goog.functions');
|
goog.require('goog.functions');
|
||||||
goog.require('goog.log');
|
goog.require('goog.log');
|
||||||
@@ -348,17 +347,10 @@ ol.Map = function(options) {
|
|||||||
this.registerDisposable(this.renderer_);
|
this.registerDisposable(this.renderer_);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {goog.dom.ViewportSizeMonitor}
|
* @type {function(Event)|undefined}
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
this.viewportSizeMonitor_ = new goog.dom.ViewportSizeMonitor();
|
this.handleResize_;
|
||||||
this.registerDisposable(this.viewportSizeMonitor_);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @type {ol.events.Key}
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
this.viewportResizeListenerKey_ = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
@@ -580,7 +572,7 @@ ol.Map.prototype.disposeInternal = function() {
|
|||||||
this.handleBrowserEvent, false, this);
|
this.handleBrowserEvent, false, this);
|
||||||
if (this.handleResize_ !== undefined) {
|
if (this.handleResize_ !== undefined) {
|
||||||
goog.global.removeEventListener(ol.events.EventType.RESIZE,
|
goog.global.removeEventListener(ol.events.EventType.RESIZE,
|
||||||
this.handleResize_, false, this);
|
this.handleResize_, false);
|
||||||
}
|
}
|
||||||
goog.dom.removeNode(this.viewport_);
|
goog.dom.removeNode(this.viewport_);
|
||||||
goog.base(this, 'disposeInternal');
|
goog.base(this, 'disposeInternal');
|
||||||
@@ -1064,9 +1056,10 @@ ol.Map.prototype.handleTargetChanged_ = function() {
|
|||||||
|
|
||||||
if (!targetElement) {
|
if (!targetElement) {
|
||||||
goog.dom.removeNode(this.viewport_);
|
goog.dom.removeNode(this.viewport_);
|
||||||
if (this.viewportResizeListenerKey_) {
|
if (this.handleResize_ !== undefined) {
|
||||||
ol.events.unlistenByKey(this.viewportResizeListenerKey_);
|
goog.global.removeEventListener(ol.events.EventType.RESIZE,
|
||||||
this.viewportResizeListenerKey_ = null;
|
this.handleResize_);
|
||||||
|
this.handleResize_ = undefined;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
targetElement.appendChild(this.viewport_);
|
targetElement.appendChild(this.viewport_);
|
||||||
@@ -1077,10 +1070,10 @@ ol.Map.prototype.handleTargetChanged_ = function() {
|
|||||||
[ol.events.EventType.KEYDOWN, ol.events.EventType.KEYPRESS],
|
[ol.events.EventType.KEYDOWN, ol.events.EventType.KEYPRESS],
|
||||||
this.handleBrowserEvent, false, this);
|
this.handleBrowserEvent, false, this);
|
||||||
|
|
||||||
if (!this.viewportResizeListenerKey_) {
|
if (!this.handleResize_) {
|
||||||
this.viewportResizeListenerKey_ = ol.events.listen(
|
this.handleResize_ = this.updateSize.bind(this);
|
||||||
this.viewportSizeMonitor_, ol.events.EventType.RESIZE,
|
goog.global.addEventListener(ol.events.EventType.RESIZE,
|
||||||
this.updateSize, false, this);
|
this.handleResize_);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
goog.provide('ol.source.VectorTile');
|
goog.provide('ol.source.VectorTile');
|
||||||
|
|
||||||
goog.require('ol.events');
|
|
||||||
goog.require('ol.events.EventType');
|
|
||||||
goog.require('ol.TileState');
|
goog.require('ol.TileState');
|
||||||
goog.require('ol.VectorTile');
|
goog.require('ol.VectorTile');
|
||||||
goog.require('ol.events');
|
goog.require('ol.events');
|
||||||
|
|||||||
@@ -32,22 +32,6 @@
|
|||||||
|
|
||||||
goog.json.USE_NATIVE_JSON = true;
|
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();
|
var runner = mocha.run();
|
||||||
if (window.console && console.log) {
|
if (window.console && console.log) {
|
||||||
// write stacks to the console for failed tests
|
// write stacks to the console for failed tests
|
||||||
|
|||||||
@@ -211,17 +211,13 @@ describe('ol.Map', function() {
|
|||||||
map = new ol.Map({
|
map = new ol.Map({
|
||||||
target: document.createElement('div')
|
target: document.createElement('div')
|
||||||
});
|
});
|
||||||
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
|
expect(map.handleResize_).to.be.ok();
|
||||||
ol.events.EventType.RESIZE, false);
|
|
||||||
expect(viewportResizeListeners).to.have.length(1);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('call setTarget with null', function() {
|
describe('call setTarget with null', function() {
|
||||||
it('unregisters the viewport resize listener', function() {
|
it('unregisters the viewport resize listener', function() {
|
||||||
map.setTarget(null);
|
map.setTarget(null);
|
||||||
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
|
expect(map.handleResize_).to.be(undefined);
|
||||||
ol.events.EventType.RESIZE, false);
|
|
||||||
expect(viewportResizeListeners).to.have.length(0);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -229,9 +225,7 @@ describe('ol.Map', function() {
|
|||||||
it('registers a viewport resize listener', function() {
|
it('registers a viewport resize listener', function() {
|
||||||
map.setTarget(null);
|
map.setTarget(null);
|
||||||
map.setTarget(document.createElement('div'));
|
map.setTarget(document.createElement('div'));
|
||||||
var viewportResizeListeners = map.viewportSizeMonitor_.getListeners(
|
expect(map.handleResize_).to.be.ok();
|
||||||
ol.events.EventType.RESIZE, false);
|
|
||||||
expect(viewportResizeListeners).to.have.length(1);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -401,7 +395,6 @@ describe('ol.Map', function() {
|
|||||||
|
|
||||||
goog.require('goog.dispose');
|
goog.require('goog.dispose');
|
||||||
goog.require('goog.dom');
|
goog.require('goog.dom');
|
||||||
goog.require('ol.events.EventType');
|
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.MapEvent');
|
goog.require('ol.MapEvent');
|
||||||
goog.require('ol.Overlay');
|
goog.require('ol.Overlay');
|
||||||
|
|||||||
@@ -28,22 +28,6 @@
|
|||||||
|
|
||||||
<script type="text/javascript">
|
<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 errors = [];
|
||||||
var runner = mocha.run(function(evt) {
|
var runner = mocha.run(function(evt) {
|
||||||
if (window.callPhantom) {
|
if (window.callPhantom) {
|
||||||
|
|||||||
Reference in New Issue
Block a user