mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 23:03:09 +00:00
Merge pull request #706 from heygen-com/fix/player-renderseek-setter
This commit is contained in:
@@ -282,4 +282,33 @@ describe("initSandboxRuntimeModular", () => {
|
|||||||
expect(video.paused).toBe(true);
|
expect(video.paused).toBe(true);
|
||||||
expect(video.currentTime).toBe(0);
|
expect(video.currentTime).toBe(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("allows external code to reassign delegated __player methods", () => {
|
||||||
|
const root = document.createElement("div");
|
||||||
|
root.setAttribute("data-composition-id", "main");
|
||||||
|
root.setAttribute("data-root", "true");
|
||||||
|
root.setAttribute("data-start", "0");
|
||||||
|
root.setAttribute("data-width", "1920");
|
||||||
|
root.setAttribute("data-height", "1080");
|
||||||
|
document.body.appendChild(root);
|
||||||
|
|
||||||
|
(window as Window & { __timelines?: Record<string, RuntimeTimelineLike> }).__timelines = {
|
||||||
|
main: createMockTimeline(10),
|
||||||
|
};
|
||||||
|
|
||||||
|
initSandboxRuntimeModular();
|
||||||
|
|
||||||
|
const player = (
|
||||||
|
window as Window & {
|
||||||
|
__player?: { renderSeek: (timeSeconds: number) => void };
|
||||||
|
}
|
||||||
|
).__player;
|
||||||
|
expect(player).toBeDefined();
|
||||||
|
if (!player) return;
|
||||||
|
|
||||||
|
const original = player.renderSeek;
|
||||||
|
expect(() => {
|
||||||
|
player.renderSeek = (t: number) => original(t);
|
||||||
|
}).not.toThrow();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1955,6 +1955,9 @@ export function initSandboxRuntimeModular(): void {
|
|||||||
for (const key of delegated) {
|
for (const key of delegated) {
|
||||||
Object.defineProperty(playerApi, key, {
|
Object.defineProperty(playerApi, key, {
|
||||||
get: () => player[key],
|
get: () => player[key],
|
||||||
|
set: (v: unknown) => {
|
||||||
|
(player as Record<string, unknown>)[key] = v;
|
||||||
|
},
|
||||||
configurable: true,
|
configurable: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user