forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			171 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* 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,
 | |
|   };
 | |
| }
 | 
