- From: Adam Barth <w3c@adambarth.com>
- Date: Wed, 2 Jul 2014 08:07:34 -0700
- To: Boris Zbarsky <bzbarsky@mit.edu>
- Cc: WebApps WG <public-webapps@w3.org>, Maciej Stachowiak <mjs@apple.com>
On Tue, Jul 1, 2014 at 8:52 PM, Boris Zbarsky <bzbarsky@mit.edu> wrote: > On 7/1/14, 9:13 PM, Brendan Eich wrote: >> Are you sure? Because Gecko has used XBL (1) to implement, e.g., <input >> type=file>, or so my aging memory says. > > We use XBL to implement <marquee>. I'm working on using web components to implement <marquee> in Blink: https://github.com/abarth/marquee I've studied the XBL implementation of <marquee> in Gecko, and it does leak some implementation details. As a simple example, alert(document.createElement('marquee')) in Firefox says "[object HTMLDivElement]" because the XBL implementation uses a div. The approach I'm using is roughly the one outlined by Maciej in [1]. The most challenging aspect by far is isolating the script interface inside and outside the component. If you ignore script isolation, we already know that the current design of shadow DOM can provide isolation by twiddling some internal bits because we use shadow DOM in the engine to implement <details>, <keygen>, <video>, <progress>, and several other elements. We could expose an API to authors that would let them twiddle those same bits, but I'm not sure we should do that without providing script isolation of some form. My sense from following this discussion is that there's been a lot of talking about this subject and not very much coding. Hopefully I'll learn something interesting by writing code that I can report back to this group. Kindly, Adam [1] http://lists.w3.org/Archives/Public/public-webapps/2014JulSep/0024.html
Received on Wednesday, 2 July 2014 15:08:37 UTC