- From: <bugzilla@jessica.w3.org>
- Date: Fri, 06 Apr 2012 05:02:38 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=16176
Hayato Ito <hayato@chromium.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
--- Comment #6 from Hayato Ito <hayato@chromium.org> 2012-04-06 05:02:36 UTC ---
Let me reopen the bug.
Suppose the following DOM tree.
<div id='top'>
<div id='shadow-host'>
-- <shadow-root> --
<content />
<div id='distributed-light-child' />
</div>
</div>
And move mouse from '#shadow-host' to '#distributed-light-child' and think the
'mouseover' event on #distributed-light-child.
In this case:
TARGET: #distributed-light-child
ancestors of TARGET - [#distributed-light-child, <content>, <shadow-root>,
#shadow-host, #top]
RELATED: #shadow-host
ancestors of RELATED - [#shadow-host, #top]
The re-targeting algorithm will go as follows:
1. Let COMMON be undefined
2. Let ANCESTOR be the lowest common ancestor:
(ANCESTOR <- #shadow-host (lowest common ancestor.))
3. If ANCESTOR exists:
If ANCESTOR is RELATED and is a shadow host:
Set LIMIT to ANCESTOR (LIMIT <- #shadow-host)
Set ADJUSTED to RELATED (ADJUSTED <- #shadow-host)
Stop.3.
So the output of retargeting algorithm would be (LIMIT=#shadow-host,
ADJUSTED=#shadow-host).
That means #top does not receive 'mouseover' event, which is different from the
result of the following case where a #shadow-host does does not contain a
shadowRoot, so it is not 'ShadowHost' actually:
<div id='top'>
<div id='shadow-host'>
<div id='distributed-light-child' />
</div>
</div>
Is this an intentional behavior?
I think that one of our goals is that we won't behavior where an events happens
on light child and shadow-host from the outside of shadow host, right?
(In reply to comment #5)
> Oh. How clever is that you modified only calculation of ancestors for
> relatedTarget!
> That sounds a nice idea for me. Let me think further and modify the current
> EventDispatching algorithm.
> If I find a issue, let me reopen this.
>
>
> (In reply to comment #3)
> > Here's what I've come up with:
> > http://dvcs.w3.org/hg/webcomponents/rev/378dd45d7b80
> >
> > Basically, whenever calculating ancestors for relatedTarget, we must ignore the
> > upper boundary. This way, the node will just appear as a child of a shadow
> > host, not as a something that's distributed into an insertion point.
> >
> > WDYT?
--
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Friday, 6 April 2012 05:02:41 UTC