Skip to content

Commit 6172b68

Browse files
committed
Enhance iframe loading by adding a delay for smoother visibility swap during coverage updates
1 parent abeb6d8 commit 6172b68

1 file changed

Lines changed: 18 additions & 13 deletions

File tree

‎content/wardrive.js‎

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -804,19 +804,24 @@ function scheduleCoverageRefresh(lat, lon, delayMs = 0) {
804804

805805
// Create new load handler that swaps visibility
806806
bufferLoadHandler = function onBufferLoad() {
807-
// Swap visibility: hide current active, show buffer
808-
activeFrame.classList.remove('coverage-frame-active');
809-
activeFrame.classList.add('coverage-frame-hidden');
810-
bufferFrame.classList.remove('coverage-frame-hidden');
811-
bufferFrame.classList.add('coverage-frame-active');
812-
813-
// Update active frame reference
814-
activeFrame = bufferFrame;
815-
debugLog("[UI] Coverage iframe swapped (double-buffer)");
816-
817-
// Clean up
818-
bufferFrame.removeEventListener('load', bufferLoadHandler);
819-
bufferLoadHandler = null;
807+
// Small delay to ensure iframe content is fully painted before swap
808+
requestAnimationFrame(() => {
809+
requestAnimationFrame(() => {
810+
// Swap visibility: hide current active, show buffer
811+
activeFrame.classList.remove('coverage-frame-active');
812+
activeFrame.classList.add('coverage-frame-hidden');
813+
bufferFrame.classList.remove('coverage-frame-hidden');
814+
bufferFrame.classList.add('coverage-frame-active');
815+
816+
// Update active frame reference
817+
activeFrame = bufferFrame;
818+
debugLog("[UI] Coverage iframe swapped (double-buffer)");
819+
820+
// Clean up
821+
bufferFrame.removeEventListener('load', bufferLoadHandler);
822+
bufferLoadHandler = null;
823+
});
824+
});
820825
};
821826

822827
// Set up load listener and start loading in buffer

0 commit comments

Comments
 (0)