/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ "use strict"; /** * Bug 1728114 - Shim Adobe EverestJS * * Sites assuming EverestJS will load can break if it is blocked. * This shim mitigates that breakage. */ if (!window.__ql) { window.__ql = {}; } if (!window.EF) { const AdCloudLocalStorage = { get: (_, cb) => cb(), isInitDone: true, isInitSuccess: true, }; const emptyObj = {}; const nullSrc = { getHosts: () => [undefined], getProtocols: () => [undefined], hash: {}, hashParamsOrder: [], host: undefined, path: [], port: undefined, query: {}, queryDelimiter: "&", queryParamsOrder: [], queryPrefix: "?", queryWithoutEncode: {}, respectEmptyQueryParamValue: undefined, scheme: undefined, text: "//", userInfo: undefined, }; const pixelDetailsEvent = { addToDom() {}, canAddToDom: () => false, fire() {}, getDomElement() {}, initializeUri() {}, pixelDetailsReceiver() {}, scheme: "https:", uri: nullSrc, userid: 0, }; window.EF = { AdCloudLocalStorage, accessTopUrl: 0, acquireCookieMatchingSlot() {}, addListener() {}, addPixelDetailsReadyListener() {}, addToDom() {}, allow3rdPartyPixels: 1, appData: "", appendDictionary() {}, checkGlobalSid() {}, checkUrlParams() {}, cmHost: "cm.everesttech.net", context: { isFbApp: () => 0, isPageview: () => false, isSegmentation: () => false, isTransaction: () => false, }, conversionData: "", cookieMatchingSlots: 1, debug: 0, deserializeUrlParams: () => emptyObj, doCookieMatching() {}, ef_itp_ls: false, eventType: "", executeAfterLoad() {}, executeOnloadCallbacks() {}, expectedTrackingParams: ["ev_cl", "ev_sid"], fbIsApp: 0, fbsCM: 0, fbsPixelId: 0, filterList: () => [], getArrayIndex: -1, getConversionData: () => "", getConversionDataFromLocalStorage: cb => cb(), getDisplayClickUri: () => "", getEpochFromEfUniq: () => 0, getFirstLevelObjectCopy: () => emptyObj, getInvisibleIframeElement() {}, getInvisibleImageElement() {}, getMacroSubstitutedText: () => "", getPixelDetails: cb => cb({}), getScriptElement() {}, getScriptSrc: () => "", getServerParams: () => emptyObj, getSortedAttributes: () => [], getTrackingParams: () => emptyObj, getTransactionParams: () => emptyObj, handleConversionData() {}, impressionProperties: "", impressionTypes: ["impression", "impression_served"], inFloodlight: 0, init(config) { try { const { userId } = config; window.EF.userId = userId; pixelDetailsEvent.userId = userId; } catch (_) {} }, initializeEFVariables() {}, isArray: a => Array.isArray(a), isEmptyDictionary: () => true, isITPEnabled: () => false, isPermanentCookieSet: () => false, isSearchClick: () => 0, isXSSReady() {}, jsHost: "www.everestjs.net", jsTagAdded: 0, location: nullSrc, locationHref: nullSrc, locationSkipBang: nullSrc, log() {}, main() {}, main2() {}, newCookieMatchingEvent: () => emptyObj, newFbsCookieMatching: () => emptyObj, newImpression: () => emptyObj, newPageview: () => emptyObj, newPixelDetails: () => emptyObj, newPixelEvent: () => emptyObj, newPixelServerDisplayClickRedirectUri: () => emptyObj, newPixelServerGenericRedirectUri: () => emptyObj, newPixelServerUri: () => emptyObj, newProductSegment: () => emptyObj, newSegmentJavascript: () => emptyObj, newTransaction: () => emptyObj, newUri: () => emptyObj, onloadCallbacks: [], pageViewProperties: "", pageviewProperties: "", pixelDetails: {}, pixelDetailsAdded: 1, pixelDetailsEvent, pixelDetailsParams: [], pixelDetailsReadyCallbackFns: [], pixelDetailsRecieverCalled: 1, pixelHost: "pixel.everesttech.net", protocol: document?.location?.protocol || "", referrer: nullSrc, removeListener() {}, searchSegment: "", segment: "", serverParamsListener() {}, sid: 0, sku: "", throttleCookie: "", trackingJavascriptSrc: nullSrc, transactionObjectList: [], transactionProperties: "", userServerParams: {}, userid: 0, }; }