diff --git a/resources/static/common/js/modules/interaction_data.js b/resources/static/common/js/modules/interaction_data.js index fef84018e484fd4d7efb34f11a480925cec57b9a..2f399e001cdd27db9c336d6ef30f45059dc13e5c 100644 --- a/resources/static/common/js/modules/interaction_data.js +++ b/resources/static/common/js/modules/interaction_data.js @@ -87,6 +87,7 @@ BrowserID.Modules.InteractionData = (function() { }; function getKPIName(msg, data) { + /*jshint validthis: true */ var self=this, kpiInfo = self.mediatorToKPINameTable[msg]; @@ -97,6 +98,7 @@ BrowserID.Modules.InteractionData = (function() { } function onSessionContext(msg, result) { + /*jshint validthis: true */ var self=this; // defend against onSessionContext being called multiple times @@ -107,6 +109,7 @@ BrowserID.Modules.InteractionData = (function() { } function publishPreviousSession(result) { + /*jshint validthis: true */ // Publish any outstanding data. Unless this is a continuation, previous // session data must be published independently of whether the current // dialog session is allowed to sample data. This is because the original @@ -160,6 +163,7 @@ BrowserID.Modules.InteractionData = (function() { } function beginSampling(result) { + /*jshint validthis: true */ var self = this; // set the sample rate as defined by the server. It's a value @@ -190,6 +194,8 @@ BrowserID.Modules.InteractionData = (function() { timestamp: roundedServerTime, local_timestamp: self.startTime.toString(), lang: dom.getAttr('html', 'lang') || null, + // this will be overridden in state.js if a new account is created. + new_account: false }; if (window.screen) { @@ -224,6 +230,7 @@ BrowserID.Modules.InteractionData = (function() { } function onKPIData(msg, result) { + /*jshint validthis: true */ // currentData will be undefined if sampling is disabled. var currentData = this.getCurrent(); if (currentData) { @@ -236,6 +243,7 @@ BrowserID.Modules.InteractionData = (function() { // data. We have to wait until session_context completes so that we have // a csrf token to send. function publishStored(oncomplete) { + /*jshint validthis: true */ var self=this; model.publishStaged(function(status) { @@ -247,6 +255,7 @@ BrowserID.Modules.InteractionData = (function() { function addEvent(msg, data) { + /*jshint validthis: true */ var self=this; if (self.samplingEnabled === false) return; @@ -265,6 +274,7 @@ BrowserID.Modules.InteractionData = (function() { } function getCurrent() { + /*jshint validthis: true */ var self=this; if(self.samplingEnabled === false) return; @@ -274,6 +284,7 @@ BrowserID.Modules.InteractionData = (function() { } function getCurrentEventStream() { + /*jshint validthis: true */ var self=this; if(self.samplingEnabled === false) return; diff --git a/resources/static/test/cases/common/js/modules/interaction_data.js b/resources/static/test/cases/common/js/modules/interaction_data.js index 1b8130529be9d6c28a76491d8d1d24c46d2f647c..2537ed0913e0f602249b8162713fc2767368d001 100644 --- a/resources/static/test/cases/common/js/modules/interaction_data.js +++ b/resources/static/test/cases/common/js/modules/interaction_data.js @@ -87,7 +87,7 @@ var data = controller.getCurrent(); // Make sure expected items are in the current stored data. - testHelpers.testKeysInObject(data, ["event_stream", "sample_rate", "timestamp", "lang"]); + testHelpers.testKeysInObject(data, ["event_stream", "sample_rate", "timestamp", "lang", "new_account"]); controller.addEvent("after_session_context"); controller.addEvent("after_session_context");