prebid.js 7.43.0 → 7.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/acuityAdsBidAdapter.js +1 -1
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adgenerationBidAdapter.js +1 -1
  7. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  8. package/dist/admixerIdSystem.js +1 -1
  9. package/dist/adnuntiusBidAdapter.js +1 -1
  10. package/dist/adqueryBidAdapter.js +1 -1
  11. package/dist/adqueryIdSystem.js +1 -1
  12. package/dist/adrelevantisBidAdapter.js +1 -1
  13. package/dist/adrinoBidAdapter.js +1 -1
  14. package/dist/adriverIdSystem.js +1 -1
  15. package/dist/adsinteractiveBidAdapter.js +1 -0
  16. package/dist/adtrgtmeBidAdapter.js +1 -1
  17. package/dist/adxcgBidAdapter.js +1 -1
  18. package/dist/adyoulikeBidAdapter.js +1 -1
  19. package/dist/aidemBidAdapter.js +1 -1
  20. package/dist/airgridRtdProvider.js +1 -1
  21. package/dist/ajaBidAdapter.js +1 -1
  22. package/dist/akamaiDapRtdProvider.js +1 -1
  23. package/dist/amxBidAdapter.js +1 -1
  24. package/dist/amxIdSystem.js +1 -1
  25. package/dist/appierAnalyticsAdapter.js +1 -1
  26. package/dist/appnexusBidAdapter.js +1 -1
  27. package/dist/appushBidAdapter.js +1 -1
  28. package/dist/apstreamBidAdapter.js +1 -1
  29. package/dist/asoBidAdapter.js +1 -1
  30. package/dist/atsAnalyticsAdapter.js +1 -1
  31. package/dist/audiencerunBidAdapter.js +1 -1
  32. package/dist/axonixBidAdapter.js +1 -1
  33. package/dist/bedigitechBidAdapter.js +1 -0
  34. package/dist/beyondmediaBidAdapter.js +1 -1
  35. package/dist/bidglassBidAdapter.js +1 -1
  36. package/dist/big-richmediaBidAdapter.js +1 -1
  37. package/dist/bluebillywigBidAdapter.js +1 -1
  38. package/dist/blueconicRtdProvider.js +1 -1
  39. package/dist/braveBidAdapter.js +1 -1
  40. package/dist/bridgewellBidAdapter.js +1 -1
  41. package/dist/brightMountainMediaBidAdapter.js +1 -1
  42. package/dist/brightcomBidAdapter.js +1 -1
  43. package/dist/brightcomSSPBidAdapter.js +1 -1
  44. package/dist/browsiRtdProvider.js +1 -1
  45. package/dist/byDataAnalyticsAdapter.js +1 -1
  46. package/dist/carodaBidAdapter.js +1 -1
  47. package/dist/chtnwBidAdapter.js +1 -1
  48. package/dist/coinzillaBidAdapter.js +1 -1
  49. package/dist/compassBidAdapter.js +1 -1
  50. package/dist/concertBidAdapter.js +1 -1
  51. package/dist/connectIdSystem.js +1 -1
  52. package/dist/connectadBidAdapter.js +1 -1
  53. package/dist/consumableBidAdapter.js +1 -1
  54. package/dist/contentexchangeBidAdapter.js +1 -1
  55. package/dist/conversantAnalyticsAdapter.js +1 -1
  56. package/dist/conversantBidAdapter.js +1 -1
  57. package/dist/craftBidAdapter.js +1 -1
  58. package/dist/criteoBidAdapter.js +1 -1
  59. package/dist/criteoIdSystem.js +1 -1
  60. package/dist/cwireBidAdapter.js +1 -1
  61. package/dist/czechAdIdSystem.js +1 -1
  62. package/dist/dacIdSystem.js +1 -1
  63. package/dist/deepintentDpesIdSystem.js +1 -1
  64. package/dist/dependencies.json +15 -0
  65. package/dist/discoveryBidAdapter.js +1 -1
  66. package/dist/domainOverrideToRootDomain.js +1 -0
  67. package/dist/dspxBidAdapter.js +1 -1
  68. package/dist/eplanningBidAdapter.js +1 -1
  69. package/dist/feedadBidAdapter.js +1 -1
  70. package/dist/finativeBidAdapter.js +1 -1
  71. package/dist/fintezaAnalyticsAdapter.js +1 -1
  72. package/dist/fledgeForGpt.js +1 -1
  73. package/dist/freewheel-sspBidAdapter.js +1 -1
  74. package/dist/ftrackIdSystem.js +1 -1
  75. package/dist/gdprEnforcement.js +1 -1
  76. package/dist/glimpseBidAdapter.js +1 -1
  77. package/dist/globalsunBidAdapter.js +1 -1
  78. package/dist/gmosspBidAdapter.js +1 -1
  79. package/dist/gnetBidAdapter.js +1 -1
  80. package/dist/goldbachBidAdapter.js +1 -1
  81. package/dist/gravitoIdSystem.js +1 -1
  82. package/dist/greenbidsAnalyticsAdapter.js +1 -0
  83. package/dist/gridBidAdapter.js +1 -1
  84. package/dist/gridNMBidAdapter.js +1 -1
  85. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  86. package/dist/growthCodeIdSystem.js +1 -1
  87. package/dist/gumgumBidAdapter.js +1 -1
  88. package/dist/h12mediaBidAdapter.js +1 -1
  89. package/dist/hadronAnalyticsAdapter.js +1 -1
  90. package/dist/hadronIdSystem.js +1 -1
  91. package/dist/hadronRtdProvider.js +1 -1
  92. package/dist/id5IdSystem.js +1 -1
  93. package/dist/idWardRtdProvider.js +1 -1
  94. package/dist/identityLinkIdSystem.js +1 -1
  95. package/dist/idxIdSystem.js +1 -1
  96. package/dist/imRtdProvider.js +1 -1
  97. package/dist/impactifyBidAdapter.js +1 -1
  98. package/dist/improvedigitalBidAdapter.js +1 -1
  99. package/dist/imuIdSystem.js +1 -1
  100. package/dist/inmarBidAdapter.js +1 -1
  101. package/dist/insticatorBidAdapter.js +1 -1
  102. package/dist/intentIqIdSystem.js +1 -1
  103. package/dist/invibesBidAdapter.js +1 -1
  104. package/dist/iqzoneBidAdapter.js +1 -1
  105. package/dist/ivsBidAdapter.js +1 -0
  106. package/dist/ixBidAdapter.js +1 -1
  107. package/dist/jixieBidAdapter.js +1 -1
  108. package/dist/justpremiumBidAdapter.js +1 -1
  109. package/dist/jwplayerVideoProvider.js +1 -1
  110. package/dist/kargoBidAdapter.js +1 -1
  111. package/dist/koblerBidAdapter.js +1 -1
  112. package/dist/konduitAnalyticsAdapter.js +1 -1
  113. package/dist/kueezBidAdapter.js +1 -1
  114. package/dist/kueezRtbBidAdapter.js +1 -1
  115. package/dist/kulturemediaBidAdapter.js +1 -1
  116. package/dist/lassoBidAdapter.js +1 -1
  117. package/dist/lifestreetBidAdapter.js +1 -1
  118. package/dist/liveIntentIdSystem.js +1 -1
  119. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  120. package/dist/logicadBidAdapter.js +1 -1
  121. package/dist/loglyliftBidAdapter.js +1 -1
  122. package/dist/lotamePanoramaIdSystem.js +1 -1
  123. package/dist/luponmediaBidAdapter.js +1 -1
  124. package/dist/magniteAnalyticsAdapter.js +1 -1
  125. package/dist/malltvAnalyticsAdapter.js +1 -1
  126. package/dist/marsmediaBidAdapter.js +1 -1
  127. package/dist/mathildeadsBidAdapter.js +1 -1
  128. package/dist/mediafuseBidAdapter.js +1 -1
  129. package/dist/mediagoBidAdapter.js +1 -1
  130. package/dist/mediakeysBidAdapter.js +1 -1
  131. package/dist/medianetBidAdapter.js +1 -1
  132. package/dist/mediasquareBidAdapter.js +1 -1
  133. package/dist/merkleIdSystem.js +1 -1
  134. package/dist/mgidBidAdapter.js +1 -1
  135. package/dist/mgidRtdProvider.js +1 -1
  136. package/dist/minutemediaBidAdapter.js +1 -1
  137. package/dist/minutemediaplusBidAdapter.js +1 -1
  138. package/dist/mwOpenLinkIdSystem.js +1 -1
  139. package/dist/naveggIdSystem.js +1 -1
  140. package/dist/nexx360BidAdapter.js +1 -1
  141. package/dist/nobidBidAdapter.js +1 -1
  142. package/dist/not-for-prod/prebid.js +232 -227
  143. package/dist/novatiqIdSystem.js +1 -1
  144. package/dist/oguryBidAdapter.js +1 -1
  145. package/dist/onetagBidAdapter.js +1 -1
  146. package/dist/onomagicBidAdapter.js +1 -1
  147. package/dist/ooloAnalyticsAdapter.js +1 -1
  148. package/dist/openxBidAdapter.js +1 -1
  149. package/dist/openxOrtbBidAdapter.js +1 -1
  150. package/dist/operaadsBidAdapter.js +1 -1
  151. package/dist/optidigitalBidAdapter.js +1 -1
  152. package/dist/ortbConverter.js +1 -1
  153. package/dist/outbrainBidAdapter.js +1 -1
  154. package/dist/parrableIdSystem.js +1 -1
  155. package/dist/permutiveRtdProvider.js +1 -1
  156. package/dist/pixfutureBidAdapter.js +1 -1
  157. package/dist/prebid-core.js +1 -1
  158. package/dist/prebidServerBidAdapter.js +1 -1
  159. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  160. package/dist/pubCommonId.js +1 -1
  161. package/dist/publinkIdSystem.js +1 -1
  162. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  163. package/dist/pubmaticBidAdapter.js +1 -1
  164. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  165. package/dist/pubxBidAdapter.js +1 -1
  166. package/dist/pxyzBidAdapter.js +1 -1
  167. package/dist/quantcastBidAdapter.js +1 -1
  168. package/dist/quantcastIdSystem.js +1 -1
  169. package/dist/readpeakBidAdapter.js +1 -1
  170. package/dist/realvuAnalyticsAdapter.js +1 -1
  171. package/dist/relaidoBidAdapter.js +1 -1
  172. package/dist/rhythmoneBidAdapter.js +1 -1
  173. package/dist/riseBidAdapter.js +1 -1
  174. package/dist/roxotAnalyticsAdapter.js +1 -1
  175. package/dist/rtbhouseBidAdapter.js +1 -1
  176. package/dist/rtdModule.js +1 -1
  177. package/dist/rubiconAnalyticsAdapter.js +1 -1
  178. package/dist/rubiconBidAdapter.js +1 -1
  179. package/dist/seedingAllianceBidAdapter.js +1 -1
  180. package/dist/seedtagBidAdapter.js +1 -1
  181. package/dist/sharedIdSystem.js +1 -1
  182. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  183. package/dist/sharethroughBidAdapter.js +1 -1
  184. package/dist/shinezBidAdapter.js +1 -1
  185. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  186. package/dist/smaatoBidAdapter.js +1 -1
  187. package/dist/smartadserverBidAdapter.js +1 -1
  188. package/dist/smarthubBidAdapter.js +1 -1
  189. package/dist/smartxBidAdapter.js +1 -1
  190. package/dist/smilewantedBidAdapter.js +1 -1
  191. package/dist/sonobiBidAdapter.js +1 -1
  192. package/dist/sovrnAnalyticsAdapter.js +1 -1
  193. package/dist/sovrnBidAdapter.js +1 -1
  194. package/dist/sspBCBidAdapter.js +1 -1
  195. package/dist/staqAnalyticsAdapter.js +1 -1
  196. package/dist/stroeerCoreBidAdapter.js +1 -1
  197. package/dist/stvBidAdapter.js +1 -1
  198. package/dist/sublimeBidAdapter.js +1 -1
  199. package/dist/synacormediaBidAdapter.js +1 -1
  200. package/dist/taboolaBidAdapter.js +1 -1
  201. package/dist/targetVideoBidAdapter.js +1 -1
  202. package/dist/teadsBidAdapter.js +1 -1
  203. package/dist/teadsIdSystem.js +1 -1
  204. package/dist/trionBidAdapter.js +1 -1
  205. package/dist/tripleliftBidAdapter.js +1 -1
  206. package/dist/truereachBidAdapter.js +1 -1
  207. package/dist/trustpidSystem.js +1 -1
  208. package/dist/ttdBidAdapter.js +1 -1
  209. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  210. package/dist/uid2IdSystem.js +1 -1
  211. package/dist/underdogmediaBidAdapter.js +1 -1
  212. package/dist/undertoneBidAdapter.js +1 -1
  213. package/dist/userId.js +1 -1
  214. package/dist/validationFpdModule.js +1 -1
  215. package/dist/vidazooBidAdapter.js +1 -1
  216. package/dist/videobyteBidAdapter.js +1 -1
  217. package/dist/videoheroesBidAdapter.js +1 -1
  218. package/dist/vidoomyBidAdapter.js +1 -1
  219. package/dist/visiblemeasuresBidAdapter.js +1 -1
  220. package/dist/visxBidAdapter.js +1 -1
  221. package/dist/vrtcalBidAdapter.js +1 -1
  222. package/dist/vuukleBidAdapter.js +1 -1
  223. package/dist/weboramaRtdProvider.js +1 -1
  224. package/dist/widespaceBidAdapter.js +1 -1
  225. package/dist/winrBidAdapter.js +1 -1
  226. package/dist/yahoosspBidAdapter.js +1 -1
  227. package/dist/yieldmoBidAdapter.js +1 -1
  228. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  229. package/dist/yieldoneBidAdapter.js +1 -1
  230. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  231. package/dist/zeotapIdPlusIdSystem.js +1 -1
  232. package/dist/zeta_global_sspBidAdapter.js +1 -1
  233. package/libraries/domainOverrideToRootDomain/index.js +39 -0
  234. package/libraries/ortbConverter/converter.js +3 -2
  235. package/modules/33acrossIdSystem.js +5 -2
  236. package/modules/acuityAdsBidAdapter.js +1 -1
  237. package/modules/adagioBidAdapter.js +3 -4
  238. package/modules/adkernelAdnAnalyticsAdapter.js +4 -2
  239. package/modules/admixerIdSystem.js +4 -2
  240. package/modules/adnuntiusBidAdapter.js +1 -1
  241. package/modules/adqueryBidAdapter.js +1 -1
  242. package/modules/adqueryIdSystem.js +2 -1
  243. package/modules/adrinoBidAdapter.js +24 -16
  244. package/modules/adriverIdSystem.js +3 -2
  245. package/modules/adsinteractiveBidAdapter.js +144 -0
  246. package/modules/adsinteractiveBidAdapter.md +31 -0
  247. package/modules/adyoulikeBidAdapter.js +2 -3
  248. package/modules/aidemBidAdapter.js +5 -0
  249. package/modules/airgridRtdProvider.js +4 -2
  250. package/modules/ajaBidAdapter.js +38 -16
  251. package/modules/akamaiDapRtdProvider.js +2 -1
  252. package/modules/amxBidAdapter.js +12 -10
  253. package/modules/amxIdSystem.js +23 -20
  254. package/modules/amxIdSystem.md +7 -7
  255. package/modules/appnexusBidAdapter.js +8 -8
  256. package/modules/appushBidAdapter.js +1 -1
  257. package/modules/apstreamBidAdapter.js +1 -1
  258. package/modules/atsAnalyticsAdapter.js +4 -2
  259. package/modules/audiencerunBidAdapter.js +9 -10
  260. package/modules/bedigitechBidAdapter.js +67 -0
  261. package/modules/bedigitechBidAdapter.md +32 -0
  262. package/modules/beyondmediaBidAdapter.js +1 -1
  263. package/modules/bluebillywigBidAdapter.js +2 -4
  264. package/modules/blueconicRtdProvider.js +2 -1
  265. package/modules/braveBidAdapter.js +1 -1
  266. package/modules/brightcomBidAdapter.js +1 -2
  267. package/modules/brightcomSSPBidAdapter.js +1 -2
  268. package/modules/browsiRtdProvider.js +4 -2
  269. package/modules/byDataAnalyticsAdapter.js +6 -3
  270. package/modules/coinzillaBidAdapter.js +1 -2
  271. package/modules/compassBidAdapter.js +1 -1
  272. package/modules/concertBidAdapter.js +14 -7
  273. package/modules/connectIdSystem.js +96 -21
  274. package/modules/connectIdSystem.md +6 -5
  275. package/modules/connectadBidAdapter.js +2 -4
  276. package/modules/contentexchangeBidAdapter.js +1 -1
  277. package/modules/craftBidAdapter.js +29 -24
  278. package/modules/criteoBidAdapter.js +4 -2
  279. package/modules/criteoIdSystem.js +6 -2
  280. package/modules/czechAdIdSystem.js +3 -2
  281. package/modules/dacIdSystem.js +4 -3
  282. package/modules/deepintentDpesIdSystem.js +3 -2
  283. package/modules/discoveryBidAdapter.js +1 -1
  284. package/modules/dspxBidAdapter.js +223 -15
  285. package/modules/fintezaAnalyticsAdapter.js +5 -3
  286. package/modules/fledgeForGpt.js +54 -6
  287. package/modules/freewheel-sspBidAdapter.js +8 -0
  288. package/modules/ftrackIdSystem.js +6 -6
  289. package/modules/gdprEnforcement.js +56 -68
  290. package/modules/glimpseBidAdapter.js +2 -6
  291. package/modules/globalsunBidAdapter.js +1 -1
  292. package/modules/gnetBidAdapter.js +1 -2
  293. package/modules/gravitoIdSystem.js +5 -3
  294. package/modules/greenbidsAnalyticsAdapter.js +181 -0
  295. package/modules/greenbidsAnalyticsAdapter.md +23 -0
  296. package/modules/gridBidAdapter.js +14 -8
  297. package/modules/gridNMBidAdapter.js +1 -1
  298. package/modules/growthCodeAnalyticsAdapter.js +3 -2
  299. package/modules/growthCodeIdSystem.js +21 -17
  300. package/modules/gumgumBidAdapter.js +8 -18
  301. package/modules/hadronAnalyticsAdapter.js +5 -3
  302. package/modules/hadronIdSystem.js +3 -1
  303. package/modules/hadronRtdProvider.js +4 -2
  304. package/modules/id5IdSystem.js +4 -2
  305. package/modules/idWardRtdProvider.js +2 -1
  306. package/modules/identityLinkIdSystem.js +5 -2
  307. package/modules/idxIdSystem.js +3 -2
  308. package/modules/imRtdProvider.js +3 -1
  309. package/modules/impactifyBidAdapter.js +2 -4
  310. package/modules/imuIdSystem.js +6 -3
  311. package/modules/insticatorBidAdapter.js +1 -1
  312. package/modules/intentIqIdSystem.js +3 -2
  313. package/modules/invibesBidAdapter.js +1 -1
  314. package/modules/iqzoneBidAdapter.js +1 -1
  315. package/modules/ivsBidAdapter.js +85 -0
  316. package/modules/ivsBidAdapter.md +34 -0
  317. package/modules/ixBidAdapter.js +43 -106
  318. package/modules/jixieBidAdapter.js +3 -6
  319. package/modules/jwplayerVideoProvider.js +25 -32
  320. package/modules/kargoBidAdapter.js +1 -1
  321. package/modules/koblerBidAdapter.js +1 -2
  322. package/modules/kueezBidAdapter.js +1 -1
  323. package/modules/kueezRtbBidAdapter.js +1 -1
  324. package/modules/liveIntentIdSystem.js +11 -2
  325. package/modules/lotamePanoramaIdSystem.js +3 -2
  326. package/modules/luponmediaBidAdapter.js +1 -1
  327. package/modules/magniteAnalyticsAdapter.js +101 -9
  328. package/modules/mathildeadsBidAdapter.js +1 -1
  329. package/modules/mediafuseBidAdapter.js +1 -1
  330. package/modules/mediagoBidAdapter.js +1 -1
  331. package/modules/mediakeysBidAdapter.js +2 -3
  332. package/modules/medianetBidAdapter.js +1 -1
  333. package/modules/merkleIdSystem.js +2 -1
  334. package/modules/mgidBidAdapter.js +179 -27
  335. package/modules/mgidRtdProvider.js +3 -1
  336. package/modules/minutemediaBidAdapter.js +1 -1
  337. package/modules/minutemediaplusBidAdapter.js +1 -1
  338. package/modules/mwOpenLinkIdSystem.js +3 -2
  339. package/modules/naveggIdSystem.js +3 -2
  340. package/modules/nexx360BidAdapter.js +0 -1
  341. package/modules/nobidBidAdapter.js +1 -1
  342. package/modules/novatiqIdSystem.js +6 -3
  343. package/modules/oguryBidAdapter.js +3 -2
  344. package/modules/onetagBidAdapter.js +1 -1
  345. package/modules/onomagicBidAdapter.js +1 -2
  346. package/modules/openxBidAdapter.js +192 -563
  347. package/modules/openxBidAdapter.md +22 -20
  348. package/modules/openxOrtbBidAdapter.js +24 -10
  349. package/modules/openxOrtbBidAdapter.md +11 -8
  350. package/modules/operaadsBidAdapter.js +1 -1
  351. package/modules/parrableIdSystem.js +4 -2
  352. package/modules/permutiveRtdProvider.js +2 -1
  353. package/modules/prebidServerBidAdapter/index.js +9 -3
  354. package/modules/prebidServerBidAdapter/ortbConverter.js +12 -2
  355. package/modules/prebidmanagerAnalyticsAdapter.js +3 -2
  356. package/modules/pubCommonId.js +6 -3
  357. package/modules/publinkIdSystem.js +2 -1
  358. package/modules/pubmaticAnalyticsAdapter.js +12 -1
  359. package/modules/pubmaticBidAdapter.js +193 -223
  360. package/modules/pubwiseAnalyticsAdapter.js +5 -3
  361. package/modules/pubxBidAdapter.js +5 -2
  362. package/modules/quantcastBidAdapter.js +1 -1
  363. package/modules/quantcastIdSystem.js +5 -3
  364. package/modules/realvuAnalyticsAdapter.js +6 -3
  365. package/modules/riseBidAdapter.js +1 -1
  366. package/modules/roxotAnalyticsAdapter.js +5 -2
  367. package/modules/rtbhouseBidAdapter.js +5 -3
  368. package/modules/rtdModule/index.js +3 -0
  369. package/modules/rubiconAnalyticsAdapter.js +3 -2
  370. package/modules/rubiconBidAdapter.js +1 -0
  371. package/modules/sharedIdSystem.js +16 -36
  372. package/modules/sharethroughBidAdapter.js +2 -3
  373. package/modules/shinezBidAdapter.js +1 -1
  374. package/modules/sigmoidAnalyticsAdapter.js +4 -2
  375. package/modules/smartadserverBidAdapter.js +2 -3
  376. package/modules/smarthubBidAdapter.js +1 -1
  377. package/modules/sovrnBidAdapter.js +2 -3
  378. package/modules/staqAnalyticsAdapter.js +5 -3
  379. package/modules/stroeerCoreBidAdapter.js +3 -2
  380. package/modules/synacormediaBidAdapter.js +1 -3
  381. package/modules/taboolaBidAdapter.js +4 -2
  382. package/modules/teadsBidAdapter.js +1 -1
  383. package/modules/teadsIdSystem.js +2 -1
  384. package/modules/tripleliftBidAdapter.js +1 -1
  385. package/modules/truereachBidAdapter.js +1 -2
  386. package/modules/trustpidSystem.js +3 -2
  387. package/modules/ttdBidAdapter.js +11 -5
  388. package/modules/uid2IdSystem.js +3 -2
  389. package/modules/undertoneBidAdapter.js +1 -0
  390. package/modules/userId/eids.js +18 -0
  391. package/modules/userId/eids.md +16 -0
  392. package/modules/userId/index.js +5 -2
  393. package/modules/validationFpdModule/index.js +3 -2
  394. package/modules/vidazooBidAdapter.js +14 -5
  395. package/modules/videoheroesBidAdapter.js +1 -1
  396. package/modules/vidoomyBidAdapter.js +51 -2
  397. package/modules/visiblemeasuresBidAdapter.js +1 -1
  398. package/modules/vrtcalBidAdapter.js +1 -1
  399. package/modules/weboramaRtdProvider.js +3 -1
  400. package/modules/yieldmoBidAdapter.js +2 -3
  401. package/modules/yieldoneBidAdapter.js +1 -1
  402. package/modules/yuktamediaAnalyticsAdapter.js +4 -2
  403. package/modules/zeotapIdPlusIdSystem.js +3 -2
  404. package/modules/zeta_global_sspBidAdapter.js +3 -0
  405. package/package.json +1 -1
  406. package/plugins/eslint/validateImports.js +13 -14
  407. package/plugins/pbjsGlobals.js +3 -1
  408. package/src/Renderer.js +2 -1
  409. package/src/activities/modules.js +5 -0
  410. package/src/adapterManager.js +4 -8
  411. package/src/adapters/bidderFactory.js +30 -16
  412. package/src/consentHandler.js +42 -0
  413. package/src/native.js +5 -1
  414. package/src/refererDetection.js +39 -21
  415. package/src/secureCreatives.js +2 -2
  416. package/src/storageManager.js +33 -47
  417. package/src/userSync.js +7 -4
  418. package/test/spec/auctionmanager_spec.js +2 -2
  419. package/test/spec/libraries/domainOverrideToRootDomain/index_spec.js +77 -0
  420. package/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  421. package/test/spec/modules/acuityAdsBidAdapter_spec.js +2 -1
  422. package/test/spec/modules/adagioBidAdapter_spec.js +11 -17
  423. package/test/spec/modules/admixerIdSystem_spec.js +0 -3
  424. package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -6
  425. package/test/spec/modules/adrinoBidAdapter_spec.js +65 -34
  426. package/test/spec/modules/adsinteractiveBidAdapter_spec.js +207 -0
  427. package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -11
  428. package/test/spec/modules/aidemBidAdapter_spec.js +72 -8
  429. package/test/spec/modules/amxBidAdapter_spec.js +4 -1
  430. package/test/spec/modules/amxIdSystem_spec.js +13 -26
  431. package/test/spec/modules/appushBidAdapter_spec.js +2 -1
  432. package/test/spec/modules/atsAnalyticsAdapter_spec.js +2 -2
  433. package/test/spec/modules/audiencerunBidAdapter_spec.js +8 -11
  434. package/test/spec/modules/bedigitechBidAdapter_spec.js +145 -0
  435. package/test/spec/modules/beyondmediaBidAdapter_spec.js +2 -1
  436. package/test/spec/modules/bluebillywigBidAdapter_spec.js +1 -3
  437. package/test/spec/modules/compassBidAdapter_spec.js +2 -1
  438. package/test/spec/modules/concertBidAdapter_spec.js +3 -8
  439. package/test/spec/modules/connectIdSystem_spec.js +420 -242
  440. package/test/spec/modules/connectadBidAdapter_spec.js +11 -3
  441. package/test/spec/modules/contentexchangeBidAdapter_spec.js +2 -1
  442. package/test/spec/modules/criteoBidAdapter_spec.js +29 -0
  443. package/test/spec/modules/criteoIdSystem_spec.js +38 -0
  444. package/test/spec/modules/datablocksBidAdapter_spec.js +0 -1
  445. package/test/spec/modules/dspxBidAdapter_spec.js +184 -13
  446. package/test/spec/modules/eids_spec.js +30 -0
  447. package/test/spec/modules/fledge_spec.js +173 -2
  448. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +37 -0
  449. package/test/spec/modules/gdprEnforcement_spec.js +134 -164
  450. package/test/spec/modules/globalsunBidAdapter_spec.js +2 -1
  451. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +418 -0
  452. package/test/spec/modules/gridBidAdapter_spec.js +9 -5
  453. package/test/spec/modules/growthCodeIdSystem_spec.js +2 -1
  454. package/test/spec/modules/id5IdSystem_spec.js +41 -4
  455. package/test/spec/modules/identityLinkIdSystem_spec.js +2 -2
  456. package/test/spec/modules/improvedigitalBidAdapter_spec.js +10 -3
  457. package/test/spec/modules/iqzoneBidAdapter_spec.js +2 -1
  458. package/test/spec/modules/ivsBidAdapter_spec.js +197 -0
  459. package/test/spec/modules/ixBidAdapter_spec.js +84 -71
  460. package/test/spec/modules/jixieBidAdapter_spec.js +42 -60
  461. package/test/spec/modules/koblerBidAdapter_spec.js +0 -20
  462. package/test/spec/modules/liveIntentIdSystem_spec.js +10 -0
  463. package/test/spec/modules/luponmediaBidAdapter_spec.js +1 -1
  464. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +129 -1
  465. package/test/spec/modules/mathildeadsBidAdapter_spec.js +2 -1
  466. package/test/spec/modules/mediakeysBidAdapter_spec.js +12 -16
  467. package/test/spec/modules/mgidBidAdapter_spec.js +184 -36
  468. package/test/spec/modules/oguryBidAdapter_spec.js +19 -4
  469. package/test/spec/modules/openxBidAdapter_spec.js +1157 -1936
  470. package/test/spec/modules/openxOrtbBidAdapter_spec.js +108 -50
  471. package/test/spec/modules/prebidServerBidAdapter_spec.js +68 -2
  472. package/test/spec/modules/publinkIdSystem_spec.js +3 -2
  473. package/test/spec/modules/pubmaticBidAdapter_spec.js +67 -10
  474. package/test/spec/modules/pubxBidAdapter_spec.js +10 -2
  475. package/test/spec/modules/realTimeDataModule_spec.js +22 -0
  476. package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -1
  477. package/test/spec/modules/relaidoBidAdapter_spec.js +5 -5
  478. package/test/spec/modules/rubiconBidAdapter_spec.js +2 -1
  479. package/test/spec/modules/sharedIdSystem_spec.js +0 -46
  480. package/test/spec/modules/sharethroughBidAdapter_spec.js +99 -22
  481. package/test/spec/modules/smartadserverBidAdapter_spec.js +74 -12
  482. package/test/spec/modules/smarthubBidAdapter_spec.js +2 -1
  483. package/test/spec/modules/sovrnBidAdapter_spec.js +25 -6
  484. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +13 -18
  485. package/test/spec/modules/synacormediaBidAdapter_spec.js +0 -26
  486. package/test/spec/modules/taboolaBidAdapter_spec.js +101 -0
  487. package/test/spec/modules/ttdBidAdapter_spec.js +25 -7
  488. package/test/spec/modules/userId_spec.js +68 -0
  489. package/test/spec/modules/vidazooBidAdapter_spec.js +13 -0
  490. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +17 -4
  491. package/test/spec/modules/vidoomyBidAdapter_spec.js +68 -0
  492. package/test/spec/modules/visiblemeasuresBidAdapter_spec.js +2 -1
  493. package/test/spec/modules/vrtcalBidAdapter_spec.js +3 -2
  494. package/test/spec/modules/yieldmoBidAdapter_spec.js +18 -2
  495. package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -2
  496. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +8 -0
  497. package/test/spec/refererDetection_spec.js +56 -1
  498. package/test/spec/renderer_spec.js +1 -2
  499. package/test/spec/unit/core/adapterManager_spec.js +21 -58
  500. package/test/spec/unit/core/bidderFactory_spec.js +28 -10
  501. package/test/spec/unit/core/consentHandler_spec.js +29 -1
  502. package/test/spec/unit/core/storageManager_spec.js +31 -21
  503. package/test/spec/userSync_spec.js +2 -1
@@ -19,6 +19,57 @@ import {hook} from '../../../src/hook.js';
19
19
 
20
20
  const DEFAULT_SYNC = SYNC_URL + '?ph=' + DEFAULT_PH;
21
21
 
22
+ const BidRequestBuilder = function BidRequestBuilder(options) {
23
+ const defaults = {
24
+ request: {
25
+ auctionId: '4fd1ca2d-846c-4211-b9e5-321dfe1709c9',
26
+ adUnitCode: 'adunit-code',
27
+ bidder: 'openx'
28
+ },
29
+ params: {
30
+ unit: '12345678',
31
+ delDomain: 'test-del-domain'
32
+ },
33
+ sizes: [[300, 250], [300, 600]],
34
+ };
35
+
36
+ const request = {
37
+ ...defaults.request,
38
+ ...options
39
+ };
40
+
41
+ this.withParams = (options) => {
42
+ request.params = {
43
+ ...defaults.params,
44
+ ...options
45
+ };
46
+ return this;
47
+ };
48
+
49
+ this.build = () => request;
50
+ };
51
+
52
+ const BidderRequestBuilder = function BidderRequestBuilder(options) {
53
+ const defaults = {
54
+ bidderCode: 'openx',
55
+ auctionId: '4fd1ca2d-846c-4211-b9e5-321dfe1709c9',
56
+ bidderRequestId: '7g36s867Tr4xF90X',
57
+ timeout: 3000,
58
+ refererInfo: {
59
+ numIframes: 0,
60
+ reachedTop: true,
61
+ referer: 'http://test.io/index.html?pbjs_debug=true'
62
+ }
63
+ };
64
+
65
+ const request = {
66
+ ...defaults,
67
+ ...options
68
+ };
69
+
70
+ this.build = () => request;
71
+ };
72
+
22
73
  describe('OpenxRtbAdapter', function () {
23
74
  before(() => {
24
75
  hook.ready();
@@ -249,6 +300,18 @@ describe('OpenxRtbAdapter', function () {
249
300
  });
250
301
 
251
302
  context('common requests checks', function() {
303
+ it('should be able to handle multiformat requests', () => {
304
+ const multiformat = utils.deepClone(bidRequestsWithMediaTypes[0]);
305
+ multiformat.mediaTypes.video = {
306
+ context: 'outstream',
307
+ playerSize: [640, 480]
308
+ }
309
+ const requests = spec.buildRequests([multiformat], mockBidderRequest);
310
+ const outgoingFormats = requests.flatMap(rq => rq.data.imp.flatMap(imp => ['banner', 'video'].filter(k => imp[k] != null)));
311
+ const expected = FEATURES.VIDEO ? ['banner', 'video'] : ['banner']
312
+ expect(outgoingFormats).to.have.members(expected);
313
+ })
314
+
252
315
  it('should send bid request to openx url via POST', function () {
253
316
  const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);
254
317
  expect(request[0].url).to.equal(REQUEST_URL);
@@ -789,6 +852,12 @@ describe('OpenxRtbAdapter', function () {
789
852
  expect(request[0].data.regs.coppa).to.equal(1);
790
853
  });
791
854
 
855
+ it('should send a coppa flag there is when there is coppa param settings in the bid params', function () {
856
+ const request = spec.buildRequests(bidRequestsWithMediaTypes, syncAddFPDToBidderRequest(mockBidderRequest));
857
+ request.params = {coppa: true};
858
+ expect(request[0].data.regs.coppa).to.equal(1);
859
+ });
860
+
792
861
  after(function () {
793
862
  config.getConfig.restore()
794
863
  });
@@ -963,17 +1032,6 @@ describe('OpenxRtbAdapter', function () {
963
1032
  });
964
1033
 
965
1034
  context('FLEDGE', function() {
966
- it('when FLEDGE is disabled, should not send imp.ext.ae', function () {
967
- const request = spec.buildRequests(
968
- bidRequestsWithMediaTypes,
969
- {
970
- ...mockBidderRequest,
971
- fledgeEnabled: false
972
- }
973
- );
974
- expect(request[0].data.imp[0].ext).to.not.have.property('ae');
975
- });
976
-
977
1035
  it('when FLEDGE is enabled, should send whatever is set in ortb2imp.ext.ae in all bid requests', function () {
978
1036
  const request = spec.buildRequests(bidRequestsWithMediaTypes, {
979
1037
  ...mockBidderRequest,
@@ -997,47 +1055,47 @@ describe('OpenxRtbAdapter', function () {
997
1055
  const request = spec.buildRequests(bidRequestsWithMediaTypes, mockBidderRequest);
998
1056
  expect(request[1].data.imp[0]).to.have.any.keys(VIDEO);
999
1057
  });
1058
+
1059
+ it('Update imp.video with OpenRTB options from mimeTypes and params', function() {
1060
+ const bid01 = new BidRequestBuilder({
1061
+ adUnitCode: 'adunit-code-01',
1062
+ mediaTypes: {
1063
+ banner: { sizes: [[300, 250]] },
1064
+ video: {
1065
+ context: 'outstream',
1066
+ playerSize: [[300, 250]],
1067
+ mimes: ['video/mp4'],
1068
+ protocols: [8]
1069
+ }
1070
+ },
1071
+ }).withParams({
1072
+ // options in video, will merge
1073
+ video: {
1074
+ skip: 1,
1075
+ skipafter: 4,
1076
+ minduration: 10,
1077
+ maxduration: 30
1078
+ }
1079
+ }).build();
1080
+
1081
+ const bidderRequest = new BidderRequestBuilder().build();
1082
+ const expected = {
1083
+ mimes: ['video/mp4'],
1084
+ skip: 1,
1085
+ skipafter: 4,
1086
+ minduration: 10,
1087
+ maxduration: 30,
1088
+ placement: 4,
1089
+ protocols: [8],
1090
+ w: 300,
1091
+ h: 250
1092
+ };
1093
+ const requests = spec.buildRequests([bid01], bidderRequest);
1094
+ expect(requests).to.have.lengthOf(2);
1095
+ expect(requests[1].data.imp[0].video).to.deep.equal(expected);
1096
+ });
1000
1097
  });
1001
1098
  }
1002
-
1003
- it.skip('should send ad unit ids when any are defined', function () {
1004
- const bidRequestsWithUnitIds = [{
1005
- bidder: 'openx',
1006
- params: {
1007
- delDomain: 'test-del-domain'
1008
- },
1009
- adUnitCode: 'adunit-code',
1010
- mediaTypes: {
1011
- banner: {
1012
- sizes: [[300, 250], [300, 600]]
1013
- }
1014
- },
1015
- bidId: 'test-bid-id-1',
1016
- bidderRequestId: 'test-bid-request-1',
1017
- auctionId: 'test-auction-1',
1018
- transactionId: 'test-transaction-id-1'
1019
- }, {
1020
- bidder: 'openx',
1021
- params: {
1022
- unit: '22',
1023
- delDomain: 'test-del-domain'
1024
- },
1025
- adUnitCode: 'adunit-code',
1026
- mediaTypes: {
1027
- banner: {
1028
- sizes: [[728, 90]]
1029
- }
1030
- },
1031
- bidId: 'test-bid-id-2',
1032
- bidderRequestId: 'test-bid-request-2',
1033
- auctionId: 'test-auction-2',
1034
- transactionId: 'test-transaction-id-2'
1035
- }];
1036
- mockBidderRequest.bids = bidRequestsWithUnitIds;
1037
- const request = spec.buildRequests(bidRequestsWithUnitIds, mockBidderRequest);
1038
- expect(request[0].data.imp[1].tagid).to.equal(bidRequestsWithUnitIds[1].params.unit);
1039
- expect(request[0].data.imp[1].ext.divid).to.equal(bidRequestsWithUnitIds[1].params.adUnitCode);
1040
- });
1041
1099
  });
1042
1100
 
1043
1101
  describe('interpretResponse()', function () {
@@ -8,7 +8,7 @@ import {
8
8
  } from 'modules/prebidServerBidAdapter/index.js';
9
9
  import adapterManager from 'src/adapterManager.js';
10
10
  import * as utils from 'src/utils.js';
11
- import {deepAccess, deepClone} from 'src/utils.js';
11
+ import {deepAccess, deepClone, mergeDeep} from 'src/utils.js';
12
12
  import {ajax} from 'src/ajax.js';
13
13
  import {config} from 'src/config.js';
14
14
  import * as events from 'src/events.js';
@@ -25,13 +25,15 @@ import 'modules/priceFloors.js';
25
25
  import 'modules/consentManagement.js';
26
26
  import 'modules/consentManagementUsp.js';
27
27
  import 'modules/schain.js';
28
+ import 'modules/fledgeForGpt.js';
28
29
  import {hook} from '../../../src/hook.js';
29
30
  import {decorateAdUnitsWithNativeParams} from '../../../src/native.js';
30
31
  import {auctionManager} from '../../../src/auctionManager.js';
31
32
  import {stubAuctionIndex} from '../../helpers/indexStub.js';
32
- import {registerBidder} from 'src/adapters/bidderFactory.js';
33
+ import {addComponentAuction, registerBidder} from 'src/adapters/bidderFactory.js';
33
34
  import {getGlobal} from '../../../src/prebidGlobal.js';
34
35
  import {syncAddFPDEnrichments, syncAddFPDToBidderRequest} from '../../helpers/fpd.js';
36
+ import {deepSetValue} from '../../../src/utils.js';
35
37
 
36
38
  let CONFIG = {
37
39
  accountId: '1',
@@ -3296,6 +3298,70 @@ describe('S2S Adapter', function () {
3296
3298
  });
3297
3299
  });
3298
3300
  });
3301
+ describe('when the response contains ext.prebid.fledge', () => {
3302
+ let fledgeStub, request, bidderRequests;
3303
+
3304
+ function fledgeHook(next, ...args) {
3305
+ fledgeStub(...args);
3306
+ }
3307
+
3308
+ before(() => {
3309
+ addComponentAuction.before(fledgeHook);
3310
+ });
3311
+
3312
+ after(() => {
3313
+ addComponentAuction.getHooks({hook: fledgeHook}).remove();
3314
+ })
3315
+
3316
+ beforeEach(function () {
3317
+ fledgeStub = sinon.stub();
3318
+ config.setConfig({CONFIG});
3319
+ request = deepClone(REQUEST);
3320
+ request.ad_units.forEach(au => deepSetValue(au, 'ortb2Imp.ext.ae', 1));
3321
+ bidderRequests = deepClone(BID_REQUESTS);
3322
+ bidderRequests.forEach(req => req.fledgeEnabled = true);
3323
+ });
3324
+
3325
+ const AU = 'div-gpt-ad-1460505748561-0';
3326
+ const FLEDGE_RESP = {
3327
+ ext: {
3328
+ prebid: {
3329
+ fledge: {
3330
+ auctionconfigs: [
3331
+ {
3332
+ impid: AU,
3333
+ config: {
3334
+ id: 1
3335
+ }
3336
+ },
3337
+ {
3338
+ impid: AU,
3339
+ config: {
3340
+ id: 2
3341
+ }
3342
+ }
3343
+ ]
3344
+ }
3345
+ }
3346
+ }
3347
+ }
3348
+
3349
+ it('calls addComponentAuction alongside addBidResponse', function () {
3350
+ adapter.callBids(request, bidderRequests, addBidResponse, done, ajax);
3351
+ server.requests[0].respond(200, {}, JSON.stringify(mergeDeep({}, RESPONSE_OPENRTB, FLEDGE_RESP)));
3352
+ expect(addBidResponse.called).to.be.true;
3353
+ sinon.assert.calledWith(fledgeStub, AU, {id: 1});
3354
+ sinon.assert.calledWith(fledgeStub, AU, {id: 2});
3355
+ });
3356
+
3357
+ it('calls addComponentAuction when there is no bid in the response', () => {
3358
+ adapter.callBids(request, bidderRequests, addBidResponse, done, ajax);
3359
+ server.requests[0].respond(200, {}, JSON.stringify(FLEDGE_RESP));
3360
+ expect(addBidResponse.called).to.be.false;
3361
+ sinon.assert.calledWith(fledgeStub, AU, {id: 1});
3362
+ sinon.assert.calledWith(fledgeStub, AU, {id: 2});
3363
+ })
3364
+ });
3299
3365
  });
3300
3366
 
3301
3367
  describe('bid won events', function () {
@@ -1,11 +1,12 @@
1
1
  import {publinkIdSubmodule} from 'modules/publinkIdSystem.js';
2
- import {getStorageManager} from '../../../src/storageManager';
2
+ import {getCoreStorageManager, getStorageManager} from '../../../src/storageManager';
3
3
  import {server} from 'test/mocks/xhr.js';
4
4
  import sinon from 'sinon';
5
5
  import {uspDataHandler} from '../../../src/adapterManager';
6
6
  import {parseUrl} from '../../../src/utils';
7
7
 
8
- export const storage = getStorageManager({gvlid: 24});
8
+ const storage = getCoreStorageManager();
9
+
9
10
  const TEST_COOKIE_VALUE = 'cookievalue';
10
11
  describe('PublinkIdSystem', () => {
11
12
  describe('decode', () => {
@@ -194,6 +194,14 @@ describe('PubMatic adapter', function () {
194
194
  image: { required: true, sizes: [300, 250] },
195
195
  sponsoredBy: { required: true }
196
196
  },
197
+ nativeOrtbRequest: {
198
+ ver: '1.2',
199
+ assets: [
200
+ { id: 0, required: 1, title: {len: 140} },
201
+ { id: 1, required: 1, img: { type: 3, w: 300, h: 250 } },
202
+ { id: 2, required: 1, data: { type: 1 } }
203
+ ]
204
+ },
197
205
  bidder: 'pubmatic',
198
206
  params: {
199
207
  publisherId: '5670',
@@ -243,6 +251,22 @@ describe('PubMatic adapter', function () {
243
251
  desc2: {required: true, len: 10, ext: {'desc21': 'desc22'}},
244
252
  displayurl: {required: true, len: 10, ext: {'displayurl1': 'displayurl2'}}
245
253
  },
254
+ nativeOrtbRequest: {
255
+ 'ver': '1.2',
256
+ 'assets': [
257
+ {'id': 0, 'required': 1, 'title': {'len': 80}},
258
+ {'id': 1, 'required': 1, 'img': {'type': 1, 'w': 50, 'h': 50}},
259
+ {'id': 2, 'required': 1, 'img': {'type': 3, 'w': 728, 'h': 90}},
260
+ {'id': 3, 'required': 1, 'data': {'type': 1, 'len': 10}},
261
+ {'id': 4, 'required': 1, 'data': {'type': 2, 'len': 10}},
262
+ {'id': 5, 'required': 1, 'data': {'type': 3, 'len': 10}},
263
+ {'id': 6, 'required': 1, 'data': {'type': 4, 'len': 10}},
264
+ {'id': 7, 'required': 1, 'data': {'type': 5, 'len': 10}},
265
+ {'id': 8, 'required': 1, 'data': {'type': 6, 'len': 10}},
266
+ {'id': 9, 'required': 1, 'data': {'type': 8, 'len': 10}},
267
+ {'id': 10, 'required': 1, 'data': {'type': 9, 'len': 10}}
268
+ ]
269
+ },
246
270
  bidder: 'pubmatic',
247
271
  params: {
248
272
  publisherId: '5670',
@@ -301,6 +325,14 @@ describe('PubMatic adapter', function () {
301
325
  image: { required: false, sizes: [300, 250] },
302
326
  sponsoredBy: { required: true }
303
327
  },
328
+ nativeOrtbRequest: {
329
+ ver: '1.2',
330
+ assets: [
331
+ { id: 0, required: 0, title: {len: 140} },
332
+ { id: 1, required: 0, img: {type: 3, w: 300, h: 250} },
333
+ { id: 2, required: 1, data: {type: 1} }
334
+ ]
335
+ },
304
336
  bidder: 'pubmatic',
305
337
  params: {
306
338
  publisherId: '5670',
@@ -389,6 +421,14 @@ describe('PubMatic adapter', function () {
389
421
  image: { required: true, sizes: [300, 250] },
390
422
  sponsoredBy: { required: true }
391
423
  },
424
+ nativeOrtbRequest: {
425
+ ver: '1.2',
426
+ assets: [
427
+ {id: 0, required: 1, title: {len: 140}},
428
+ {id: 1, required: 1, img: {type: 3, w: 300, h: 250}},
429
+ {id: 2, required: 1, data: {type: 1}}
430
+ ]
431
+ },
392
432
  bidder: 'pubmatic',
393
433
  params: {
394
434
  publisherId: '301',
@@ -442,6 +482,14 @@ describe('PubMatic adapter', function () {
442
482
  image: { required: true, sizes: [300, 250] },
443
483
  sponsoredBy: { required: true }
444
484
  },
485
+ nativeOrtbRequest: {
486
+ ver: '1.2',
487
+ assets: [
488
+ { id: 0, required: 1, title: {len: 140} },
489
+ { id: 1, required: 1, img: { type: 3, w: 300, h: 250 } },
490
+ { id: 2, required: 1, data: { type: 1 } }
491
+ ]
492
+ },
445
493
  bidder: 'pubmatic',
446
494
  params: {
447
495
  publisherId: '301',
@@ -503,6 +551,14 @@ describe('PubMatic adapter', function () {
503
551
  image: { required: true, sizes: [300, 250] },
504
552
  sponsoredBy: { required: true }
505
553
  },
554
+ nativeOrtbRequest: {
555
+ ver: '1.2',
556
+ assets: [
557
+ { id: 0, required: 1, title: {len: 80} },
558
+ { id: 1, required: 1, img: { type: 3, w: 300, h: 250 } },
559
+ { id: 2, required: 1, data: { type: 1 } }
560
+ ]
561
+ },
506
562
  bidder: 'pubmatic',
507
563
  params: {
508
564
  publisherId: '301',
@@ -603,7 +659,7 @@ describe('PubMatic adapter', function () {
603
659
 
604
660
  validnativeBidImpression = {
605
661
  'native': {
606
- 'request': '{"assets":[{"id":1,"required":1,"title":{"len":80}},{"id":2,"required":1,"img":{"type":3,"w":300,"h":250}},{"id":4,"required":1,"data":{"type":1}}]}'
662
+ 'request': '{"ver":"1.2","assets":[{"id":0,"required":1,"title":{"len":80}},{"id":1,"required":1,"img":{"type":3,"w":300,"h":250}},{"id":2,"required":1,"data":{"type":1}}]}'
607
663
  }
608
664
  }
609
665
 
@@ -615,13 +671,13 @@ describe('PubMatic adapter', function () {
615
671
 
616
672
  validnativeBidImpressionWithRequiredParam = {
617
673
  'native': {
618
- 'request': '{"assets":[{"id":1,"required":0,"title":{"len":80}},{"id":2,"required":0,"img":{"type":3,"w":300,"h":250}},{"id":4,"required":1,"data":{"type":1}}]}'
674
+ 'request': '{"ver":"1.2","assets":[{"id":0,"required":0,"title":{"len":80}},{"id":1,"required":0,"img":{"type":3,"w":300,"h":250}},{"id":2,"required":1,"data":{"type":1}}]}'
619
675
  }
620
676
  }
621
677
 
622
678
  validnativeBidImpressionWithAllParams = {
623
679
  native: {
624
- 'request': '{"assets":[{"id":1,"required":1,"title":{"len":80,"ext":{"title1":"title2"}}},{"id":3,"required":1,"img":{"type":1,"w":50,"h":50}},{"id":2,"required":1,"img":{"type":3,"w":728,"h":90,"mimes":["image/png","image/gif"],"ext":{"image1":"image2"}}},{"id":4,"required":1,"data":{"type":1,"len":10,"ext":{"sponsor1":"sponsor2"}}},{"id":5,"required":1,"data":{"type":2,"len":10,"ext":{"body1":"body2"}}},{"id":13,"required":1,"data":{"type":3,"len":10,"ext":{"rating1":"rating2"}}},{"id":14,"required":1,"data":{"type":4,"len":10,"ext":{"likes1":"likes2"}}},{"id":15,"required":1,"data":{"type":5,"len":10,"ext":{"downloads1":"downloads2"}}},{"id":16,"required":1,"data":{"type":6,"len":10,"ext":{"price1":"price2"}}},{"id":17,"required":1,"data":{"type":7,"len":10,"ext":{"saleprice1":"saleprice2"}}},{"id":18,"required":1,"data":{"type":8,"len":10,"ext":{"phone1":"phone2"}}},{"id":19,"required":1,"data":{"type":9,"len":10,"ext":{"address1":"address2"}}},{"id":20,"required":1,"data":{"type":10,"len":10,"ext":{"desc21":"desc22"}}},{"id":21,"required":1,"data":{"type":11,"len":10,"ext":{"displayurl1":"displayurl2"}}}]}'
680
+ 'request': '{"ver":"1.2","assets":[{"id":0,"required":1,"title":{"len":80,"ext":{"title1":"title2"}}},{"id":1,"required":1,"img":{"type":1,"w":50,"h":50,"ext":{"icon1":"icon2"}}},{"id":2,"required":1,"img":{"type":3,"w":728,"h":90,"ext":{"image1":"image2"},"mimes":["image/png","image/gif"]}},{"id":3,"required":1,"data":{"type":1,"len":10,"ext":{"sponsor1":"sponsor2"}}},{"id":4,"required":1,"data":{"type":2,"len":10,"ext":{"body1":"body2"}}},{"id":5,"required":1,"data":{"type":3,"len":10,"ext":{"rating1":"rating2"}}},{"id":6,"required":1,"data":{"type":4,"len":10,"ext":{"likes1":"likes2"}}},{"id":7,"required":1,"data":{"type":5,"len":10,"ext":{"downloads1":"downloads2"}}},{"id":8,"required":1,"data":{"type":6,"len":10,"ext":{"price1":"price2"}}},{"id":9,"required":1,"data":{"type":7,"len":10,"ext":{"saleprice1":"saleprice2"}}},{"id":10,"required":1,"data":{"type":8,"len":10,"ext":{"phone1":"phone2"}}},{"id":11,"required":1,"data":{"type":9,"len":10,"ext":{"address1":"address2"}}},{"id":12,"required":1,"data":{"type":10,"len":10,"ext":{"desc21":"desc22"}}},{"id":13,"required":1,"data":{"type":11,"len":10,"ext":{"displayurl1":"displayurl2"}}}]}'
625
681
  }
626
682
  }
627
683
 
@@ -3495,16 +3551,17 @@ describe('PubMatic adapter', function () {
3495
3551
  data.imp[0].id = '2a5571261281d4';
3496
3552
  request.data = JSON.stringify(data);
3497
3553
  let response = spec.interpretResponse(nativeBidResponse, request);
3554
+ let assets = response[0].native.ortb.assets;
3498
3555
  expect(response).to.be.an('array').with.length.above(0);
3499
3556
  expect(response[0].native).to.exist.and.to.be.an('object');
3500
3557
  expect(response[0].mediaType).to.exist.and.to.equal('native');
3501
- expect(response[0].native.title).to.exist.and.to.be.an('string');
3502
- expect(response[0].native.image).to.exist.and.to.be.an('object');
3503
- expect(response[0].native.image.url).to.exist.and.to.be.an('string');
3504
- expect(response[0].native.image.height).to.exist;
3505
- expect(response[0].native.image.width).to.exist;
3506
- expect(response[0].native.sponsoredBy).to.exist.and.to.be.an('string');
3507
- expect(response[0].native.clickUrl).to.exist.and.to.be.an('string');
3558
+ expect(assets).to.be.an('array').with.length.above(0);
3559
+ expect(assets[0].title).to.exist.and.to.be.an('object');
3560
+ expect(assets[1].img).to.exist.and.to.be.an('object');
3561
+ expect(assets[1].img.url).to.exist.and.to.be.an('string');
3562
+ expect(assets[1].img.h).to.exist;
3563
+ expect(assets[1].img.w).to.exist;
3564
+ expect(assets[2].data).to.exist.and.to.be.an('object');
3508
3565
  });
3509
3566
 
3510
3567
  it('should check for valid banner mediaType in case of multiformat request', function() {
@@ -39,14 +39,22 @@ describe('pubxAdapter', function () {
39
39
  id: '26c1ee0038ac11',
40
40
  params: {
41
41
  sid: '12345abc'
42
+ },
43
+ ortb2: {
44
+ site: {
45
+ page: `${location.href}?test=1`
46
+ }
42
47
  }
43
48
  }
44
49
  ];
45
50
 
46
51
  const data = {
47
52
  banner: {
48
- sid: '12345abc'
49
- }
53
+ sid: '12345abc',
54
+ pu: encodeURIComponent(
55
+ utils.deepAccess(bidRequests[0], 'ortb2.site.page').replace(/\?.*$/, '')
56
+ ),
57
+ },
50
58
  };
51
59
 
52
60
  it('sends bid request to ENDPOINT via GET', function () {
@@ -5,6 +5,8 @@ import {default as CONSTANTS} from '../../../src/constants.json';
5
5
  import * as events from '../../../src/events.js';
6
6
  import 'src/prebid.js';
7
7
  import {attachRealTimeDataProvider, onDataDeletionRequest} from 'modules/rtdModule/index.js';
8
+ import {GDPR_GVLIDS} from '../../../src/consentHandler.js';
9
+ import {MODULE_TYPE_RTD} from '../../../src/activities/modules.js';
8
10
 
9
11
  const getBidRequestDataSpy = sinon.spy();
10
12
 
@@ -84,6 +86,26 @@ describe('Real time module', function () {
84
86
  sandbox.restore();
85
87
  });
86
88
 
89
+ describe('GVL IDs', () => {
90
+ beforeEach(() => {
91
+ sinon.stub(GDPR_GVLIDS, 'register');
92
+ });
93
+
94
+ afterEach(() => {
95
+ GDPR_GVLIDS.register.restore();
96
+ });
97
+
98
+ it('are registered when RTD module is registered', () => {
99
+ let mod;
100
+ try {
101
+ mod = attachRealTimeDataProvider({name: 'mockRtd', gvlid: 123});
102
+ sinon.assert.calledWith(GDPR_GVLIDS.register, MODULE_TYPE_RTD, 'mockRtd', 123);
103
+ } finally {
104
+ mod && mod();
105
+ }
106
+ })
107
+ })
108
+
87
109
  describe('', () => {
88
110
  const PROVIDERS = [validSM, invalidSM, failureSM, nonConfSM, validSMWait];
89
111
  let _detachers;
@@ -50,7 +50,6 @@ describe('RealVu', function() {
50
50
 
51
51
  describe('Analytics Adapter.', function () {
52
52
  it('enableAnalytics', function () {
53
- this.timeout(3500)
54
53
  const config = {
55
54
  options: {
56
55
  partnerId: '1Y',
@@ -1,13 +1,13 @@
1
- import { expect } from 'chai';
2
- import { spec } from 'modules/relaidoBidAdapter.js';
1
+ import {expect} from 'chai';
2
+ import {spec} from 'modules/relaidoBidAdapter.js';
3
3
  import * as utils from 'src/utils.js';
4
- import { BANNER, VIDEO } from 'src/mediaTypes.js';
5
- import { getStorageManager } from '../../../src/storageManager.js';
4
+ import {VIDEO} from 'src/mediaTypes.js';
5
+ import {getCoreStorageManager} from '../../../src/storageManager.js';
6
6
 
7
7
  const UUID_KEY = 'relaido_uuid';
8
8
  const relaido_uuid = 'hogehoge';
9
9
 
10
- const storage = getStorageManager();
10
+ const storage = getCoreStorageManager();
11
11
  storage.setCookie(UUID_KEY, relaido_uuid);
12
12
 
13
13
  describe('RelaidoAdapter', function () {
@@ -600,7 +600,7 @@ describe('the rubicon adapter', function () {
600
600
  sandbox.stub(Math, 'random').callsFake(() => 0.1);
601
601
  let [request] = spec.buildRequests(bidderRequest.bids, bidderRequest);
602
602
 
603
- const referenceOrdering = ['account_id', 'site_id', 'zone_id', 'size_id', 'alt_size_ids', 'p_pos', 'rf', 'p_geo.latitude', 'p_geo.longitude', 'kw', 'tg_v.ucat', 'tg_v.lastsearch', 'tg_v.likes', 'tg_i.rating', 'tg_i.prodtype', 'tk_flint', 'x_source.tid', 'l_pb_bid_id', 'p_screen_res', 'rp_secure', 'tk_user_key', 'tg_fl.eid', 'rp_maxbids', 'slots', 'rand'];
603
+ const referenceOrdering = ['account_id', 'site_id', 'zone_id', 'size_id', 'alt_size_ids', 'p_pos', 'rf', 'p_geo.latitude', 'p_geo.longitude', 'kw', 'tg_v.ucat', 'tg_v.lastsearch', 'tg_v.likes', 'tg_i.rating', 'tg_i.prodtype', 'tk_flint', 'x_source.tid', 'l_pb_bid_id', 'p_screen_res', 'rp_secure', 'tk_user_key', 'x_imp.ext.tid', 'tg_fl.eid', 'rp_maxbids', 'slots', 'rand'];
604
604
 
605
605
  request.data.split('&').forEach((item, i) => {
606
606
  expect(item.split('=')[0]).to.equal(referenceOrdering[i]);
@@ -619,6 +619,7 @@ describe('the rubicon adapter', function () {
619
619
  'rand': '0.1',
620
620
  'tk_flint': INTEGRATION,
621
621
  'x_source.tid': 'd45dd707-a418-42ec-b8a7-b70a6c6fab0b',
622
+ 'x_imp.ext.tid': 'd45dd707-a418-42ec-b8a7-b70a6c6fab0b',
622
623
  'p_screen_res': /\d+x\d+/,
623
624
  'tk_user_key': '12346',
624
625
  'kw': 'a,b,c',
@@ -91,50 +91,4 @@ describe('SharedId System', function () {
91
91
  expect(result).to.be.undefined;
92
92
  });
93
93
  });
94
-
95
- describe('SharedID System domainOverride', () => {
96
- let sandbox, domain, cookies, rejectCookiesFor;
97
-
98
- beforeEach(() => {
99
- sandbox = sinon.createSandbox();
100
- sandbox.stub(document, 'domain').get(() => domain);
101
- cookies = {};
102
- sandbox.stub(storage, 'getCookie').callsFake((key) => cookies[key]);
103
- rejectCookiesFor = null;
104
- sandbox.stub(storage, 'setCookie').callsFake((key, value, expires, sameSite, domain) => {
105
- if (domain !== rejectCookiesFor) {
106
- if (expires != null) {
107
- expires = new Date(expires);
108
- }
109
- if (expires == null || expires > Date.now()) {
110
- cookies[key] = value;
111
- } else {
112
- delete cookies[key];
113
- }
114
- }
115
- });
116
- });
117
-
118
- afterEach(() => {
119
- sandbox.restore();
120
- });
121
-
122
- it('should return TLD if cookies can be set there', () => {
123
- domain = 'sub.domain.com';
124
- rejectCookiesFor = 'com';
125
- expect(sharedIdSystemSubmodule.domainOverride()).to.equal('domain.com');
126
- });
127
-
128
- it('should return undefined when cookies cannot be set', () => {
129
- domain = 'sub.domain.com';
130
- rejectCookiesFor = 'sub.domain.com';
131
- expect(sharedIdSystemSubmodule.domainOverride()).to.be.undefined;
132
- });
133
-
134
- it('should return half-way domain if parent domain rejects cookies', () => {
135
- domain = 'inner.outer.domain.com';
136
- rejectCookiesFor = 'domain.com';
137
- expect(sharedIdSystemSubmodule.domainOverride()).to.equal('outer.domain.com');
138
- });
139
- });
140
94
  });