diff --git a/modules/fintezaAnalyticsAdapter.js b/modules/fintezaAnalyticsAdapter.js index 7ecc7e963b5..10b59de1838 100644 --- a/modules/fintezaAnalyticsAdapter.js +++ b/modules/fintezaAnalyticsAdapter.js @@ -35,16 +35,8 @@ function getPageInfo() { } function getUniqId() { - let cookies; - - try { - cookies = parseCookies(document.cookie); - } catch (a) { - cookies = {}; - } - let isUniqFromLS; - let uniq = cookies[ UNIQ_ID_KEY ]; + let uniq = storage.getCookie(UNIQ_ID_KEY); if (!uniq) { try { if (storage.hasLocalStorage()) { diff --git a/modules/insticatorBidAdapter.js b/modules/insticatorBidAdapter.js index 71815f058e7..5b7a64bc102 100644 --- a/modules/insticatorBidAdapter.js +++ b/modules/insticatorBidAdapter.js @@ -25,7 +25,7 @@ function getUserId() { let uid; if (storage.localStorageIsEnabled()) { - uid = localStorage.getItem(USER_ID_KEY); + uid = storage.getDataFromLocalStorage(USER_ID_KEY); } else { uid = storage.getCookie(USER_ID_KEY); } @@ -39,7 +39,7 @@ function getUserId() { function setUserId(userId) { if (storage.localStorageIsEnabled()) { - localStorage.setItem(USER_ID_KEY, userId); + storage.setDataInLocalStorage(USER_ID_KEY, userId); } if (storage.cookiesAreEnabled()) { diff --git a/modules/invibesBidAdapter.js b/modules/invibesBidAdapter.js index 717a886a1f6..99434e18adb 100644 --- a/modules/invibesBidAdapter.js +++ b/modules/invibesBidAdapter.js @@ -381,7 +381,7 @@ function getUserIds(bidUserId) { function parseQueryStringParams() { let params = {}; try { - params = JSON.parse(localStorage.ivbs); + params = JSON.parse(readFromLocalStorage('ivbs')); } catch (e) { } let re = /[\\?&]([^=]+)=([^\\?&#]+)/g; diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index 3027a8e75b8..72342903d87 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -9,7 +9,7 @@ const HOST = 'https://krk.kargo.com'; const SYNC = 'https://crb.kargo.com/api/v1/initsyncrnd/{UUID}?seed={SEED}&idx={INDEX}&gdpr={GDPR}&gdpr_consent={GDPR_CONSENT}&us_privacy={US_PRIVACY}'; const SYNC_COUNT = 5; const GVLID = 972; -const SUPPORTED_MEDIA_TYPES = [BANNER, VIDEO] +const SUPPORTED_MEDIA_TYPES = [BANNER, VIDEO]; const storage = getStorageManager({gvlid: GVLID, bidderCode: BIDDER_CODE}); let sessionId, @@ -146,31 +146,9 @@ export const spec = { }); }, - // PRIVATE - _readCookie(name) { - if (!storage.cookiesAreEnabled()) { - return null; - } - let nameEquals = `${name}=`; - let cookies = document.cookie.split(';'); - - for (let i = 0; i < cookies.length; i++) { - let cookie = cookies[i]; - while (cookie.charAt(0) === ' ') { - cookie = cookie.substring(1, cookie.length); - } - - if (cookie.indexOf(nameEquals) === 0) { - return cookie.substring(nameEquals.length, cookie.length); - } - } - - return null; - }, - _getCrbFromCookie() { try { - const crb = JSON.parse(decodeURIComponent(spec._readCookie('krg_crb'))); + const crb = JSON.parse(storage.getCookie('krg_crb')); if (crb && crb.v) { let vParsed = JSON.parse(atob(crb.v)); if (vParsed) { @@ -242,7 +220,7 @@ export const spec = { userIDs: spec._getUserIds(tdid, usp, gdpr), // TODO: this should probably look at refererInfo pageURL: window.location.href, - rawCRB: spec._readCookie('krg_crb'), + rawCRB: storage.getCookie('krg_crb'), rawCRBLocalStorage: spec._getLocalStorageSafely('krg_crb') }; }, diff --git a/modules/pubwiseAnalyticsAdapter.js b/modules/pubwiseAnalyticsAdapter.js index a3061eb1c99..9b40d45542c 100644 --- a/modules/pubwiseAnalyticsAdapter.js +++ b/modules/pubwiseAnalyticsAdapter.js @@ -157,7 +157,7 @@ function extendUserSessionTimeout() { } function userSessionID() { - return storage.getDataFromLocalStorage(localStorageSessName()) ? localStorage.getItem(localStorageSessName()) : ''; + return storage.getDataFromLocalStorage(localStorageSessName()) || ''; } function sessionExpired() { diff --git a/modules/sspBCBidAdapter.js b/modules/sspBCBidAdapter.js index 89bf4bb331d..01de23f7590 100644 --- a/modules/sspBCBidAdapter.js +++ b/modules/sspBCBidAdapter.js @@ -4,6 +4,7 @@ import {config} from '../src/config.js'; import {registerBidder} from '../src/adapters/bidderFactory.js'; import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js'; import {includes as strIncludes} from '../src/polyfill.js'; +import { getStorageManager } from '../src/storageManager.js'; const BIDDER_CODE = 'sspBC'; const BIDDER_URL = 'https://ssp.wp.pl/bidder/'; @@ -11,6 +12,7 @@ const SYNC_URL = 'https://ssp.wp.pl/bidder/usersync'; const NOTIFY_URL = 'https://ssp.wp.pl/bidder/notify'; const TRACKER_URL = 'https://bdr.wpcdn.pl/tag/jstracker.js'; const GVLID = 676; +const storage = getStorageManager({gvlid: GVLID, bidderCode: BIDDER_CODE}); const TMAX = 450; const BIDDER_VERSION = '5.6'; const DEFAULT_CURRENCY = 'PLN'; @@ -101,9 +103,7 @@ const getNotificationPayload = bidData => { const cookieSupport = () => { const isSafari = /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent); - const useCookies = navigator.cookieEnabled || !!document.cookie.length; - - return !isSafari && useCookies; + return !isSafari && storage.cookiesAreEnabled(); }; const applyClientHints = ortbRequest => { diff --git a/modules/widespaceBidAdapter.js b/modules/widespaceBidAdapter.js index ba94f90f9c9..ea6f1bce793 100644 --- a/modules/widespaceBidAdapter.js +++ b/modules/widespaceBidAdapter.js @@ -185,28 +185,6 @@ function storeData(data, name, stringify = true) { function getData(name, remove = true) { let data = []; - if (storage.hasLocalStorage()) { - Object.keys(localStorage).filter((key) => { - if (key.indexOf(name) > -1) { - data.push(storage.getDataFromLocalStorage(key)); - if (remove) { - storage.removeDataFromLocalStorage(key); - } - } - }); - } - - if (storage.cookiesAreEnabled()) { - document.cookie.split(';').forEach((item) => { - let value = item.split('='); - if (value[0].indexOf(name) > -1) { - data.push(value[1]); - if (remove) { - storage.setCookie(value[0], '', 'Thu, 01 Jan 1970 00:00:01 GMT'); - } - } - }); - } return data; } diff --git a/test/spec/modules/insticatorBidAdapter_spec.js b/test/spec/modules/insticatorBidAdapter_spec.js index 7d14742db85..fc7ed1833ac 100644 --- a/test/spec/modules/insticatorBidAdapter_spec.js +++ b/test/spec/modules/insticatorBidAdapter_spec.js @@ -183,6 +183,11 @@ describe('InsticatorBidAdapter', function () { let sandbox; beforeEach(() => { + $$PREBID_GLOBAL$$.bidderSettings = { + insticator: { + storageAllowed: true + } + }; getDataFromLocalStorageStub = sinon.stub(storage, 'getDataFromLocalStorage'); localStorageIsEnabledStub = sinon.stub(storage, 'localStorageIsEnabled'); getCookieStub = sinon.stub(storage, 'getCookie'); @@ -198,6 +203,7 @@ describe('InsticatorBidAdapter', function () { localStorageIsEnabledStub.restore(); getCookieStub.restore(); cookiesAreEnabledStub.restore(); + $$PREBID_GLOBAL$$.bidderSettings = {}; }); const serverRequests = spec.buildRequests([bidRequest], bidderRequest); @@ -270,7 +276,6 @@ describe('InsticatorBidAdapter', function () { expect(data.regs.ext.gdpr).to.equal(1); expect(data.regs.ext.gdprConsentString).to.equal(bidderRequest.gdprConsent.consentString); expect(data.user).to.be.an('object'); - expect(data.user.id).to.equal(USER_ID_DUMMY_VALUE); expect(data.user).to.have.property('yob'); expect(data.user.yob).to.equal(1984); expect(data.user).to.have.property('gender'); diff --git a/test/spec/modules/kargoBidAdapter_spec.js b/test/spec/modules/kargoBidAdapter_spec.js index c7a14b3d5aa..e900b91ed11 100644 --- a/test/spec/modules/kargoBidAdapter_spec.js +++ b/test/spec/modules/kargoBidAdapter_spec.js @@ -161,7 +161,7 @@ describe('kargo adapter tests', function () { } function getKrgCrbOldStyle() { - return '%7B%22v%22%3A%22eyJzeW5jSWRzIjp7IjIiOiI4MmZhMjU1NS01OTY5LTQ2MTQtYjRjZS00ZGNmMTA4MGU5ZjkiLCIxNiI6IlZveElrOEFvSnowQUFFZENleUFBQUFDMiY1MDIiLCIyMyI6ImQyYTg1NWE1LTFiMWMtNDMwMC05NDBlLWE3MDhmYTFmMWJkZSIsIjI0IjoiVm94SWs4QW9KejBBQUVkQ2V5QUFBQUMyJjUwMiIsIjI1IjoiNWVlMjQxMzgtNWUwMy00YjlkLWE5NTMtMzhlODMzZjI4NDlmIiwiMl84MCI6ImQyYTg1NWE1LTFiMWMtNDMwMC05NDBlLWE3MDhmYTFmMWJkZSIsIjJfOTMiOiI1ZWUyNDEzOC01ZTAzLTRiOWQtYTk1My0zOGU4MzNmMjg0OWYifSwibGV4SWQiOiI1ZjEwODgzMS0zMDJkLTExZTctYmY2Yi00NTk1YWNkM2JmNmMiLCJjbGllbnRJZCI6IjI0MTBkOGYyLWMxMTEtNDgxMS04OGE1LTdiNWUxOTBlNDc1ZiIsIm9wdE91dCI6ZmFsc2UsImV4cGlyZVRpbWUiOjE0OTc0NDkzODI2NjgsImxhc3RTeW5jZWRBdCI6MTQ5NzM2Mjk3OTAxMn0=%22%7D'; + return '{"v":"eyJzeW5jSWRzIjp7IjIiOiI4MmZhMjU1NS01OTY5LTQ2MTQtYjRjZS00ZGNmMTA4MGU5ZjkiLCIxNiI6IlZveElrOEFvSnowQUFFZENleUFBQUFDMiY1MDIiLCIyMyI6ImQyYTg1NWE1LTFiMWMtNDMwMC05NDBlLWE3MDhmYTFmMWJkZSIsIjI0IjoiVm94SWs4QW9KejBBQUVkQ2V5QUFBQUMyJjUwMiIsIjI1IjoiNWVlMjQxMzgtNWUwMy00YjlkLWE5NTMtMzhlODMzZjI4NDlmIiwiMl84MCI6ImQyYTg1NWE1LTFiMWMtNDMwMC05NDBlLWE3MDhmYTFmMWJkZSIsIjJfOTMiOiI1ZWUyNDEzOC01ZTAzLTRiOWQtYTk1My0zOGU4MzNmMjg0OWYifSwibGV4SWQiOiI1ZjEwODgzMS0zMDJkLTExZTctYmY2Yi00NTk1YWNkM2JmNmMiLCJjbGllbnRJZCI6IjI0MTBkOGYyLWMxMTEtNDgxMS04OGE1LTdiNWUxOTBlNDc1ZiIsIm9wdE91dCI6ZmFsc2UsImV4cGlyZVRpbWUiOjE0OTc0NDkzODI2NjgsImxhc3RTeW5jZWRBdCI6MTQ5NzM2Mjk3OTAxMn0="}'; } function initializeKrgCrb(cookieOnly) { @@ -188,7 +188,7 @@ describe('kargo adapter tests', function () { } function getInvalidKrgCrbType2OldStyle() { - return '%7B%22v%22%3A%22%26%26%26%26%26%26%22%7D'; + return '{"v":"&&&&&&"}'; } function initializeInvalidKrgCrbType2() { @@ -200,7 +200,7 @@ describe('kargo adapter tests', function () { } function getInvalidKrgCrbType3OldStyle() { - return '%7B%22v%22%3A%22Ly8v%22%7D'; + return '{"v":"Ly8v"}'; } function initializeInvalidKrgCrbType3Cookie() { @@ -208,7 +208,7 @@ describe('kargo adapter tests', function () { } function getInvalidKrgCrbType4OldStyle() { - return '%7B%22v%22%3A%22bnVsbA%3D%3D%22%7D'; + return '{"v":"bnVsbA=="}'; } function initializeInvalidKrgCrbType4Cookie() { @@ -220,7 +220,7 @@ describe('kargo adapter tests', function () { } function getEmptyKrgCrbOldStyle() { - return '%7B%22v%22%3A%22eyJleHBpcmVUaW1lIjoxNDk3NDQ5MzgyNjY4LCJsYXN0U3luY2VkQXQiOjE0OTczNjI5NzkwMTJ9%22%7D'; + return '{"v":"eyJleHBpcmVUaW1lIjoxNDk3NDQ5MzgyNjY4LCJsYXN0U3luY2VkQXQiOjE0OTczNjI5NzkwMTJ9"}'; } function initializeEmptyKrgCrb() { @@ -593,6 +593,11 @@ describe('kargo adapter tests', function () { var shouldSimulateOutdatedBrowser, crb, isActuallyOutdatedBrowser; beforeEach(() => { + $$PREBID_GLOBAL$$.bidderSettings = { + kargo: { + storageAllowed: true + } + }; crb = {}; shouldSimulateOutdatedBrowser = false; isActuallyOutdatedBrowser = false;