snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
41
react/features/always-on-top/document-pip-index.tsx
Normal file
41
react/features/always-on-top/document-pip-index.tsx
Normal file
@@ -0,0 +1,41 @@
|
||||
/**
|
||||
* Entry point for the Document PiP window renderer.
|
||||
*
|
||||
* Bootstraps the React tree into the PiP window document and unmounts it when
|
||||
* the window is closed or reloaded.
|
||||
*/
|
||||
import React from 'react';
|
||||
import { createRoot } from 'react-dom/client';
|
||||
|
||||
import DocumentPiP from './DocumentPiP';
|
||||
|
||||
/**
|
||||
* React root attached to the Document PiP window document.
|
||||
*/
|
||||
const root = createRoot(document.getElementById('react') as HTMLElement);
|
||||
|
||||
root.render(<DocumentPiP />);
|
||||
|
||||
/**
|
||||
* Whether the renderer has already been cleaned up.
|
||||
*/
|
||||
let cleanedUp = false;
|
||||
|
||||
/**
|
||||
* Unmounts the Document PiP renderer before the PiP window is closed or reloaded.
|
||||
*
|
||||
* @returns {void}
|
||||
*/
|
||||
const cleanup = () => {
|
||||
if (cleanedUp) {
|
||||
return;
|
||||
}
|
||||
|
||||
cleanedUp = true;
|
||||
window.removeEventListener('beforeunload', cleanup);
|
||||
window.removeEventListener('pagehide', cleanup);
|
||||
root.unmount();
|
||||
};
|
||||
|
||||
window.addEventListener('beforeunload', cleanup);
|
||||
window.addEventListener('pagehide', cleanup);
|
||||
Reference in New Issue
Block a user