Re: [whatwg/dom] Add Imperative Slot API (#966)

@rniwa commented on this pull request.



> @@ -2192,6 +2192,10 @@ steps:</p>
  <li><p>If the <i>open flag</i> is set and <var>shadow</var>'s <a for=ShadowRoot>mode</a> is
  <em>not</em> "<code>open</code>", then return null.</p></li>
 
+ <li><p>If <var>shadow</var>'s <a for=ShadowRoot>slot assignment</a> is "<code>manual</code>",
+ then return the <a>slot</a> in <var>shadow</var>'s <a for=tree>descendants</a> whose <a>manually assigned nodes</a>

Right. Only caveat is that a given node can be simultaneously assigned to a slot of a shadow tree which uses automatic "name" based assignment and to a slot which is not in that shadow tree. In that case, the manual assignment should work but the automatic name based assignment should prevail since the manual assignment is not in effect as the assigned node is not a slottable of the host of a shadow root of the slot to which it was manually assigned. But it is true that at any given point, each node can only be assigned to at most one slot manually.

There is a bit of oddity here in that each shadow tree determines which mode of assignment we're using and slot doesn't despite of the fact manual assignment API appears on slot element. So in theory, it's possible for someone to assign a node to a slot and then insert that into a shadow tree which uses automatic name based assignment. I guess we'd ignore the manual assignment in that case.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/pull/966#discussion_r609332689

Received on Thursday, 8 April 2021 06:05:31 UTC