@openreplay/tracker 3.6.0-beta.0 → 3.6.2

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 (126) hide show
  1. package/cjs/app/guards.d.ts +1 -2
  2. package/cjs/app/guards.js +3 -6
  3. package/cjs/app/index.d.ts +22 -24
  4. package/cjs/app/index.js +84 -85
  5. package/cjs/app/logger.js +3 -6
  6. package/cjs/app/nodes.js +0 -2
  7. package/cjs/app/observer/iframe_observer.d.ts +1 -1
  8. package/cjs/app/observer/iframe_observer.js +3 -3
  9. package/cjs/app/observer/observer.d.ts +3 -2
  10. package/cjs/app/observer/observer.js +52 -50
  11. package/cjs/app/observer/shadow_root_observer.d.ts +1 -1
  12. package/cjs/app/observer/shadow_root_observer.js +3 -3
  13. package/cjs/app/observer/top_observer.d.ts +2 -11
  14. package/cjs/app/observer/top_observer.js +23 -52
  15. package/cjs/app/sanitizer.d.ts +1 -1
  16. package/cjs/app/sanitizer.js +5 -5
  17. package/cjs/app/session.d.ts +2 -18
  18. package/cjs/app/session.js +6 -55
  19. package/cjs/app/ticker.d.ts +1 -1
  20. package/cjs/common/messages.d.ts +444 -0
  21. package/cjs/common/messages.js +794 -0
  22. package/cjs/common/types.d.ts +9 -0
  23. package/cjs/common/{interaction.js → types.js} +0 -0
  24. package/cjs/common/{interaction.d.ts → webworker.d.ts} +5 -5
  25. package/cjs/common/webworker.js +2 -0
  26. package/cjs/index.d.ts +10 -10
  27. package/cjs/index.js +37 -42
  28. package/cjs/modules/connection.d.ts +1 -1
  29. package/cjs/modules/connection.js +2 -2
  30. package/cjs/modules/console.d.ts +1 -1
  31. package/cjs/modules/console.js +21 -7
  32. package/cjs/modules/cssrules.d.ts +1 -1
  33. package/cjs/modules/cssrules.js +14 -18
  34. package/cjs/modules/exception.d.ts +3 -3
  35. package/cjs/modules/exception.js +20 -25
  36. package/cjs/modules/img.d.ts +1 -1
  37. package/cjs/modules/img.js +26 -39
  38. package/cjs/modules/input.d.ts +1 -1
  39. package/cjs/modules/input.js +21 -21
  40. package/cjs/modules/longtasks.d.ts +2 -0
  41. package/cjs/modules/longtasks.js +26 -0
  42. package/cjs/modules/mouse.d.ts +1 -1
  43. package/cjs/modules/mouse.js +43 -50
  44. package/cjs/modules/performance.d.ts +1 -1
  45. package/cjs/modules/performance.js +2 -2
  46. package/cjs/modules/scroll.d.ts +1 -1
  47. package/cjs/modules/scroll.js +7 -16
  48. package/cjs/modules/timing.d.ts +1 -1
  49. package/cjs/modules/timing.js +26 -14
  50. package/cjs/modules/viewport.d.ts +1 -1
  51. package/cjs/modules/viewport.js +4 -4
  52. package/cjs/utils.js +7 -7
  53. package/cjs/vendors/finder/finder.js +48 -53
  54. package/lib/app/guards.d.ts +1 -2
  55. package/lib/app/guards.js +2 -4
  56. package/lib/app/index.d.ts +22 -24
  57. package/lib/app/index.js +92 -93
  58. package/lib/app/logger.js +3 -6
  59. package/lib/app/nodes.js +0 -2
  60. package/lib/app/observer/iframe_observer.d.ts +1 -1
  61. package/lib/app/observer/iframe_observer.js +3 -3
  62. package/lib/app/observer/observer.d.ts +3 -2
  63. package/lib/app/observer/observer.js +53 -51
  64. package/lib/app/observer/shadow_root_observer.d.ts +1 -1
  65. package/lib/app/observer/shadow_root_observer.js +3 -3
  66. package/lib/app/observer/top_observer.d.ts +2 -11
  67. package/lib/app/observer/top_observer.js +27 -56
  68. package/lib/app/sanitizer.d.ts +1 -1
  69. package/lib/app/sanitizer.js +7 -7
  70. package/lib/app/session.d.ts +2 -18
  71. package/lib/app/session.js +6 -55
  72. package/lib/app/ticker.d.ts +1 -1
  73. package/lib/common/messages.d.ts +444 -0
  74. package/lib/common/messages.js +790 -0
  75. package/lib/common/tsconfig.tsbuildinfo +1 -1
  76. package/lib/common/types.d.ts +9 -0
  77. package/lib/common/{interaction.js → types.js} +0 -0
  78. package/lib/common/{interaction.d.ts → webworker.d.ts} +5 -5
  79. package/lib/common/webworker.js +1 -0
  80. package/lib/index.d.ts +10 -10
  81. package/lib/index.js +50 -55
  82. package/lib/modules/connection.d.ts +1 -1
  83. package/lib/modules/connection.js +2 -2
  84. package/lib/modules/console.d.ts +1 -1
  85. package/lib/modules/console.js +22 -8
  86. package/lib/modules/cssrules.d.ts +1 -1
  87. package/lib/modules/cssrules.js +15 -19
  88. package/lib/modules/exception.d.ts +3 -3
  89. package/lib/modules/exception.js +20 -25
  90. package/lib/modules/img.d.ts +1 -1
  91. package/lib/modules/img.js +28 -41
  92. package/lib/modules/input.d.ts +1 -1
  93. package/lib/modules/input.js +23 -23
  94. package/lib/modules/longtasks.d.ts +2 -0
  95. package/lib/modules/longtasks.js +23 -0
  96. package/lib/modules/mouse.d.ts +1 -1
  97. package/lib/modules/mouse.js +46 -53
  98. package/lib/modules/performance.d.ts +1 -1
  99. package/lib/modules/performance.js +3 -3
  100. package/lib/modules/scroll.d.ts +1 -1
  101. package/lib/modules/scroll.js +8 -17
  102. package/lib/modules/timing.d.ts +1 -1
  103. package/lib/modules/timing.js +28 -16
  104. package/lib/modules/viewport.d.ts +1 -1
  105. package/lib/modules/viewport.js +4 -4
  106. package/lib/utils.js +7 -7
  107. package/lib/vendors/finder/finder.js +48 -53
  108. package/package.json +10 -27
  109. package/.eslintignore +0 -8
  110. package/.prettierignore +0 -1
  111. package/cjs/app/messages.d.ts +0 -52
  112. package/cjs/app/messages.gen.d.ts +0 -57
  113. package/cjs/app/messages.gen.js +0 -494
  114. package/cjs/app/messages.js +0 -235
  115. package/cjs/common/messages.gen.d.ts +0 -382
  116. package/cjs/common/messages.gen.js +0 -62
  117. package/cjs/modules/adoptedStyleSheets.d.ts +0 -2
  118. package/cjs/modules/adoptedStyleSheets.js +0 -127
  119. package/lib/app/messages.d.ts +0 -52
  120. package/lib/app/messages.gen.d.ts +0 -57
  121. package/lib/app/messages.gen.js +0 -435
  122. package/lib/app/messages.js +0 -182
  123. package/lib/common/messages.gen.d.ts +0 -382
  124. package/lib/common/messages.gen.js +0 -59
  125. package/lib/modules/adoptedStyleSheets.d.ts +0 -2
  126. package/lib/modules/adoptedStyleSheets.js +0 -124
@@ -1,124 +0,0 @@
1
- import { TechnicalInfo, AdoptedSSReplaceURLBased, AdoptedSSInsertRuleURLBased, AdoptedSSDeleteRule, AdoptedSSAddOwner, AdoptedSSRemoveOwner, } from '../app/messages.gen.js';
2
- import { isRootNode } from '../app/guards.js';
3
- function hasAdoptedSS(node) {
4
- return (isRootNode(node) &&
5
- // @ts-ignore
6
- typeof node.adoptedStyleSheets !== 'undefined');
7
- }
8
- export default function (app) {
9
- if (app === null) {
10
- return;
11
- }
12
- if (!hasAdoptedSS(document)) {
13
- app.attachStartCallback(() => {
14
- // MBTODO: pre-start sendQueue app
15
- app.send(TechnicalInfo('no_adopted_stylesheets', ''));
16
- });
17
- return;
18
- }
19
- let nextID = 0xf;
20
- const styleSheetIDMap = new Map();
21
- const adoptedStyleSheetsOwnings = new Map();
22
- const updateAdoptedStyleSheets = (root) => {
23
- let nodeID = app.nodes.getID(root);
24
- if (root === document) {
25
- nodeID = 0; // main document doesn't have nodeID. ID count starts from the documentElement
26
- }
27
- if (!nodeID) {
28
- return;
29
- }
30
- let pastOwning = adoptedStyleSheetsOwnings.get(nodeID);
31
- if (!pastOwning) {
32
- pastOwning = [];
33
- }
34
- const nowOwning = [];
35
- const styleSheets = root.adoptedStyleSheets;
36
- for (const s of styleSheets) {
37
- let sheetID = styleSheetIDMap.get(s);
38
- const init = !sheetID;
39
- if (!sheetID) {
40
- sheetID = ++nextID;
41
- }
42
- nowOwning.push(sheetID);
43
- if (!pastOwning.includes(sheetID)) {
44
- app.send(AdoptedSSAddOwner(sheetID, nodeID));
45
- }
46
- if (init) {
47
- const rules = s.cssRules;
48
- for (let i = 0; i < rules.length; i++) {
49
- app.send(AdoptedSSInsertRuleURLBased(sheetID, rules[i].cssText, i, app.getBaseHref()));
50
- }
51
- }
52
- }
53
- for (const sheetID of pastOwning) {
54
- if (!nowOwning.includes(sheetID)) {
55
- app.send(AdoptedSSRemoveOwner(sheetID, nodeID));
56
- }
57
- }
58
- adoptedStyleSheetsOwnings.set(nodeID, nowOwning);
59
- };
60
- function patchAdoptedStyleSheets(prototype) {
61
- const nativeAdoptedStyleSheetsDescriptor = Object.getOwnPropertyDescriptor(prototype, 'adoptedStyleSheets');
62
- if (nativeAdoptedStyleSheetsDescriptor) {
63
- Object.defineProperty(prototype, 'adoptedStyleSheets', Object.assign(Object.assign({}, nativeAdoptedStyleSheetsDescriptor), { set: function (value) {
64
- // @ts-ignore
65
- const retVal = nativeAdoptedStyleSheetsDescriptor.set.call(this, value);
66
- updateAdoptedStyleSheets(this);
67
- return retVal;
68
- } }));
69
- }
70
- }
71
- const patchContext = (context) => {
72
- patchAdoptedStyleSheets(context.Document.prototype);
73
- patchAdoptedStyleSheets(context.ShadowRoot.prototype);
74
- //@ts-ignore TODO: configure ts (use necessary lib)
75
- const { insertRule, deleteRule, replace, replaceSync } = context.CSSStyleSheet.prototype;
76
- //@ts-ignore
77
- context.CSSStyleSheet.prototype.replace = function (text) {
78
- return replace.call(this, text).then((sheet) => {
79
- const sheetID = styleSheetIDMap.get(this);
80
- if (sheetID) {
81
- app.send(AdoptedSSReplaceURLBased(sheetID, text, app.getBaseHref()));
82
- }
83
- return sheet;
84
- });
85
- };
86
- //@ts-ignore
87
- context.CSSStyleSheet.prototype.replaceSync = function (text) {
88
- const sheetID = styleSheetIDMap.get(this);
89
- if (sheetID) {
90
- app.send(AdoptedSSReplaceURLBased(sheetID, text, app.getBaseHref()));
91
- }
92
- return replaceSync.call(this, text);
93
- };
94
- context.CSSStyleSheet.prototype.insertRule = function (rule, index = 0) {
95
- const sheetID = styleSheetIDMap.get(this);
96
- if (sheetID) {
97
- app.send(AdoptedSSInsertRuleURLBased(sheetID, rule, index, app.getBaseHref()));
98
- }
99
- return insertRule.call(this, rule, index);
100
- };
101
- context.CSSStyleSheet.prototype.deleteRule = function (index) {
102
- const sheetID = styleSheetIDMap.get(this);
103
- if (sheetID) {
104
- app.send(AdoptedSSDeleteRule(sheetID, index));
105
- }
106
- return deleteRule.call(this, index);
107
- };
108
- };
109
- patchContext(window);
110
- app.observer.attachContextCallback(patchContext);
111
- app.attachStopCallback(() => {
112
- styleSheetIDMap.clear();
113
- adoptedStyleSheetsOwnings.clear();
114
- });
115
- // So far main Document is not triggered with nodeCallbacks
116
- app.attachStartCallback(() => {
117
- updateAdoptedStyleSheets(document);
118
- });
119
- app.nodes.attachNodeCallback((node) => {
120
- if (hasAdoptedSS(node)) {
121
- updateAdoptedStyleSheets(node);
122
- }
123
- });
124
- }