@openreplay/tracker 8.1.2 → 8.1.3
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.
- package/cjs/app/index.js +2 -2
- package/cjs/index.js +1 -1
- package/lib/app/index.js +2 -2
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/coverage/clover.xml +0 -2973
- package/coverage/coverage-final.json +0 -44
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -191
- package/coverage/lcov-report/main/app/guards.ts.html +0 -229
- package/coverage/lcov-report/main/app/index.html +0 -206
- package/coverage/lcov-report/main/app/index.ts.html +0 -2149
- package/coverage/lcov-report/main/app/logger.ts.html +0 -277
- package/coverage/lcov-report/main/app/messages.gen.ts.html +0 -2752
- package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +0 -148
- package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +0 -289
- package/coverage/lcov-report/main/app/observer/index.html +0 -161
- package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +0 -142
- package/coverage/lcov-report/main/app/observer/top_observer.ts.html +0 -535
- package/coverage/lcov-report/main/app/sanitizer.ts.html +0 -394
- package/coverage/lcov-report/main/app/session.ts.html +0 -601
- package/coverage/lcov-report/main/app/ticker.ts.html +0 -250
- package/coverage/lcov-report/main/index.html +0 -131
- package/coverage/lcov-report/main/index.ts.html +0 -1144
- package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +0 -949
- package/coverage/lcov-report/main/modules/Network/index.html +0 -176
- package/coverage/lcov-report/main/modules/Network/index.ts.html +0 -169
- package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +0 -382
- package/coverage/lcov-report/main/modules/Network/utils.ts.html +0 -700
- package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +0 -823
- package/coverage/lcov-report/main/modules/attributeSender.ts.html +0 -217
- package/coverage/lcov-report/main/modules/axiosSpy.ts.html +0 -700
- package/coverage/lcov-report/main/modules/connection.ts.html +0 -160
- package/coverage/lcov-report/main/modules/console.ts.html +0 -535
- package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +0 -559
- package/coverage/lcov-report/main/modules/cssrules.ts.html +0 -418
- package/coverage/lcov-report/main/modules/exception.ts.html +0 -385
- package/coverage/lcov-report/main/modules/featureFlags.ts.html +0 -415
- package/coverage/lcov-report/main/modules/focus.ts.html +0 -220
- package/coverage/lcov-report/main/modules/fonts.ts.html +0 -289
- package/coverage/lcov-report/main/modules/img.ts.html +0 -433
- package/coverage/lcov-report/main/modules/index.html +0 -401
- package/coverage/lcov-report/main/modules/input.ts.html +0 -811
- package/coverage/lcov-report/main/modules/mouse.ts.html +0 -826
- package/coverage/lcov-report/main/modules/network.ts.html +0 -1129
- package/coverage/lcov-report/main/modules/performance.ts.html +0 -367
- package/coverage/lcov-report/main/modules/scroll.ts.html +0 -364
- package/coverage/lcov-report/main/modules/selection.ts.html +0 -202
- package/coverage/lcov-report/main/modules/tabs.ts.html +0 -124
- package/coverage/lcov-report/main/modules/timing.ts.html +0 -841
- package/coverage/lcov-report/main/modules/viewport.ts.html +0 -250
- package/coverage/lcov-report/main/utils.ts.html +0 -406
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/webworker/BatchWriter.ts.html +0 -481
- package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +0 -949
- package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +0 -436
- package/coverage/lcov-report/webworker/QueueSender.ts.html +0 -505
- package/coverage/lcov-report/webworker/index.html +0 -176
- package/coverage/lcov-report/webworker/index.ts.html +0 -616
- package/coverage/lcov.info +0 -5854
|
@@ -1,535 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for main/app/observer/top_observer.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../index.html">All files</a> / <a href="index.html">main/app/observer</a> top_observer.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">0% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/67</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">0% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/19</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">0% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/17</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">0% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/62</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line low'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
217
|
-
<span class="cline-any cline-no"> </span>
|
|
218
|
-
<span class="cline-any cline-neutral"> </span>
|
|
219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
220
|
-
<span class="cline-any cline-no"> </span>
|
|
221
|
-
<span class="cline-any cline-no"> </span>
|
|
222
|
-
<span class="cline-any cline-no"> </span>
|
|
223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-no"> </span>
|
|
225
|
-
<span class="cline-any cline-neutral"> </span>
|
|
226
|
-
<span class="cline-any cline-no"> </span>
|
|
227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-neutral"> </span>
|
|
231
|
-
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-neutral"> </span>
|
|
233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
235
|
-
<span class="cline-any cline-no"> </span>
|
|
236
|
-
<span class="cline-any cline-neutral"> </span>
|
|
237
|
-
<span class="cline-any cline-no"> </span>
|
|
238
|
-
<span class="cline-any cline-neutral"> </span>
|
|
239
|
-
<span class="cline-any cline-no"> </span>
|
|
240
|
-
<span class="cline-any cline-neutral"> </span>
|
|
241
|
-
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-no"> </span>
|
|
243
|
-
<span class="cline-any cline-no"> </span>
|
|
244
|
-
<span class="cline-any cline-neutral"> </span>
|
|
245
|
-
<span class="cline-any cline-neutral"> </span>
|
|
246
|
-
<span class="cline-any cline-neutral"> </span>
|
|
247
|
-
<span class="cline-any cline-neutral"> </span>
|
|
248
|
-
<span class="cline-any cline-neutral"> </span>
|
|
249
|
-
<span class="cline-any cline-neutral"> </span>
|
|
250
|
-
<span class="cline-any cline-neutral"> </span>
|
|
251
|
-
<span class="cline-any cline-no"> </span>
|
|
252
|
-
<span class="cline-any cline-no"> </span>
|
|
253
|
-
<span class="cline-any cline-neutral"> </span>
|
|
254
|
-
<span class="cline-any cline-neutral"> </span>
|
|
255
|
-
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-neutral"> </span>
|
|
257
|
-
<span class="cline-any cline-no"> </span>
|
|
258
|
-
<span class="cline-any cline-neutral"> </span>
|
|
259
|
-
<span class="cline-any cline-neutral"> </span>
|
|
260
|
-
<span class="cline-any cline-neutral"> </span>
|
|
261
|
-
<span class="cline-any cline-neutral"> </span>
|
|
262
|
-
<span class="cline-any cline-no"> </span>
|
|
263
|
-
<span class="cline-any cline-no"> </span>
|
|
264
|
-
<span class="cline-any cline-no"> </span>
|
|
265
|
-
<span class="cline-any cline-neutral"> </span>
|
|
266
|
-
<span class="cline-any cline-neutral"> </span>
|
|
267
|
-
<span class="cline-any cline-neutral"> </span>
|
|
268
|
-
<span class="cline-any cline-neutral"> </span>
|
|
269
|
-
<span class="cline-any cline-no"> </span>
|
|
270
|
-
<span class="cline-any cline-neutral"> </span>
|
|
271
|
-
<span class="cline-any cline-neutral"> </span>
|
|
272
|
-
<span class="cline-any cline-no"> </span>
|
|
273
|
-
<span class="cline-any cline-neutral"> </span>
|
|
274
|
-
<span class="cline-any cline-no"> </span>
|
|
275
|
-
<span class="cline-any cline-neutral"> </span>
|
|
276
|
-
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-neutral"> </span>
|
|
278
|
-
<span class="cline-any cline-no"> </span>
|
|
279
|
-
<span class="cline-any cline-neutral"> </span>
|
|
280
|
-
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-no"> </span>
|
|
282
|
-
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-no"> </span>
|
|
284
|
-
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-neutral"> </span>
|
|
286
|
-
<span class="cline-any cline-no"> </span>
|
|
287
|
-
<span class="cline-any cline-no"> </span>
|
|
288
|
-
<span class="cline-any cline-no"> </span>
|
|
289
|
-
<span class="cline-any cline-no"> </span>
|
|
290
|
-
<span class="cline-any cline-neutral"> </span>
|
|
291
|
-
<span class="cline-any cline-no"> </span>
|
|
292
|
-
<span class="cline-any cline-neutral"> </span>
|
|
293
|
-
<span class="cline-any cline-no"> </span>
|
|
294
|
-
<span class="cline-any cline-no"> </span>
|
|
295
|
-
<span class="cline-any cline-no"> </span>
|
|
296
|
-
<span class="cline-any cline-no"> </span>
|
|
297
|
-
<span class="cline-any cline-no"> </span>
|
|
298
|
-
<span class="cline-any cline-no"> </span>
|
|
299
|
-
<span class="cline-any cline-no"> </span>
|
|
300
|
-
<span class="cline-any cline-no"> </span>
|
|
301
|
-
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-no"> </span>
|
|
303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
304
|
-
<span class="cline-any cline-no"> </span>
|
|
305
|
-
<span class="cline-any cline-neutral"> </span>
|
|
306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
307
|
-
<span class="cline-any cline-neutral"> </span>
|
|
308
|
-
<span class="cline-any cline-neutral"> </span>
|
|
309
|
-
<span class="cline-any cline-neutral"> </span>
|
|
310
|
-
<span class="cline-any cline-neutral"> </span>
|
|
311
|
-
<span class="cline-any cline-no"> </span>
|
|
312
|
-
<span class="cline-any cline-neutral"> </span>
|
|
313
|
-
<span class="cline-any cline-no"> </span>
|
|
314
|
-
<span class="cline-any cline-neutral"> </span>
|
|
315
|
-
<span class="cline-any cline-neutral"> </span>
|
|
316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
317
|
-
<span class="cline-any cline-no"> </span>
|
|
318
|
-
<span class="cline-any cline-no"> </span>
|
|
319
|
-
<span class="cline-any cline-neutral"> </span>
|
|
320
|
-
<span class="cline-any cline-neutral"> </span>
|
|
321
|
-
<span class="cline-any cline-no"> </span>
|
|
322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-no"> </span>
|
|
324
|
-
<span class="cline-any cline-no"> </span>
|
|
325
|
-
<span class="cline-any cline-no"> </span>
|
|
326
|
-
<span class="cline-any cline-neutral"> </span>
|
|
327
|
-
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
329
|
-
<span class="cline-any cline-neutral"> </span>
|
|
330
|
-
<span class="cline-any cline-neutral"> </span>
|
|
331
|
-
<span class="cline-any cline-no"> </span>
|
|
332
|
-
<span class="cline-any cline-no"> </span>
|
|
333
|
-
<span class="cline-any cline-neutral"> </span>
|
|
334
|
-
<span class="cline-any cline-no"> </span>
|
|
335
|
-
<span class="cline-any cline-no"> </span>
|
|
336
|
-
<span class="cline-any cline-no"> </span>
|
|
337
|
-
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-neutral"> </span>
|
|
339
|
-
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-no"> </span>
|
|
346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-no"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-no"> </span>
|
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-no"> </span>
|
|
358
|
-
<span class="cline-any cline-no"> </span>
|
|
359
|
-
<span class="cline-any cline-no"> </span>
|
|
360
|
-
<span class="cline-any cline-no"> </span>
|
|
361
|
-
<span class="cline-any cline-no"> </span>
|
|
362
|
-
<span class="cline-any cline-no"> </span>
|
|
363
|
-
<span class="cline-any cline-no"> </span>
|
|
364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import Observer from './observer.js'</span>
|
|
367
|
-
<span class="cstat-no" title="statement not covered" >import { isElementNode, hasTag } from '../guards.js'</span>
|
|
368
|
-
import Network from '../../modules/network.js'
|
|
369
|
-
|
|
370
|
-
<span class="cstat-no" title="statement not covered" >import IFrameObserver from './iframe_observer.js'</span>
|
|
371
|
-
<span class="cstat-no" title="statement not covered" >import ShadowRootObserver from './shadow_root_observer.js'</span>
|
|
372
|
-
<span class="cstat-no" title="statement not covered" >import IFrameOffsets, { Offset } from './iframe_offsets.js'</span>
|
|
373
|
-
|
|
374
|
-
<span class="cstat-no" title="statement not covered" >import { CreateDocument } from '../messages.gen.js'</span>
|
|
375
|
-
import App from '../index.js'
|
|
376
|
-
<span class="cstat-no" title="statement not covered" >import { IN_BROWSER, hasOpenreplayAttribute, canAccessIframe } from '../../utils.js'</span>
|
|
377
|
-
|
|
378
|
-
export interface Options {
|
|
379
|
-
captureIFrames: boolean
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
type Context = Window & typeof globalThis
|
|
383
|
-
type ContextCallback = (context: Context) => void
|
|
384
|
-
|
|
385
|
-
const attachShadowNativeFn = <span class="cstat-no" title="statement not covered" >IN_BROWSER ? Element.prototype.attachShadow : <span class="fstat-no" title="function not covered" >() =</span>> <span class="cstat-no" title="statement not covered" >new ShadowRoot()</span></span>
|
|
386
|
-
|
|
387
|
-
<span class="cstat-no" title="statement not covered" >export default class T</span>opObserver extends Observer {
|
|
388
|
-
private readonly options: Options
|
|
389
|
-
private readonly <span class="cstat-no" title="statement not covered" >iframeOffsets: IFrameOffsets = new IFrameOffsets()</span>
|
|
390
|
-
|
|
391
|
-
<span class="fstat-no" title="function not covered" > constructor(a</span>pp: App, options: Partial<Options>) {
|
|
392
|
-
<span class="cstat-no" title="statement not covered" > super(app, true)</span>
|
|
393
|
-
<span class="cstat-no" title="statement not covered" > this.options = Object.assign(</span>
|
|
394
|
-
{
|
|
395
|
-
captureIFrames: true,
|
|
396
|
-
},
|
|
397
|
-
options,
|
|
398
|
-
)
|
|
399
|
-
|
|
400
|
-
// IFrames
|
|
401
|
-
<span class="cstat-no" title="statement not covered" > this.app.nodes.attachNodeCallback(<span class="fstat-no" title="function not covered" >(n</span>ode) => {</span>
|
|
402
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
|
|
403
|
-
hasTag(node, 'iframe') &&
|
|
404
|
-
((this.options.captureIFrames && !hasOpenreplayAttribute(node, 'obscured')) ||
|
|
405
|
-
hasOpenreplayAttribute(node, 'capture'))
|
|
406
|
-
) {
|
|
407
|
-
<span class="cstat-no" title="statement not covered" > this.handleIframe(node)</span>
|
|
408
|
-
}
|
|
409
|
-
})
|
|
410
|
-
|
|
411
|
-
// ShadowDOM
|
|
412
|
-
<span class="cstat-no" title="statement not covered" > this.app.nodes.attachNodeCallback(<span class="fstat-no" title="function not covered" >(n</span>ode) => {</span>
|
|
413
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (isElementNode(node) && node.shadowRoot !== null) {</span>
|
|
414
|
-
<span class="cstat-no" title="statement not covered" > this.handleShadowRoot(node.shadowRoot)</span>
|
|
415
|
-
}
|
|
416
|
-
})
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
private readonly <span class="cstat-no" title="statement not covered" >contextCallbacks: Array<ContextCallback> = []</span>
|
|
420
|
-
|
|
421
|
-
// Attached once per Tracker instance
|
|
422
|
-
private readonly <span class="cstat-no" title="statement not covered" >contextsSet: Set<Window> = new Set()</span>
|
|
423
|
-
<span class="fstat-no" title="function not covered" > attachContextCallback(</span>cb: ContextCallback) {
|
|
424
|
-
<span class="cstat-no" title="statement not covered" > this.contextCallbacks.push(cb)</span>
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
<span class="fstat-no" title="function not covered" > getDocumentOffset(</span>doc: Document): Offset {
|
|
428
|
-
<span class="cstat-no" title="statement not covered" > return this.iframeOffsets.getDocumentOffset(doc)</span>
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
private <span class="cstat-no" title="statement not covered" >iframeObservers: IFrameObserver[] = []</span>
|
|
432
|
-
private <span class="fstat-no" title="function not covered" >handleIframe(</span>iframe: HTMLIFrameElement): void {
|
|
433
|
-
let doc: Document | null = <span class="cstat-no" title="statement not covered" >null</span>
|
|
434
|
-
// setTimeout is required. Otherwise some event listeners (scroll, mousemove) applied in modules
|
|
435
|
-
// do not work on the iframe document when it 've been loaded dynamically ((why?))
|
|
436
|
-
const handle = <span class="cstat-no" title="statement not covered" >this.app.safe(<span class="fstat-no" title="function not covered" >() =</span>></span>
|
|
437
|
-
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >() =</span>> {</span>
|
|
438
|
-
const id = <span class="cstat-no" title="statement not covered" >this.app.nodes.getID(iframe)</span>
|
|
439
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (id === undefined) {</span>
|
|
440
|
-
//log
|
|
441
|
-
<span class="cstat-no" title="statement not covered" > return</span>
|
|
442
|
-
}
|
|
443
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!canAccessIframe(iframe)) <span class="cstat-no" title="statement not covered" >return</span></span>
|
|
444
|
-
const currentWin = <span class="cstat-no" title="statement not covered" >iframe.contentWindow</span>
|
|
445
|
-
const currentDoc = <span class="cstat-no" title="statement not covered" >iframe.contentDocument</span>
|
|
446
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (currentDoc && currentDoc !== doc) {</span>
|
|
447
|
-
const observer = <span class="cstat-no" title="statement not covered" >new IFrameObserver(this.app)</span>
|
|
448
|
-
<span class="cstat-no" title="statement not covered" > this.iframeObservers.push(observer)</span>
|
|
449
|
-
<span class="cstat-no" title="statement not covered" > observer.observe(iframe) /</span>/ TODO: call unregisterNode for the previous doc if present (incapsulate: one iframe - one observer)
|
|
450
|
-
<span class="cstat-no" title="statement not covered" > doc = currentDoc</span>
|
|
451
|
-
|
|
452
|
-
<span class="cstat-no" title="statement not covered" > this.iframeOffsets.observe(iframe)</span>
|
|
453
|
-
}
|
|
454
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
|
|
455
|
-
currentWin &&
|
|
456
|
-
// Sometimes currentWin.window is null (not in specification). Such window object is not functional
|
|
457
|
-
currentWin === currentWin.window &&
|
|
458
|
-
!this.contextsSet.has(currentWin) // for each context callbacks called once per Tracker (TopObserver) instance
|
|
459
|
-
//TODO: more explicit logic
|
|
460
|
-
) {
|
|
461
|
-
<span class="cstat-no" title="statement not covered" > this.contextsSet.add(currentWin)</span>
|
|
462
|
-
//@ts-ignore https://github.com/microsoft/TypeScript/issues/41684
|
|
463
|
-
<span class="cstat-no" title="statement not covered" > this.contextCallbacks.forEach(<span class="fstat-no" title="function not covered" >(c</span>b) => <span class="cstat-no" title="statement not covered" >cb(currentWin))</span></span>
|
|
464
|
-
}
|
|
465
|
-
}, 0),
|
|
466
|
-
)
|
|
467
|
-
<span class="cstat-no" title="statement not covered" > iframe.addEventListener('load', handle) /</span>/ why app.attachEventListener not working?
|
|
468
|
-
<span class="cstat-no" title="statement not covered" > handle()</span>
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
private <span class="cstat-no" title="statement not covered" >shadowRootObservers: ShadowRootObserver[] = []</span>
|
|
472
|
-
private <span class="fstat-no" title="function not covered" >handleShadowRoot(</span>shRoot: ShadowRoot) {
|
|
473
|
-
const observer = <span class="cstat-no" title="statement not covered" >new ShadowRootObserver(this.app)</span>
|
|
474
|
-
<span class="cstat-no" title="statement not covered" > this.shadowRootObservers.push(observer)</span>
|
|
475
|
-
<span class="cstat-no" title="statement not covered" > observer.observe(shRoot.host)</span>
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
<span class="fstat-no" title="function not covered" > observe(</span>): void {
|
|
479
|
-
// Protection from several subsequent calls?
|
|
480
|
-
|
|
481
|
-
const observer = <span class="cstat-no" title="statement not covered" >this</span>
|
|
482
|
-
<span class="cstat-no" title="statement not covered" > Element.prototype.attachShadow = <span class="fstat-no" title="function not covered" >function () {</span></span>
|
|
483
|
-
// eslint-disable-next-line
|
|
484
|
-
const shadow = <span class="cstat-no" title="statement not covered" >attachShadowNativeFn.apply(this, arguments)</span>
|
|
485
|
-
<span class="cstat-no" title="statement not covered" > observer.handleShadowRoot(shadow)</span>
|
|
486
|
-
<span class="cstat-no" title="statement not covered" > return shadow</span>
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
// Can observe documentElement (<html>) here, because it is not supposed to be changing.
|
|
490
|
-
// However, it is possible in some exotic cases and may cause an ignorance of the newly created <html>
|
|
491
|
-
// In this case context.document have to be observed, but this will cause
|
|
492
|
-
// the change in the re-player behaviour caused by CreateDocument message:
|
|
493
|
-
// the 0-node ("fRoot") will become #document rather than documentElement as it is now.
|
|
494
|
-
// Alternatively - observe(#document) then bindNode(documentElement)
|
|
495
|
-
<span class="cstat-no" title="statement not covered" > this.observeRoot(</span>
|
|
496
|
-
window.document,
|
|
497
|
-
<span class="fstat-no" title="function not covered" > () =</span>> {
|
|
498
|
-
<span class="cstat-no" title="statement not covered" > this.app.send(CreateDocument())</span>
|
|
499
|
-
// it has no node_id here
|
|
500
|
-
<span class="cstat-no" title="statement not covered" > this.app.nodes.callNodeCallbacks(document, true)</span>
|
|
501
|
-
},
|
|
502
|
-
window.document.documentElement,
|
|
503
|
-
)
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
<span class="fstat-no" title="function not covered" > disconnect(</span>) {
|
|
507
|
-
<span class="cstat-no" title="statement not covered" > this.iframeOffsets.clear()</span>
|
|
508
|
-
<span class="cstat-no" title="statement not covered" > Element.prototype.attachShadow = attachShadowNativeFn</span>
|
|
509
|
-
<span class="cstat-no" title="statement not covered" > this.iframeObservers.forEach(<span class="fstat-no" title="function not covered" >(o</span>) => <span class="cstat-no" title="statement not covered" >o.disconnect())</span></span>
|
|
510
|
-
<span class="cstat-no" title="statement not covered" > this.iframeObservers = []</span>
|
|
511
|
-
<span class="cstat-no" title="statement not covered" > this.shadowRootObservers.forEach(<span class="fstat-no" title="function not covered" >(o</span>) => <span class="cstat-no" title="statement not covered" >o.disconnect())</span></span>
|
|
512
|
-
<span class="cstat-no" title="statement not covered" > this.shadowRootObservers = []</span>
|
|
513
|
-
<span class="cstat-no" title="statement not covered" > super.disconnect()</span>
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
</pre></td></tr></table></pre>
|
|
517
|
-
|
|
518
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
519
|
-
</div><!-- /wrapper -->
|
|
520
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
521
|
-
Code coverage generated by
|
|
522
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
523
|
-
at 2023-06-28T10:44:28.733Z
|
|
524
|
-
</div>
|
|
525
|
-
<script src="../../../prettify.js"></script>
|
|
526
|
-
<script>
|
|
527
|
-
window.onload = function () {
|
|
528
|
-
prettyPrint();
|
|
529
|
-
};
|
|
530
|
-
</script>
|
|
531
|
-
<script src="../../../sorter.js"></script>
|
|
532
|
-
<script src="../../../block-navigation.js"></script>
|
|
533
|
-
</body>
|
|
534
|
-
</html>
|
|
535
|
-
|