@@ -120,7 +120,6 @@ window.addEventListener('message', async event => {
120
120
121
121
case 'updateView' :
122
122
if ( event . data . source === documentResource ) {
123
- console . log ( 'updateView' , event . data . line ) ;
124
123
onUpdateView ( event . data . line ) ;
125
124
}
126
125
return ;
@@ -155,7 +154,6 @@ window.addEventListener('message', async event => {
155
154
// Move styles to head
156
155
// This prevents an ugly flash of unstyled content
157
156
const styles = newRoot . querySelectorAll ( 'link' ) ;
158
-
159
157
for ( const style of styles ) {
160
158
style . remove ( ) ;
161
159
}
@@ -165,7 +163,22 @@ window.addEventListener('message', async event => {
165
163
childrenOnly : true ,
166
164
onBeforeElUpdated : ( fromEl , toEl ) => {
167
165
if ( areEqual ( fromEl , toEl ) ) {
168
- fromEl . setAttribute ( 'data-line' , toEl . getAttribute ( 'data-line' ) ! ) ;
166
+ // areEqual doesn't look at `data-line` so copy those over
167
+
168
+ const fromLines = fromEl . querySelectorAll ( '[data-line]' ) ;
169
+ const toLines = fromEl . querySelectorAll ( '[data-line]' ) ;
170
+ if ( fromLines . length !== toLines . length ) {
171
+ console . log ( 'unexpected line number change' ) ;
172
+ }
173
+
174
+ for ( let i = 0 ; i < fromLines . length ; ++ i ) {
175
+ const fromChild = fromLines [ i ] ;
176
+ const toChild = toLines [ i ] ;
177
+ if ( toChild ) {
178
+ fromChild . setAttribute ( 'data-line' , toChild . getAttribute ( 'data-line' ) ! ) ;
179
+ }
180
+ }
181
+
169
182
return false ;
170
183
}
171
184
@@ -241,7 +254,7 @@ document.addEventListener('click', event => {
241
254
242
255
window . addEventListener ( 'scroll' , throttle ( ( ) => {
243
256
updateScrollProgress ( ) ;
244
- console . log ( 'scroll' ) ;
257
+
245
258
if ( scrollDisabledCount > 0 ) {
246
259
scrollDisabledCount -= 1 ;
247
260
} else {
0 commit comments