Mimi c (CSS) поведение HTMLVideoElement с автономным веб-компонентом, содержащим Canvas - PullRequest
0 голосов
/ 07 марта 2020

Я разрабатываю автономный (для совместимости с Safari) веб-компонент, который должен вести себя как видео, но содержит холст (отображающий отфильтрованное видео):

Мне нужны слоты для HTMLSourceElement s это будет перенаправлено на видео.

В противном случае веб-компонент должен вести себя полностью как обычный HTMLVideoElement (атрибуты, CSS (который здесь находится в центре внимания) и т. Д. c.)

В настоящее время я использую тень Root - это AFAIK, необходимый для слотов внутри Web-компонента.

Само видео не находится в DOMTree of Shadow Root и используется исключительно в качестве текстуры видео для шейдера WebGL.

Я думаю, что упаковка всех атрибутов видео должна быть возможной без какого-либо (реального) различного функционального поведения (controls здесь не требуется).

У меня много проблем при попытке эмулировать поведение CSS видео с ShadowRoot. В частности, object-fit и поведение размера видео: object-fit: contain например, сохраняет соотношение и центрирует видео независимо от его ширины или высоты, тогда как по умолчанию ширина и высота - videoWidth и videoHeight* 1020. *

Я бы хотел избежать решения на основе Javascript (используя, например, window.getComputedStyle) для сохранения производительности.

Я пробовал различные CSS -только решения, но не смог воспроизвести поведение видео элемента еще. Возможно, есть более простые решения, чтобы заставить холст в тени Root вести себя как видео?

...