Open
Bug 1495586
Opened 6 years ago
Updated 2 years ago
Nested slot is hidden in Inspector
Categories
(DevTools :: Inspector, defect, P3)
DevTools
Inspector
Tracking
(Not tracked)
NEW
People
(Reporter: smaug, Unassigned)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
504 bytes,
text/html
|
Details |
Per spec one can have nested slots
<slot name="foo"><slot name="bar"></slot></slot>
in shadow DOM.
Both of them can have assigned nodes.
The testcase seems to work fine in browsers, but FF devtools doesn't show that there is the inner slot.
Updated•6 years ago
|
Blocks: shadowdom-initial-release
Reporter | ||
Updated•6 years ago
|
Comment 1•6 years ago
|
||
The issue is not really about slotted nodes. The initial content of a <slot> is not rendered in the DevTools markup-view if it has slotted content.
A simpler example is:
Assuming "test-component" with the shadow dom:
<slot>
<span>initial slot content</span>
</slot>
And the markup
<test-component>
<div>will be slotted</div>
</test-component>
Then the inspector will show:
<test-component>
#shadow-root
<slot>
-> div
</slot>
<div>will be slotted</div>
</test-component>
And indeed Chrome devtools are still showing the <span> under the <slot>. Is this objectively better, since <span> is not rendered anywhere in the tree? It's really not clear to me what the inspector should show. Should it be closer to the authored content or to the rendered content?
Flags: needinfo?(bugs)
Updated•6 years ago
|
Blocks: devtools-webcomponents
Comment 2•6 years ago
|
||
"The issue is not really about slotted nodes" -> "The issue is not really about nested slots" sorry...
(In reply to Julian Descottes [:jdescottes][:julian] from comment #1)
> The issue is not really about nested slots. The initial content of a <slot>
> is not rendered in the DevTools markup-view if it has slotted content.
>
> A simpler example is:
>
> Assuming "test-component" with the shadow dom:
> <slot>
> <span>initial slot content</span>
> </slot>
>
> And the markup
> <test-component>
> <div>will be slotted</div>
> </test-component>
>
> Then the inspector will show:
> <test-component>
> #shadow-root
> <slot>
> -> div
> </slot>
> <div>will be slotted</div>
> </test-component>
>
> And indeed Chrome devtools are still showing the <span> under the <slot>. Is
> this objectively better, since <span> is not rendered anywhere in the tree?
> It's really not clear to me what the inspector should show. Should it be
> closer to the authored content or to the rendered content?
I believe that displaying the following might be best:
```html
<test-component>
#shadow-root
<slot>
-> div
<span>initial slot content</span>
</slot>
<div>will be slotted</div>
</test-component>
```
With `<span>initial slot content</span>` being displayed the same as any other node with `display: none;`.
This is because the `<span>` element still exists as a child of the `<slot>` element, it just isn’t rendered as long as something is slotted into the `<slot>`.
Priority: -- → P3
Reporter | ||
Comment 4•6 years ago
|
||
Devtools shouldn't hide (shadow) DOM content, IMO.
Flags: needinfo?(bugs)
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•