File tree Expand file tree Collapse file tree 1 file changed +13
-3
lines changed
packages/svelte/src/internal/client/dom/elements Expand file tree Collapse file tree 1 file changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -323,11 +323,21 @@ var setters_cache = new Map();
323323
324324/** @param {Element } element */
325325function get_setters ( element ) {
326- var setters = setters_cache . get ( element . nodeName ) ;
326+ var name = element . nodeName ;
327+ var setters = setters_cache . get ( name ) ;
328+
327329 if ( setters ) return setters ;
328- setters_cache . set ( element . nodeName , ( setters = [ ] ) ) ;
330+
331+ setters = [ ] ;
332+
333+ // Don't cache the result for custom elements while they aren't connected yet,
334+ // because during their upgrade they might add more setters
335+ if ( ! name . includes ( '-' ) || element . isConnected ) {
336+ setters_cache . set ( name , setters ) ;
337+ }
338+
329339 var descriptors ;
330- var proto = get_prototype_of ( element ) ;
340+ var proto = element ;
331341 var element_proto = Element . prototype ;
332342
333343 // Stop at Element, from there on there's only unnecessary setters we're not interested in
You can’t perform that action at this time.
0 commit comments