summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSolly Ross <sross@redhat.com>2016-09-03 13:58:32 -0400
committerSolly Ross <sross@redhat.com>2016-09-14 14:15:19 -0400
commitd0dc8a7583a8a9ad34ae312a17aee7a7e1e2fc9b (patch)
treee4662d378334f559f4c87f3049c8adc0e7bcb5e3
parent894c15911491ab3fea6ddf823b95bfeaf28036ac (diff)
downloadnovnc-d0dc8a7583a8a9ad34ae312a17aee7a7e1e2fc9b.tar.gz
Util shouldn't modify window object
This commits prevents Util from modifying the window object. - `window.requestAnimFrame` was removed (no polyfill is needed anymore) - the potential redefinition of `console.log` and friends was removed (all supported browsers have `console.xyz` defined anyway)
-rw-r--r--core/display.js2
-rw-r--r--core/util.js63
-rw-r--r--tests/test.display.js6
-rw-r--r--tests/test.util.js12
4 files changed, 30 insertions, 53 deletions
diff --git a/core/display.js b/core/display.js
index 79e1e4f..e6239f4 100644
--- a/core/display.js
+++ b/core/display.js
@@ -778,7 +778,7 @@
}
if (this._renderQ.length > 0) {
- requestAnimFrame(this._scan_renderQ.bind(this));
+ requestAnimationFrame(this._scan_renderQ.bind(this));
}
},
};
diff --git a/core/util.js b/core/util.js
index f2e12ae..eda4616 100644
--- a/core/util.js
+++ b/core/util.js
@@ -11,22 +11,6 @@
var Util = {};
-//
-// requestAnimationFrame shim with setTimeout fallback
-//
-
-window.requestAnimFrame = (function () {
- "use strict";
- return window.requestAnimationFrame ||
- window.webkitRequestAnimationFrame ||
- window.mozRequestAnimationFrame ||
- window.oRequestAnimationFrame ||
- window.msRequestAnimationFrame ||
- function (callback) {
- window.setTimeout(callback, 1000 / 60);
- };
-})();
-
/*
* ------------------------------------------------------
* Namespaced in Util
@@ -45,39 +29,26 @@ Util.init_logging = function (level) {
} else {
Util._log_level = level;
}
- if (typeof window.console === "undefined") {
- if (typeof window.opera !== "undefined") {
- window.console = {
- 'log' : window.opera.postError,
- 'warn' : window.opera.postError,
- 'error': window.opera.postError
- };
- } else {
- window.console = {
- 'log' : function (m) {},
- 'warn' : function (m) {},
- 'error': function (m) {}
- };
- }
- }
Util.Debug = Util.Info = Util.Warn = Util.Error = function (msg) {};
- /* jshint -W086 */
- switch (level) {
- case 'debug':
- Util.Debug = function (msg) { console.log(msg); };
- case 'info':
- Util.Info = function (msg) { console.log(msg); };
- case 'warn':
- Util.Warn = function (msg) { console.warn(msg); };
- case 'error':
- Util.Error = function (msg) { console.error(msg); };
- case 'none':
- break;
- default:
- throw new Error("invalid logging type '" + level + "'");
+ if (typeof window.console !== "undefined") {
+ /* jshint -W086 */
+ switch (level) {
+ case 'debug':
+ Util.Debug = function (msg) { console.log(msg); };
+ case 'info':
+ Util.Info = function (msg) { console.info(msg); };
+ case 'warn':
+ Util.Warn = function (msg) { console.warn(msg); };
+ case 'error':
+ Util.Error = function (msg) { console.error(msg); };
+ case 'none':
+ break;
+ default:
+ throw new Error("invalid logging type '" + level + "'");
+ }
+ /* jshint +W086 */
}
- /* jshint +W086 */
};
Util.get_logging = function () {
return Util._log_level;
diff --git a/tests/test.display.js b/tests/test.display.js
index 32a92e2..7c7c693 100644
--- a/tests/test.display.js
+++ b/tests/test.display.js
@@ -384,15 +384,15 @@ describe('Display/Canvas Helper', function () {
display = new Display({ target: document.createElement('canvas'), prefer_js: false });
display.resize(4, 4);
sinon.spy(display, '_scan_renderQ');
- this.old_requestAnimFrame = window.requestAnimFrame;
- window.requestAnimFrame = function (cb) {
+ this.old_requestAnimationFrame = window.requestAnimationFrame;
+ window.requestAnimationFrame = function (cb) {
this.next_frame_cb = cb;
}.bind(this);
this.next_frame = function () { this.next_frame_cb(); };
});
afterEach(function () {
- window.requestAnimFrame = this.old_requestAnimFrame;
+ window.requestAnimationFrame = this.old_requestAnimationFrame;
});
it('should try to process an item when it is pushed on, if nothing else is on the queue', function () {
diff --git a/tests/test.util.js b/tests/test.util.js
index c4ac403..c903c74 100644
--- a/tests/test.util.js
+++ b/tests/test.util.js
@@ -12,12 +12,14 @@ describe('Utils', function() {
sinon.spy(console, 'log');
sinon.spy(console, 'warn');
sinon.spy(console, 'error');
+ sinon.spy(console, 'info');
});
afterEach(function () {
console.log.restore();
console.warn.restore();
console.error.restore();
+ console.info.restore();
});
it('should use noop for levels lower than the min level', function () {
@@ -27,12 +29,16 @@ describe('Utils', function() {
expect(console.log).to.not.have.been.called;
});
- it('should use console.log for Debug and Info', function () {
+ it('should use console.log for Debug', function () {
Util.init_logging('debug');
Util.Debug('dbg');
- Util.Info('inf');
expect(console.log).to.have.been.calledWith('dbg');
- expect(console.log).to.have.been.calledWith('inf');
+ });
+
+ it('should use console.info for Info', function () {
+ Util.init_logging('debug');
+ Util.Info('inf');
+ expect(console.info).to.have.been.calledWith('inf');
});
it('should use console.warn for Warn', function () {