W3C home > Mailing lists > Public > public-webapps@w3.org > April to June 2015

Re: Imperative API for Node Distribution in Shadow DOM (Revisited)

From: Hayato Ito <hayato@chromium.org>
Date: Fri, 01 May 2015 04:01:46 +0000
Message-ID: <CAFpjS_3Kp=dOc_84EOZhTMOHJ7mv_0x+SnJEJsNgVh=+dxtxFQ@mail.gmail.com>
To: Ryosuke Niwa <rniwa@apple.com>
Cc: Domenic Denicola <d@domenic.me>, Anne van Kesteren <annevk@annevk.nl>, Justin Fagnani <justinfagnani@google.com>, WebApps WG <public-webapps@w3.org>, Erik Bryn <erik@erikbryn.com>, Dimitri Glazkov <dglazkov@google.com>, "Edward O'Connor" <eoconnor@apple.com>, Steve Orvell <sorvell@google.com>
Thanks, however, we're talking about
https://lists.w3.org/Archives/Public/public-webapps/2015AprJun/0442.html.

On Fri, May 1, 2015 at 12:57 PM Ryosuke Niwa <rniwa@apple.com> wrote:

> On Apr 30, 2015, at 8:17 PM, Hayato Ito <hayato@chromium.org> wrote:
> > On Fri, May 1, 2015 at 2:59 AM Ryosuke Niwa <rniwa@apple.com> wrote:
> >>
> >> > On Apr 30, 2015, at 6:00 AM, Domenic Denicola <d@domenic.me> wrote:
> >> >
> >> >> This essentially forces distribution to happen since you can observe
> the result of distribution this way. Same with element.offsetWidth etc. And
> that's not necessarily problematic,
> >> >
> >> > OK. So the claim that the current spec cannot be interoperably
> implemented is false? (Not that I am a huge fan of <content select>, but I
> want to make sure we have our arguments against it lined up and on solid
> footing.)
> >> >
> >> >> but it is problematic if you want to do an imperative API as I tried
> to explain in the bit you did not quote back.
> >> >
> >> > Sure, let's dig in to that claim now. Again, this is mostly
> clarifying probing.
> >> >
> >> > Let's say we had an imperative API. As far as I understand from the
> gist, one of the problems is when do we invoke the distributedCallback. If
> we use MutationObserve time, then inconsistent states can be observed, etc.
> >> >
> >> > Why can't we say that this distributedCallback must be invoked at the
> same time that the current spec updates the distribution result? Since it
> sounds like there is no interop problem with this timing, I don't
> understand why this wouldn't be an option.
> >>
> >> There will be an interop problem. Consider a following example:
> >>
> >
> > The return value of (2) is the same in either case. There is no
> observable difference. No interop issue.
> >
> > Please file a bug for the spec with a concrete example if you can find a
> observable difference due to the lazy-evaluation of the distribution.
>
> The problem isn't so much that the current shadow DOM specification has an
> interop issue because what we're talking here, as the thread title clearly
> communicates, is the imperative API for node distribution, which doesn't
> exist in the current specification.
>
> In particular, invoking user code at the timing specified in section 3.4
> which states "if any condition which affects the distribution result
> changes, the distribution result must be updated before any use of the
> distribution result" introduces a new interoperability issue because
> "before any use of the distribution result" is implementation dependent.
> e.g. element.offsetTop may or not may use the distribution result depending
> on UA.  Furthermore, it's undesirable to precisely spec this since doing so
> will impose a serious limitation on what UAs could optimize in the future.
>
> - R. Niwa
>
>
Received on Friday, 1 May 2015 04:02:14 UTC

This archive was generated by hypermail 2.3.1 : Friday, 27 October 2017 07:27:31 UTC