Skip to content

Commit 811c8d3

Browse files
authored
fix: correctly handle srcObject attribute on video elements (#14369)
* fix: correctly handle srcObject attribute on video elements * remove side-effect * side-effects agin * side-effects agin * better fix
1 parent 7bd1cdf commit 811c8d3

File tree

4 files changed

+31
-2
lines changed

4 files changed

+31
-2
lines changed

.changeset/bright-jokes-bow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: correctly handle srcObject attribute on video elements

packages/svelte/src/utils.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,8 @@ const ATTRIBUTE_ALIASES = {
192192
ismap: 'isMap',
193193
nomodule: 'noModule',
194194
playsinline: 'playsInline',
195-
readonly: 'readOnly'
195+
readonly: 'readOnly',
196+
srcobject: 'srcObject'
196197
};
197198

198199
/**
@@ -212,7 +213,8 @@ const DOM_PROPERTIES = [
212213
'readOnly',
213214
'value',
214215
'inert',
215-
'volume'
216+
'volume',
217+
'srcObject'
216218
];
217219

218220
/**
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { test } from '../../test';
2+
3+
export default test({
4+
html: `<video></video>`,
5+
6+
test({ assert, target }) {
7+
const video = target.querySelector('video');
8+
9+
// @ts-ignore
10+
assert.deepEqual(video?.srcObject, {});
11+
}
12+
});
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<script>
2+
let srcObject = $state();
3+
4+
$effect(() => {
5+
srcObject = {};
6+
})
7+
</script>
8+
9+
<video {srcObject}></video>
10+

0 commit comments

Comments
 (0)