23:55:48 RRSAgent has joined #webapps 23:55:48 logging to http://www.w3.org/2015/10/26-webapps-irc 23:56:12 Zakim has joined #webapps 23:58:29 katsu has joined #webapps 23:59:48 zqzhang_ has joined #webapps 00:01:02 Florian has joined #webapps 00:01:23 takeshi has joined #webapps 00:01:26 jyasskin has joined #webapps 00:02:08 takeshi has left #webapps 00:02:12 bkardell_ has joined #webapps 00:03:39 mhakkinen has joined #webapps 00:03:41 ijongcheol has joined #webapps 00:04:07 mjs has joined #webapps 00:04:12 Travis has joined #webapps 00:05:10 hellojintae has joined #webapps 00:06:27 Arnaud_ has joined #Webapps 00:06:39 hjin has joined #webapps 00:07:10 masayuki has joined #webapps 00:07:40 minami_ has joined #webapps 00:07:49 projector_ has joined #webapps 00:07:57 topic: Agenda Bashing for Tuesday 00:08:07 chaals: now is your chance to say "let's have more of ..." 00:08:17 Louay has joined #webapps 00:08:21 mvickers: Mark Vickers, Comcast 00:08:27 Judy has joined #webapps 00:08:43 ... seems the chartering process, there was a document on at one point, and dropped at one point, "Sourcing in Band Data" it's referenced in HTML5 00:08:47 ... process problem 00:08:52 ... I think it would be done here 00:08:59 dom has joined #webapps 00:09:04 ... like you said, I didn't want it to get forgotten, and it's now not forgotten 00:09:18 adrianba: I think that's a question for the Timed Media WG Chartering Process 00:09:30 ... conclusion of discussions there will determine whether it's there or here 00:09:41 chaals: We've inherited everything from HTML except Media stuff 00:09:47 ... future of Media stuff is unclear 00:09:59 ... more generally, this group will only exist for less than a year 00:10:05 ... by next year we will have to recharter 00:10:10 ... it's quite possible we will recharter 00:10:19 ... what goes into that group and how we build it, no one really knows 00:10:22 Hyunjin has joined #webapps 00:10:23 ... we're looking for people's input 00:10:31 ... one of the things I think the chairs are looking towards 00:10:37 joesteele has joined #webapps 00:10:38 ... we don't want to have stuff that no one's interested in 00:10:47 ... if no one is going to work on something, then it obviously doesn't matter 00:11:00 ... if you're waiting for the Web Platform WG to do something you think is important, then you're doing it wrong 00:11:09 ... the Group won't do it unless you say that you're going to do the work 00:11:26 ... and if only one person says that, we'll say there's one person and they should go off and do a PhD 00:11:40 ... this is an industry, if you don't get the web working, we don't want it 00:11:46 ... we want input on the web 00:11:51 mathieucitrix has joined #webapps 00:11:52 ... one of those things is what do we do about HTML 00:11:55 ... what does HTML need? 00:12:03 ... what bits are broken and should be actually fixed 00:12:06 ctwpinc has joined #webapps 00:12:14 ... if you think none, then, ... 00:12:28 ... I expect the editing guys to find time and put themselves in our agenda 00:12:38 ... I don't see any hands 00:12:51 topic: ES Modules and HTML 00:12:56 chaals: I'm blaming hober 00:13:20 cscho has joined #webapps 00:13:21 hober: rniwa is on a train and won't be here until 9:30 00:13:29 adrianba: we also need to figure out how to dial into the WebEx 00:13:49 chaals: our staff contacts who provide tech support are going to be asked to make sure we get onto WebEx, yves... 00:13:54 yves: ... 00:13:59 chaals: let's wait until 9:30 00:14:09 [ Break ] 00:14:41 rrsagent, make minutes 00:14:41 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html adrianba 00:15:41 rrsagent, make logs public 00:16:54 dufourd has joined #webapps 00:17:20 jxck has joined #webapps 00:18:37 smaug has joined #webapps 00:18:57 ccho4 has joined #webapps 00:19:58 karl has joined #webapps 00:20:30 mhakkinen has joined #webapps 00:24:07 igarashi has joined #webapps 00:24:12 MikkoT has joined #webapps 00:25:02 teddy has joined #webapps 00:25:28 gao has joined #webapps 00:25:36 ats has joined #webapps 00:26:19 !seen chaals 00:26:39 kaoru has joined #webapps 00:26:47 #webapps 00:29:54 rniwa has joined #webapps 00:30:42 shoko has joined #webapps 00:30:56 kbx has joined #webapps 00:32:42 present 00:33:35 falken has joined #webapps 00:33:50 TOPIC: ES6 modules and HTML 00:34:10 ScribeNick: dcooney 00:34:22 hober: mjs: are either of you coming to the SW meeting? 00:34:22 hi! 00:34:37 rnwia: we are interested in proceeding with ES6 module integration with HTML 00:34:55 rniwa: we have completed our ES6 module integration 00:35:05 JakeA: curious, is there an irc channel for SW stuff? I might lurk somewhere in the background 00:35:15 Does anyone know the status of how integration into HTML works? 00:35:16 (only IRC) 00:35:20 smaug: #serviceworker on freenode 00:35:23 Guest100 has joined #webapps 00:35:43 chaals: We don't really know. There are things we want to put in including not limited to ES6 modules. but we need to find a path forward. 00:36:20 adrianba: The key question: Mozilla had comments about lack of interest in HTML imports because of the conflict; there's a whatwg loader spec that talks about how to load modules. 00:36:23 Yukio has joined #webapps 00:36:34 danbri has joined #webapps 00:36:41 ... the critical common feature is both try to find out the dependency chain of modules to load them 00:36:56 ... it does not make sense to have two; we have to find out how to integrate them 00:37:13 travis l: I looked at the loader document; it has many todos and details without scenarios 00:37:13 smaug: #serviceworker on freenode 00:37:36 i/topic: Agenda Bashing/scribe: timeless/ 00:37:37 ... I agree with adrianba it is essentially a way to load dependencies--scripts that load modules 00:37:47 RRSAgent, draft minutes 00:37:47 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 00:37:59 ... it aspires to be a generic mechanism for transitive loading with hooks and interceptions for transformation 00:38:05 yeonsoo_ has joined #webapps 00:38:16 ...not sure it is ready yet and whether all of those use cases are requirements for getting a basic module loader done 00:38:20 Jongchul has joined #webapps 00:38:21 maehama has joined #webapps 00:38:25 SamLiu has joined #webapps 00:38:33 Meeting: Web Platform WG F2F 00:38:41 ...Mozilla perhaps wants to comment because of some concerns 00:38:48 chair: chaals 00:39:16 s/#webapps// 00:39:28 s/!seen chaals// 00:39:29 ... I don't know that theres a problem with having HTML Imports and Loader running simultaneously; they both order things. Imports does interesting things with executing script in html in the context of the page which makes the case seem a bit orthogonal to loader. 00:39:41 adrianba: they're not coincident but there is overlap 00:39:51 s/hi!// 00:40:12 kborchers has joined #webapps 00:40:18 s/travis l:/travis:/ 00:40:20 ... if there's an algorithm for walking the dependency chain, working how it integrated with HTTP2, so there's one way. Especially since HTML Imports has the ability to include script. 00:40:23 RRSAgent, draft minutes 00:40:23 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 00:40:34 markvickers has joined #webapps 00:40:35 ... we should not pursue in parallel; they need coordination 00:40:50 travis: but it's not rocket science; there's a list, it is deduped 00:40:58 adriandba: (missed something) 00:41:15 nickkoteh? (sp).. 00:41:32 MikkoT: there are a lot of problems in web of things, internet of things, with the hierarchy of loaders 00:41:41 paulc has joined #webapps 00:41:54 present+ paulc 00:41:56 ... my preferred personal approach is Linux/C++ at the base, a standalone JS engine on top, browser as the third layer 00:41:58 s/nickkoteh? (sp)../MikkoT: Mikko Tero, ZZZ 00:42:01 rrsagent, generate the minutes 00:42:01 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html paulc 00:42:10 ... all loaders should have defences against malicious software 00:42:20 s/smaug: #serviceworker on freenode// 00:42:21 wydong_CM has joined #webapps 00:42:22 ccho4 has joined #webapps 00:42:23 ... this is the largest issue for the web platform IMHO and IoT 00:42:35 RyutaMiyoshi has joined #webapps 00:42:35 ... I recommend parallel loader work that only depends on JavaScript and not HTML 00:43:10 jxck_ has joined #webapps 00:43:12 chaals: trivial response, is the web platform part of the internet of things? Yes. Otherwise we're going to see Big Issues down the line. 00:43:13 s/(only IRC)// 00:43:21 ... I agree they have to line up; who's going to do the work? 00:43:24 s/background/background (only IRC)/ 00:43:29 smaug: Notes are in https://docs.google.com/document/d/1AyfTNw8TyOXPNP4nk1Y93XMqdTt6PTbeE39NyCP_J5M/edit#heading=h.twg98oxj5t9s 00:43:33 mjs has joined #webapps 00:43:40 adrianba: The issue is the ECMAScript committee has said how modules get loaded is dependent on the host 00:43:45 RRSAgent, draft minutes 00:43:45 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 00:43:46 i think we need to discuss, 00:43:55 ... I don't think it is feasible to have an independent module loader that exists outside the browser. 00:44:19 ... It would be fine to have some similaritites but the practicalities of how you get to the modules depends on the host environment. 00:44:35 fwtnb has joined #webapps 00:44:43 ... browser needs to coordinate script, css, etc. and node.js does not have these concerns; the situation is different. 00:44:45 1. fix the module tag syntax. how to write the module tag? src="" / import=""? how to care about the old script tag's charset, crossorigin, etc.? 00:45:01 rniwa: are you suggesting no standards, multiple standards? 00:45:10 https://github.com/whatwg/loader/issues/83 00:45:27 adrianba: when loading ES modules in the browser, how do we coordinate with other resources? That's what alignment with HTML Imports is about. 00:45:52 ... The idea we can spec that at a layer lower than the browser, if I'm loading modules in node, it doesn't need to worry about loading CSS. 00:45:59 aklein has joined #webapps 00:46:16 ... My understanding about ES6 standard it describes how modules interact but not how they are loaded; that varies by host environment. 00:46:35 ... We should think about it from a web platform point of view. Different host environments have different considerations. 00:46:52 https://github.com/whatwg/loader/issues/83 00:46:52 nori has joined #webapps 00:46:56 rniwa: see yusukesuzuki's comment re: GH issue 83 00:47:10 2. how to integrate the other non-JS modules into the module loader? we have wasm and i believe that we need to load it through the module loader. 00:47:26 s/Tero, ZZZ/Terho, Huawei 00:47:29 rniwa: I agree there's an issue with loaders in general. We don't have a concrete spec. We don't need to spec 100% of that to make the common module use case to work. 00:48:03 ... if we can agree on the part how scripts are loaded, each module are loaded, that is sufficient. We don't need to define the interrelationship between loading resources. 00:48:20 hfujisawa has joined #webapps 00:48:29 travis: Is the process of loading modules expected to be synchronous? load foo, can the next statement depend on foo? 00:49:06 rniwa: Async I think. ... There's a mechanism where you load all the dependencies asynchronously and run them synchronously in such and such an order. 00:49:12 And, for (1), i believe that we need to specify some part of module loader tag in the HTML spec to start implementing it. 00:49:30 travis: HTML has a script running order, it may do some things async, so you need to make it consistent that's the issue 00:49:41 rniwa: We don't want to run scripts in a random order 00:49:47 kasar has joined #webapps 00:50:01 travis: The Loader spec doesn't cover that; and HTML does not describe how to handle modules. 00:50:23 ... do you extend HTML? Do you split it out and try to extract the HTML things into a separate document that also includes the module things? 00:50:37 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 00:50:39 chaals: One way or another we need to pull the pieces out, write them down, and implement them the same way. 00:50:44 annevk has joined #webapps 00:50:46 3. deterministic execution order between multiple module tags. https://github.com/whatwg/loader/issues/85 script tag's async like? or defer like? should we wait DOM content loaded like defer? 00:50:56 ... my general sense is lets not go on editing a 1,000 page document than nobody has read entirely. 00:51:12 ... pull out the pieces that you need and make an extension or change piece of what we have. 00:51:26 ... and produce a smaller thing that someone can read because that bit matters. 00:51:29 sicking has joined #webapps 00:51:43 travis: a union of what's in loader and what's in HTML is complex 00:51:49 skim13 has joined #webapps 00:51:53 chaals: chair hears travis volunteer 00:52:26 rniwa: two issues--how to integrate web assembly into loading; other is deterministic module load order between multiple module tags 00:52:47 ... ES6 does not have the situation HTML has with multiple script tags 00:52:55 ... (this pertains to issue 83) 00:53:08 btw, am trying to join via various means 00:53:18 https://github.com/whatwg/loader/issues/83#issuecomment-143143195 00:53:25 travis: the loader spec had started talking about builtin modules with name/subname eg std/math for the math module; there's at early attempt at least. Incomplete. 00:53:48 rniwa: That's slightly different; if you have @import std/stuff you can still conceptually treat that as loading a module. 00:54:02 q? 00:54:10 benedictws has joined #webapps 00:54:17 ... whereas outside of a script, you may have multiple ones that need to be ordered, for example async script does not guarantee ordering. 00:54:32 ... issue 83 is suggesting that in the case of modules we need to have deterministic order 00:54:48 ... and the first comment suggests treating it as script defer where it is async but the order is guaranteed. 00:55:00 travis: I see that random order, full async is an issue. 00:55:06 chaals: How is it a problem? 00:55:39 sicking has joined #webapps 00:55:49 travis: In HTML when you use async the contract is that nothing the async script does depends on anything else. It might be the JS module pattern or something. It might have the requirement of coming in before the load event. 00:56:09 ... in es6 modules you might be able to use modules loaded before you; I'm not sure how it works with std modules. 00:56:18 ... unless you opt-out of that requirement you should get it. 00:56:30 ... So you don't introduce dependency modules. 00:56:36 aklein: is on the call 00:56:51 chaals: dominic is a WONDERFUL scribe, he's awesome. 00:57:17 travis: who is the author of the current loader spec? domenic denicola? there's no author listed but it is his style 00:57:33 kimwooglae_ has joined #webapps 00:57:34 chaals: one question--can we leave that to run its course? Do we need to try to make a spec? 00:57:35 s/is on the call/Adam Klein, I just joined, but I can't hear well/ 00:57:39 ... you know what comes next 00:57:57 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 00:58:06 travis: If the loader continues in its current path, it won't address what we care about, ie HTML loading of things plus module loading of things 00:58:13 muted 00:58:15 chaals: we need someone to write this up 00:58:29 q? 00:58:34 s/muted// 00:58:41 rniwa: is mozilla here? chaals: probably at Service Workers dominicc: annevk had regrets on irc 00:58:52 rniwa: is this the right WG to work on this, at least? 00:58:54 chaals: yes. 00:59:13 yoichio has joined #webapps 00:59:15 rniwa: One thing we need to figure out is the editor and main contributors are not here. Maybe we need to take this offline. 00:59:33 ... Figure out who could be specing module resolution, script resolution. 00:59:38 +1 00:59:46 ... Whether that be in what WG, web platform, etc. 00:59:59 travis: Who did it in HTML Imports? Dimitri? 01:00:13 hayato: We are looking for a new editor; there is no active editor for HTML Imports. 01:00:28 present +hober 01:00:28 Present+ kochi 01:00:33 Present+ adrianba 01:00:34 present+ Karl_Dubost 01:00:36 present+ dom 01:00:37 dka has joined #webapps 01:00:37 present+ Koji_Ishii 01:00:40 s/present +/present+ / 01:00:41 chaals: Please put present+ and your name; we did not do introductions. Today is going to be disjointed. 01:00:42 present+ mathieucitrix 01:00:44 MikkoT present+ 01:00:45 garykac has joined #webapps 01:00:55 present+ Dan Appelquist 01:00:59 markw has joined #webapps 01:00:59 present+ xiaoqian 01:01:02 ... will rniwa take an action to talk to domenic denicola or whoever authored imports? 01:01:04 s/MikkoT present+/present+ MikkoT/ 01:01:04 present+ Gary_Kacmarcik 01:01:05 Present+ Jean-Claude Dufourd (Institut Mines Telecom) 01:01:06 present+ MikkoT 01:01:07 present+ hayato 01:01:14 Present+ Arnaud_Braud 01:01:15 s/Dan Appelquist/Dan_Appelquist 01:01:16 ... suggest we wrap up, without the right people in the room 01:01:23 Break time, back at 11:15. 01:01:41 s/Claude Dufourd (Institut Mines Telecom)/Claude_Dufourd_(Institut_Mines_Telecom) 01:01:46 present+ markw 01:01:51 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 01:02:03 chaals: after we are back, a short agenda request, status of editing. "Almost no problems" except how to deal with IME. 01:02:17 present+ JT_Jung 01:02:26 present+ Josh_Soref 01:02:29 ... Watch the agenda for changes. We might have another addition. 01:02:36 present+ dcooney 01:02:41 Break until 11:15 01:02:49 ie one hour, 13 minutes. 01:03:11 hfujisawa has joined #webapps 01:03:30 present+ Yves 01:04:18 teddy has joined #webapps 01:05:01 udo has joined #webapps 01:05:33 kinjim has joined #webapps 01:08:27 anssik has joined #webapps 01:11:05 jyasskin has joined #webapps 01:11:10 hellojintae has joined #webapps 01:11:17 igarashi has joined #webapps 01:14:51 hfujisawa has joined #webapps 01:18:25 akitsugu has joined #webapps 01:21:40 wonsuk__ has joined #webapps 01:23:00 sam_ has joined #webapps 01:28:57 maehama_ has joined #webapps 01:29:54 jxck has joined #webapps 01:30:02 Masa has joined #webapps 01:31:57 kimwooglae__ has joined #webapps 01:32:05 vivien has joined #webapps 01:35:08 jxck has joined #webapps 01:36:32 akitsugu_ has joined #webapps 01:36:39 akitsugu_ has left #webapps 01:38:13 hfujisawa has joined #webapps 01:38:33 makoto has joined #webapps 01:38:58 mjs has joined #webapps 01:41:01 danbri has joined #webapps 01:50:54 kborchers has joined #webapps 01:53:41 joesteele has joined #webapps 01:57:03 joesteele_ has joined #webapps 01:57:48 kbx has joined #webapps 02:00:22 dka has joined #webapps 02:02:44 clapierre has joined #webapps 02:06:58 kawai has joined #webapps 02:07:04 ymasao has joined #webapps 02:07:08 moto_ has joined #webapps 02:07:21 hfujisawa has joined #webapps 02:07:55 mishizaw has joined #webapps 02:08:58 tantek has joined #webapps 02:09:16 bartek_ has joined #webapps 02:09:17 sato_yasu has joined #webapps 02:11:52 hfujisawa has joined #webapps 02:12:38 ymasao has left #webapps 02:12:46 ymasao has joined #webapps 02:13:01 jxck has joined #webapps 02:13:11 LJWatson has joined #webapps 02:13:12 hjlee has joined #webapps 02:14:30 kurosawa has joined #webapps 02:14:56 yukio has joined #webapps 02:15:27 dufourd has joined #webapps 02:15:43 Judy has joined #webapps 02:15:58 hfujisawa has joined #webapps 02:16:40 I've summarized the 'Cascading Order for Shadow DOM v1' proposals: https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Shadow-DOM-Cascade-Order-in-v1.md 02:16:49 That will be one of the topics today. Please take a look at it before the session: CSS and Shadow DOM. 02:18:06 ko has joined #webapps 02:18:13 Scribe: Dan A. 02:18:19 ScribeNick: dka 02:18:25 kinjim has joined #webapps 02:18:38 Charles: topics, pointer events or touch events - do they need to be updated? 02:18:49 … & should the working group add them to the list of things we’re doing? 02:18:52 makoto has joined #webapps 02:19:06 Sebastian_Kaebisch has joined #webapps 02:19:15 … we have a charter that describes the work we can do. We can add things to it by sending a proposal to w3c members for review. 02:19:17 ctwochaev has joined #webapps 02:19:26 … we cannot do work that is not on our charter [because patents]. 02:20:03 Hyunjin has joined #webapps 02:20:12 teppeis has joined #webapps 02:20:17 … so shoul we take this on? and if we do, will w3c members let us do it here? 02:20:22 RyutaMiyoshi has joined #webapps 02:20:27 tanakahr has joined #webapps 02:20:36 Travis has joined #webapps 02:20:47 … it seems clear given that we work on e.g. ui events, keyboard events that other interaction events are part of our scope. Question is should we put these into our chater? 02:20:51 ats has joined #webapps 02:20:53 … any opinions? 02:20:57 q? 02:21:15 [stony silence] 02:21:58 … my view as Yandex is that it would be useful to work on this. Yandex formally objected to pointer events spec [for reasons] so we would like a new piece of work to bring that stuff together. I would like it to go in this charter. 02:22:15 wayne_carr has joined #webapps 02:22:22 smaug has joined #webapps 02:22:35 Present+ Wayne_Carr 02:23:07 Mache: Apple would object. 02:23:23 present+ Sebastian_Kaebisch 02:23:23 s/Mache/mjs/ 02:24:06 charles: no driving desire to have this work done. 02:24:26 RESOLUTION: do not add pointer / touch events to charter at this time. 02:25:40 jyasskin has joined #webapps 02:25:50 Andreas_Tai has joined #webapps 02:26:22 chaals: 2nd topic 02:27:41 Johannes: im an invited expert - i’ve been working on one editor since 2012. We tried to get browsers to fix things so we ended up in this task force. Task force was established in June 2014… goal to allow for complex editors to override default behavior of content editiable. 02:27:50 tanakahr has joined #webapps 02:27:57 hellojintae has joined #webapps 02:28:14 hjlee has joined #webapps 02:28:16 … problem with content edititable is that it’s not well specified, behaves differently in every browser and it’s broken on many levels. At the same time you cannot make an editor that does not use it at some level. 02:28:46 ccho4 has joined #webapps 02:28:55 … The amount of editors that exist is not that large. 10-15 that have almost all market share. Most people think it’s easy to make such an editor but [it’s not.] 02:29:12 … We want to make it slightly easier. 02:30:00 aizu has joined #webapps 02:30:17 … what have we done since last year? There are many strong opinions here. We’ve had 3 meetings [to get consensus] - one at the Extensible Web Summit. 02:30:46 … current state - we’ve figured out we want to have device independent events - events fired when the user wants to do some action. 02:31:19 … we do not define what triggers these events. Browser developer has to figure out what triggers it. We do specify 2 events for each one before and one after the change to the DOM. 02:31:38 ijongcheol has joined #webapps 02:32:19 … The properties it has is data. If you add something it will be the charater you add. It will have a target range [relating to selection]. 02:32:55 Chaals: find & replace is another example. 02:33:21 kinjim has joined #webapps 02:33:23 Johannes: edit type; isComposing; cancelable. 02:33:34 … some things are not cancelable. 02:33:52 kbx has joined #webapps 02:34:05 jeff has joined #webapps 02:35:11 … we tried to make a basic level that javascript can hook into and create an editor on top. We’ve defined 3 levels: (1) just events (2) caret - same plus caret movement (3) typing - caret + add characters to text nodes & delete content 02:35:42 … “True” combines all of them. 02:35:53 … might take 150 years to define. It’s future work. 02:37:01 yoichio has joined #webapps 02:37:42 ygkim has joined #webapps 02:37:46 … So what still needs to be figured out? Names of events; list of edit types; IME support 02:39:03 … main important things on IME support - 1) we need to be able to add new content when the composition starts 2) atomic commits (e.g. in collaborative editor) 02:40:47 … 3) when recomposing words… handled differently on desktop and mobile [browsers] 02:41:18 … 4) a proposal to allow the movement of the carot into a shadow DOM element. 02:41:46 … (feedback from Google is that this is problematic) 02:42:55 … 5) [another proposal documented on slides] 02:43:58 sato_yasu has left #webapps 02:44:38 ?: new proposal I made was to let web apps modify the dom - you want to give full control of dom to webapps but if you want to make IME functional - specifically in japanese and chinese IME behaves differently. One approach is to let webapps communicate this back to browser but this is fragile. Easier way is for browser to look at contents. As long as webapp can keep the text in the DOM then … [?] 02:45:02 … some open questions .... 02:45:45 Johannes: last question is - which is the mode we will focus on most? Events, caret or typing? 02:45:58 kinjim has joined #webapps 02:46:06 … we have a meeting tomorrow. Most editors for some reason based in Europe. I suspect we will have a lot of voice calls. 02:46:17 Chaals: If we have a f2f likely to be in Europe. 02:46:24 … any questions? 02:46:52 … my question: you’d like to do the most complete one we can get? 02:47:02 joe has joined #webapps 02:47:05 Johannes: I think typing only makes sense if it makes sense for the IME. 02:47:13 Judy has joined #webapps 02:47:43 … otherwise the editor people think caret movement is important. I personally don’t think it’s so important, but majority thinks it is. So we might go for caret instead. 02:48:09 ?: the reason we tried to do typing - intiially we wanted to do events. We couldn’t figure out how to do IME. 02:48:43 [debate on IME] 02:49:00 mhakkinen has joined #webapps 02:49:54 IME stands for Input Method Editor. 02:50:21 ?: because of that we went to input=typing to work around that we couldn’t expose styling information. 02:50:22 s/?:/rniwa:/ 02:50:23 https://en.wikipedia.org/wiki/Input_method 02:51:24 rniwa: in advanced word processors you can use custom justification. if you want to do that in web [it’s complicated]. If you did that [it would be complicated for the IME]. 02:51:40 jxck has joined #webapps 02:51:49 joe has joined #webapps 02:52:00 mhakkinen has joined #webapps 02:52:12 projector_ has joined #webapps 02:52:47 jxck_ has joined #webapps 02:53:31 kochi: in Android IME tries to see the whole editing text. For example if you type in some characters adding to previous text - then Android keyboard IME tries to read it. It needs to communicate… in addition not just getting previous text - if you start in the middle of a word - if you start composition - so when you start typing the keyboard may underline whole word. 02:53:49 +q 02:53:52 rrsagent, make minutes 02:53:52 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html adrianba 02:53:55 Johannes: that’s been one of the compications. It not only does that. 02:54:08 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 02:54:32 s/+q/q+/G 02:54:41 … … that’s one of the most problematic chases we’re trying to solve. 02:54:44 present+ koji 02:54:56 ack next 02:55:01 s/Break time, back at 11:15./[ Break time, back at 11:15 ]/ 02:55:10 s/Break until 11:15/[ Break until 11:15 ]/ 02:55:24 s/ie one hour, 13 minutes./[ i.e. one hour, 13 minutes ]/ 02:55:37 rniwa: while in the common case [that is unique to android] in the case where you want to do recomposition you still have that problem. The android problem could be modeled as recomposition (of the entire word). 02:55:50 Chaals: a spell checker or gammar checker does the same thing. 02:56:13 i/summarized the 'Cascading/Topic: Agenda edits/ 02:56:28 Johannes: the spellchecker in Androind has different word bounderies than the IME. In some cases words can cross DOM bounderies. But some DOM bounderies have a meaning you cannot just cross. 02:57:11 i/2nd topic/Report from Editing Taskforce/ 02:57:18 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 02:57:22 tanakahr has left #webapps 02:57:24 yosin (not in IRC?) 02:57:31 Yoichi: question on selection ranges in the document - replacement of existing dom nodes? 02:57:45 s/Yoichi/yosin/ 02:57:56 Johannes: if something is sleected and then you start typing - two events - one to delete and another to add new characters. 02:58:02 s/Report from Editing Taskforce/topic: Report from Editing Taskforce/ 02:58:06 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 02:58:33 s/2nd topic// 02:58:39 present+ kochi 02:58:46 Johannes: editors now a-days all implement deletion of [content content selections]… editors are fine with doing this. Rather they do it than browsers do it. 02:59:10 Yosin: browser has default action for typing. 02:59:31 rniwa: all those actions are incompatible among browsers. we don’t want browser to modify dom. 02:59:44 Yosin: what is the difference between typing and events? 02:59:47 q? 02:59:59 rniwa: we just fire the event and browser modifies the dom. 03:00:47 Chaals: in content editable typing you have to splut it up: first you delete and then you start adding content. 03:00:54 s/splut/split/ 03:00:55 … the deault… 03:01:09 … in events the browser doesn’t put the characters into the document. 03:01:26 Yosin: typing does the replacement? 03:01:58 mishizaw has joined #webapps 03:02:23 Johannes: say you select something - 2 paras. Then you start typing. First you get a delete event. Javascript has to handle the deletion. Then the browser does the part of inserting the character. 03:02:50 ymasao has joined #webapps 03:03:23 Johannes: editors can do weird stuff and we can’t stop them. 03:03:51 TImeless: an editor might take a “P” and turn it into a cyrilic, arabic, etc.. letter. 03:04:04 s/TImeless/timeless/ 03:04:27 Chaals: In Yandex we do this. If you type latin characters we might auto-complete in cyrillic. 03:04:59 s/in cyrillic/in cyrillic [ght => бороться]/ 03:05:21 akitsugu has joined #webapps 03:05:41 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 03:05:54 s/arabic/hebrew, arabic/ 03:06:12 ?: The IME interaction is quite complex. We still have some issues. We can’t figure out all of them to work with JS> As far as I can remember - Microsoft doesn’t want JS to handle [?]. I want to make sure we are in consensus tomorrow. 03:06:47 s/?/koji/ 03:07:37 rniwa: we cannot make webapps always … ? 03:07:53 make web apps respect editing actions requested by IME 03:08:03 Johannes: everyone is invited to (TPAC breakout) tomorrow on this topic. 03:08:25 CHaals: Lunch! 03:08:30 because web apps can always prevent all keydown events or always set innerHTML of the editor every time keyup fires 03:08:36 … next topic will be Web Components. 03:09:04 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html xiaoqian 03:10:41 s/ght => бороться/ltn => детей/ 03:12:38 hfujisawa has joined #webapps 03:13:09 ats has joined #webapps 03:13:56 jxck has joined #webapps 03:18:44 ats has joined #webapps 03:33:07 jxck has joined #webapps 03:36:42 dka has joined #webapps 03:37:09 danbri has joined #webapps 03:39:20 Judy has joined #webapps 03:39:29 kochi has joined #webapps 03:42:57 hellojintae has joined #webapps 03:44:55 jyasskin has joined #webapps 03:50:03 cabanier has joined #webapps 03:51:13 dka has joined #webapps 03:58:00 hfujisawa has joined #webapps 03:58:54 dufourd has joined #webapps 03:59:23 LJWatson has joined #webapps 04:04:35 astearns has joined #webapps 04:04:43 mhakkinen has joined #webapps 04:04:55 ats has joined #webapps 04:08:04 hfujisawa has joined #webapps 04:09:52 garykac has joined #webapps 04:11:19 kimwooglae has joined #webapps 04:12:05 hfujisawa has joined #webapps 04:12:30 ymasao has joined #webapps 04:12:49 dufourd has left #webapps 04:13:32 present+ LJWatson 04:13:49 jxck has joined #webapps 04:14:33 akitsugu has joined #webapps 04:14:53 Florian has joined #webapps 04:15:13 yukio has joined #webapps 04:16:00 jcdufourd has joined #webapps 04:16:12 cwpirda has joined #webapps 04:16:23 kawai has joined #webapps 04:16:24 kbx has joined #webapps 04:16:45 yasuraoka has joined #webapps 04:17:59 TOPIC: Web Components 04:18:31 kurosawa has joined #webapps 04:18:32 skim13 has joined #webapps 04:19:12 joe_ has joined #webapps 04:19:26 clapierre has joined #webapps 04:19:39 Sangjo has joined #webapps 04:20:08 Judy has joined #webapps 04:20:09 ScribeNick: dcooney 04:20:31 projector_ has joined #webapps 04:20:33 chaals: Where do we start? 04:20:46 hayato: Is there an agenda? No? Let's start with a status update. 04:20:48 aizu has joined #webapps 04:20:48 katashin has joined #webapps 04:20:52 Hyunjin has joined #webapps 04:20:55 ... In Blink, we are implementing SHadow DOM v1. 04:21:22 ... We have a plan no deprecate Shadow DOM v0 after shipping v1. I will announce when that happens. 04:21:39 kochi has joined #webapps 04:21:40 ... Custom Elements: No significant progress. Another F2F in December. 04:21:52 nsakai has joined #webapps 04:22:03 ... HTML Imports: No significant progress. We should integrate it with ES6 modules. 04:22:18 shoko has joined #webapps 04:22:29 rniwa: It's good to have an overview of all the specifications and check the status of each WC spec. 04:22:43 rniwa has joined #webapps 04:22:49 ... In terms of WebKit we have finished implementing Shadow DOM v1 except styles which we are talking about later today. 04:23:14 mishizaw has joined #webapps 04:23:32 ... We are prototyping Custom Elements but there are questions about instantiating viz ES6 classes, upgrade timing, whether attributes are present, whether things are in the tree or removed which have implications for iframes 04:24:00 ... We would like to make it synchronous, it looks feasible in WebKit, we would like to know about other implementers. 04:24:16 travis: What is the result of prototyping with cloning trees. Is it synchronous? 04:24:18 rniwa: Yes. 04:24:40 travis: No major updates on MSFT implementation status; still preparing to start Shadow DOM. 04:24:52 rniwa: There are three specs, let's go over their status. 04:25:05 ... Mozilla objected to WG chartering HTML Imports, is that right? 04:25:10 chaals: That is roughly correct. 04:25:32 rniwa: (... only Google supports HTML Imports) should we remove it from the charter? 04:25:40 yeonsoo has joined #webapps 04:26:24 chaals: Its easy to just not work on something and turn in into a Note. If only Google is interested in it that is a useful thing to do; it creates a record. We can recommend people don't use it. We can call for consensus on this. 04:26:59 travis: HTML Imports does bring benefits to components because it can contain HTML; ES6 modules are primarily script. So there is that advantage to imports. 04:27:07 rniwa: Do you think we should keep working on it? 04:27:25 travis: We should not throw it out until we figure out modules + imports + loader. 04:27:38 ... there is a bit of overlap in dependency resolution but we don't need to throw it out yet. 04:27:45 kbx has joined #webapps 04:28:05 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 04:28:07 rniwa: If we put HTML Imports aside and decide to bring it back later we can concentrate on ES6 module integration with HTML without the added complexity of imports. 04:28:15 ygkim has joined #webapps 04:28:24 adrianba: can Apple explain why they deprioritized imports? 04:28:52 s/Its easy/It's easy 04:29:13 rniwa: We did not have ES6 modules, ES6 modules have a big impact on how authors package scripts, we wanted to get a more firm grip about how ES6 modules are used in the wild first and then define how Imports work. 04:29:17 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 04:29:19 minami has joined #webapps 04:29:26 kimwooglae has joined #webapps 04:30:24 Travis has joined #webapps 04:30:27 adrianba: So it is not that you're opposed to imports but you see ES6 modules as a prerequisite; you're not opposed to the declarative aspect. Personally (not for MSFT) I think declarative resonates with web developers and we should not throw away the concept but it remains to be seen if the current HTML Imports draft is the way forward, or ES6 modules is, 04:30:27 or something else. 04:30:43 s/or something else/... or something else/ 04:30:44 tantek has joined #webapps 04:30:45 ... So it should be a chartered work item, not a priority to work on the spec, but we should not forget about this use case. 04:30:48 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 04:31:37 rniwa: We are interested in declarative for cross origin loading; you need declarative because you can't run a scripted loader in the same origin. (refers to proposal of a few years ago?) Like you said, we need to (focus on the ES6 module case first.) 04:31:47 chaals: Should we park HTML Imports spec? 04:32:14 joesteele has joined #webapps 04:32:42 hayato: In Google we think HTML Imports and ES6 modules have a lot of overlap but that they solve different problems. One is for markup, etc. and one just for script. We object to removing them from the charter. 04:33:17 chaals: Not hearing much support to remove this from the charter. Google can continue to work on the spec, but CR promotion looks rocky because other vendors are not sounding interested. 04:33:38 rniwa: I would hate HTML Imports to block ES6 module -HTML integration which would be bad for web developers. 04:34:06 chaals: That seems reasonable; as adrianba suggested it would be nice, without it blocking, it does not seem like a good idea to ignore the question in specifying the loading. 04:34:09 rniwa: sure 04:34:24 chaals: Let's see where we get to before deciding to throw something out. Other specs? 04:34:49 hayato: Shadow DOM, we agree essential parts of Shadow DOM v1; there are no significant contentious bits. We're on (or in) the same boat. 04:35:24 rniwa: we are largely agreeing on the big picture; later today we can talk about scoping order, cascading order, I hope we will be completely ready to implement it fully. 04:35:28 Florian has joined #webapps 04:35:44 kochi: I want to raise an issue about focus, focus movement when you hit tab keys. 04:36:12 ... the order is usually controlled by tabindex but if Web Components have some fields that may be focused the tabbing order may be disrupted. 04:36:34 ... the v1 spec has some notes about how tabbing order should work, but there could be additions to make it work more naturally. 04:37:04 ... currently the tabbing order is defined as DOM tree order; if a focusable node is distributed within a component the focus order may move inside-outside-inside-outside and look random. 04:37:18 ... we would like to have some consensus on how we should move forward on this problem. 04:37:31 chaals: What kind of component would have this weird focus problem? 04:37:54 kochi: A component has slots; some input is distributed into the slot; then tabbing should navigate from outside to inside. 04:38:02 (kochi goes to the whiteboard) 04:38:25 rniwa: If you have tabindex on a node, and its parent has shadowroot and that node is distributed into a slot in the shadow root. 04:38:50 ... If you are tabbing from outside you can have another element before it in the tab index; where should the focus go? 04:39:07 ... Ideally in the user's perspective, the user sees the composed tree, you should do tabbing in the composed tree. 04:39:23 ... Using composed tree makes more sense to me; we should move the focus in composed tree order. 04:39:30 kochi: Agree; imagine this case: 04:39:51 ... ,
w/ SR { slot 1, slot 2 } 04:39:58 ... this div also has a direct child 04:40:09 ... and input, input 04:40:24 s/a direct child/two direct children/ 04:40:26 ... input1 in slot 2; input 2 in slot 1 04:40:47 rniwa: so you have an element that reorders light children in the shadow dom using slots. 04:41:02 ... So the question is should we respect the light dom order or the reordering done by the shadow dom? 04:41:27 hayato: I agree using composed tree is a good user experience; but here's a problem. tabindex is not a boolean; it's a number. 04:41:36 minami has joined #webapps 04:41:40 ... it is very difficult to get components to coordinate the indices. 04:41:50 ... imagine a component with a very high tab index? 04:42:19 rniwa: didn't we say using anything with a tabindex > 0 a bad idea anyway? I have a hard time thinking of a use case when the component has a tabindex > 0? 04:42:32 mishizaw has joined #webapps 04:42:38 chaals: The use case is: complex ordering structure. If you scatter elements with CSS, it is helpful to direct the focus order. 04:42:52 ... the reason we recommend people don't use this, is that it is easy to break. 04:43:06 ... but people who use it carefully can get a vastly superior result. 04:43:22 rniwa: What's the use case for reordering in a component? 04:43:28 q+ to talk about date picker 04:43:30 chaals: First, date picker. Date pickers are awful. 04:43:56 The idea than navigating a document in linear order is a good thing collapses when you have a dozen points. 04:44:00 kurosawa_ has joined #webapps 04:44:13 ack next 04:44:14 timeless, you wanted to talk about date picker 04:44:17 I have been taking the images out of shadow DOM, svg, and making them navigable for a screen reader. and it is bat**** insane. 04:44:24 ack 04:44:34 timeless: I have worked on a date picker 04:45:06 kimwooglae has joined #webapps 04:45:07 ... You can have RTL fun and the order stops being the way you expect, you might want to start on the right and exit on the left, but not do the reordering with CSS. 04:45:44 ... or doing really shiny styling, or responding to language changes and doing these sways; I doubt Shadow DOM encourages you to tear down and rebuild the entire tree; you would use CSS and update tabindexes. 04:45:52 ... I think that covers your datepicker nicely. 04:46:06 chaals: I see the problem that can arise but I am not sure of the use case that leads to this probelm. 04:46:29 ... I see they could create a component where the navigation is more sensible; but I don't see how navigation would break. 04:46:34 +1 04:46:51 ... Allowing people to do stupid things is reasonable; it does not seem like a dangerous trap. 04:47:01 ccho4 has joined #webapps 04:47:39 rniwa: I imagine we could treat shadow DOM like iframe; if you specify tabindex inside iframe it is a nested iframe, the scopes are different. We could do something like that. Specify tabindex inside shadow dom and move in that order inside the shadow DOM. 04:47:44 mjs has joined #webapps 04:47:56 timeless: that seems reasonable to understand, I didn't understand the other thing 04:48:05 hayato: that's what's in the current spec 04:48:17 adrianba: Seems important (obvious?) for component reuse. 04:48:35 [ e.g. outbound and return flight dates ] 04:48:35 chaals: One question: Being able to do scoped tab indexing would be really really good for navigation. 04:48:40 s/timeless/scribe/ 04:48:47 mishizaw has joined #webapps 04:49:01 ... In Shadow DOM is great; doing it in general would be great. Dumb, linear, all things navigation is a big failure of the web. 04:49:11 ... Having Shadow DOM allow it is a step. 04:49:17 q? 04:49:21 ... Maybe changing HTML is OT. 04:49:42 kochi: We have another scope of tab ordering. The input element's tab index scope is still the document tree's scope. 04:50:15 (chaals notates the diagram to put tabindex on slots AND inputs) 04:51:00 kochi: Slot itself is not focusable by default. Web authors may think specifying tabindex on slot influences tab navigation but it does not, at least not in Chrome today. 04:51:10 yoichio has joined #webapps 04:51:21 RyutaMiyoshi has joined #webapps 04:51:22 rniwa: I don't understand what the problem is? You want to change the ordering of the tab index in Shadow DOM, based on which slot it is assigned to? 04:51:48 kochi: Specifying tabindex on slot element does not control the order of tab navigation over the slotted input elements. 04:51:50 q+ 04:52:08 ... The input element tab index order is controlled by the input element itself, which is the insertion point. 04:52:50 rniwa: Two qs: Are there use cases where you need to specify tabindex on slot? This is similar to the problem of slot not generating a CSS box. Like that, you could wrap it in a span. 04:53:16 ack next 04:53:22 ... second q, when a node is assigned to a slot, we need to create other nested tab index scope for each slot, it needs to be isolated both from the slot and the shadow dom 04:53:38 ymasao_ has joined #webapps 04:53:46 mjs there are two cases: what if you want to control order in the shadow dom? the nested tab index shadow scope thing is a solution. 04:54:29 ymasao_ has left #webapps 04:54:54 ymasao_ has joined #webapps 04:54:58 ... what if, in this case, if the tab indices are specified or not, both answers--using the tab index in the page might be reordered; if you apply the nested tab index specially you... (missing) there's no way for the consumer to not become dependent on the implementation details of the component. You need to be able to override. 04:55:14 mjs: Say I have a custom element with an input element and a content slot. 04:55:25 ... In its light DOM you have an input element that puts it into the slot. 04:55:37 ... Say they both have an explicit tab index. How do you resolve them? 04:55:41 yosuke has joined #webapps 04:56:09 ... If you apply the nested scope thing, then the abstraction is violated because the consumer has to be aware of tabindices inside the component. 04:56:25 ... On the other hand, if you do it naively the tab index is surprising 04:56:30 ... You need a tab index override. 04:56:40 hfujisawa has joined #webapps 04:56:52 (makes sense to me) 04:56:55 ... I guess rniwa's proposal of having the slot scope tab index will work; slots are not tabbable but you could put a tabindex on it. 04:57:05 ... hopefully I understand the problem- 04:57:23 hayato: that's the problem. Today, current spec, light children are navigated after navigating all elements in the shadow tree. 04:57:38 ... It does not depend on distribution or not. (reiterates spec.) 04:58:04 ... I know this is not ideal but we don't have an idea how to meet the user's expectation which is the composed tree based navigation order. 04:58:13 q+ 04:58:21 q+ 04:58:29 ... ... distribution breaks everything because light children are later in document order. It's a huge unresolved problem. We need to answer this. 04:58:32 ack mjs 04:59:18 jeff has joined #webapps 04:59:32 mjs: this thing (you described) are you suggesting it should work that way, or what the spec says. It's a terrible behaviour when light and shadow DOM have focusable stuff; even if the light and shadow dom author collude they can't get a good result. rniwa's proposal gives control, sensible results, etc. 05:00:00 ... composed tree order is a sensible default but it is not enough, for example, if there's a table. The default order will not be what you want. 05:00:31 ... ... seems to me (rniwa's proposal) gives a clear answer. Realize you don't have to recompute tab cycle every time, you only need to have it when the user tabs. 05:01:06 ... The fact that it interacts with distribution does not matter, when you hit tab you look am I in the shadow tree, have I been distributed into a slot, etc. this seems like a clear answer to the problem. 05:01:12 rniwa: ditto, plus 05:01:41 ... we should solve this by defining tabindex scope at the shadow root boundary and the slot boundary and then it works by always working on the composed tree. 05:01:51 kochi: I'll file a bug with some examples and we can work on updating the spec. 05:01:58 +q 05:02:04 hayato: Nobody has spent much time on this, I welcome work on this, etc. 05:02:22 chaals: likes the proposed solution, it seems to make a lot of sense, have not thought about it carefully 05:02:24 ack next 05:02:32 rniwa: related to focus, selection 05:02:41 ... since I edit that specification it is my interest 05:03:06 ... there's a question whether the user can select across the shadow boundary; what happens when they copy paste? 05:03:10 travis: yes; it should work 05:03:20 hayato: This has been a multiyear problem in blink. yosin? 05:04:07 yosin: Current Blink defines selection in the composed tree. Blink does not support deleting; cut does not work in the shadow tree. Deleting from a composed tree is hard to define. We have no idea what the API surface is, we need a specification. That's the status. 05:04:20 dka has joined #webapps 05:04:22 rniwa: I think the fundamental issue is Shadow DOM is vague about selection. 05:05:06 Hyunjin has joined #webapps 05:05:21 ... Say you have an element with SR and users select from outside the element and stops the selection inside of it. How is that exposed to author scripts? Where should the ending boundary be? Does it contain the element outside the shadow dom or does it point inside the shadow dom, violating encapsulation. Seems bad. 05:05:43 jeff_ has joined #webapps 05:05:43 ... Or does the author know, seeing selection end at the element, know to go inside there and search. 05:05:52 yosin: We need deep anchor node and deep offset. 05:06:24 ... Exposing selection in shadow tree is from shadowRoot.getSelection, limited to shadow tree, a deep version of anchor and focus position would be easier to use for web authors. 05:06:29 rniwa: How is that easier? 05:06:30 sato_yasu has joined #webapps 05:06:49 yosin: Iterating over. We need to provide compare position on composed tree or shadow tree or something. 05:07:00 ... Most operations on selection iterates the nodes. 05:07:14 rniwa: What's the use case of iterating over selection? 05:07:18 ccho4 has joined #webapps 05:07:34 yosin: For caret, authors insert or delete at the caret position. Exposing a node and offset is enough. 05:07:45 ... For ranges, authors want to copy or delete the seleceted range. 05:07:53 ... Then we need to iterate. 05:08:01 rniwa: You are still talking about editing? 05:08:09 ivan_ has joined #webapps 05:08:14 yosin: Yes; and copying serializiation. 05:08:42 rniwa: Why is iteration better? Use a DOM walker and as soon as you hit the end, check if it has a shadow dom you created, and iterate inside of that tree. 05:08:50 kochi has joined #webapps 05:09:11 ... Whereas if all you have is container and deep offset, you need to find a node that is in your dom that is the deep end or start of your container. 05:10:00 ... If you are iterating dom in dom dom dom dom order ... why would you want to go into and modify the shadow dom? when editing it is not because you want to put each paragraph in shadow dom; you might have icons in shadow DOM and want to treat it as atomic. 05:10:13 ... It depends on the use case, etc. 05:10:45 hayato: We should be careful not to expose deep node api because it does not work with closed mode. 05:11:19 yosin: My main application is scoping selection and selecting partial node in shadow tree. copy should serialize selected node and not entire shadow tree or ignore it 05:11:42 atai has joined #webapps 05:11:50 rniwa: There's no specification for serializing selections across shadow tree; and what happens if that happens within contenteditable. 05:12:26 ... It is unclear if ... contenteditable state would not propagate into shadowdom. So if you are trying to delete things it kind of fails because it is in in some sense in a weird rainbow state. 05:12:45 yosin: contenteditable is not well defined, so can we not define something for shadow dom? 05:12:47 ... 05:12:57 just say shadow in contenteditable is not defined 05:13:05 vivien has joined #webapps 05:13:05 chaals: we can; should we? 05:13:33 rniwa: Effectively that is what we have today. Nothing is defined about contenteditable. 05:14:01 ... We could disallow contenteditable at all within shadow DOM for now, just like we disabled mutation events. This is a rare opportunity to disable features we do not like. 05:14:12 rniwa: Do you not like that chaals? 05:14:22 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 05:14:38 chaals: It does not make me happy; nobody is happy about contenteditable. Yet people use it. Components can create editors. 05:14:43 rniwa: You could create an iframe. 05:14:55 timeless: Can you put a slot in an iframe? 05:15:03 karl has joined #webapps 05:15:41 rniwa: You could, but it does not do anything because the iframe is a separate document and the slot is in the regular known shadow dom; you can create a shadow dom inside the iframe too... but that is not what you are asking. 05:16:23 ... Should we keep this as an open issue? We should at least have a git hub issue about how selection works and how contenteditable inside shadow dom works. We need something defined before all the browsers can ship. 05:16:42 s/mjs there are two cases/mjs: there are two cases/ 05:16:49 chaals: It is nice to not have things end up in the magic rainbow state; delete should delete things, users will be crazy face 05:17:30 rniwa: When you have a clear user friendly scenario, when you select outside the shadow dom to inside, if the user asks to delete, it is weird to delete the whole shadow dom (and something) 05:17:37 jxck has joined #webapps 05:17:40 ... when a deletion happens, something should happen 05:18:21 chaals: Something should go away. If you delete half way into a table, what goes away? That's not interoperable or well defined; editing people don't trust browsers to do it and they work to specify their own behavior. 05:18:48 ... We could specify "you should delete something" and work it out as part of contenteditable1=tru. 05:19:02 ... We should have an issue and engage editing people for help. 05:19:08 s/tru./true/ 05:19:42 hayato: We have ancient bugs for that, I closed them for lack of recent activity. We are aware of these problems but they are unresolved. There are discussions on the bug. I will reopen the bugs. 05:19:51 rniwa: Let's discuss Custom Elements. 05:20:10 ... We have been prototyping in WebKit. Doing everything synchronous is not that bad. 05:20:48 ... There were a couple of places to fix but it seems better than alternatives like proxies, faking APIs to ignore elements, remove and reinsert, move native properties 05:20:55 ... Those are much, much harder to implement. 05:21:13 ... Do other vendors have experience with this, prototyping other designs? 05:21:59 travis: We have done a bit of exploration; code analysis and thought experiment, not experimentation. Similar results, we think synchronously instantiating during parsing, and that is because we have already paid the tax of running MutationEvents. 05:22:15 ... It might introduce a lot more context switching from parsing to script. I don't see a way around that. 05:22:32 scribe: timeless 05:22:47 chaals: other things? 05:22:51 ... run to half past... 05:23:12 rniwa: there was a request to have ZZZ, eliot from Google couldn't attend TPAC 05:23:15 ko has joined #webapps 05:23:18 ... does anyone have a preferred date? 05:23:22 ... perhaps in two weeks 05:23:26 ccho4 has joined #webapps 05:23:27 s/ZZZ/another meeting/ 05:23:37 ... alternatively first/second week of December 05:23:47 chaals: I have a preference for notice, two weeks is not 05:23:57 ... I'd assume a meeting would be in California 05:24:07 ... if you want Berlin, I could do it sooner, but I doubt you'd want that 05:24:12 Travis: I'd agree w/ chaals 05:24:21 ... the proposal submitted in the email was something we'd already talked about 05:24:25 ... not sure there was new content to discuss 05:24:29 ... not sure there won't be 05:24:35 udo has joined #webapps 05:24:35 ... i'd like to meet again, after the holidays 05:24:38 kbx has joined #webapps 05:24:39 ... perhaps a little further out 05:24:47 ... (January) 05:24:57 chaals: so, late January 05:25:12 QQQ: another F2F in December 05:25:14 ... we could host 05:25:18 ... about Custom Elements 05:25:22 ... there are still incoming proposals 05:25:43 s/QQQ/hayato/ 05:25:43 chaals: Chairs should take an ACTION item to gauge interest 05:26:01 rniwa: when we last had a meeting in the spring, there were open questions of what can be implemented 05:26:17 ... to answer that, people need to prototype or inspect their engines to see what could be implemented 05:26:24 ... i have some confidence that I could get it done before next month 05:26:27 .... Microsoft? 05:26:29 s/.././ 05:26:45 Travis: not sure I can 05:26:58 ... thinking about what's going on next month/next little bit 05:27:08 ACTION chaals to look into next F2F 05:27:09 Created ACTION-759 - Look into next f2f [on Charles McCathie Nevile - due 2015-11-03]. 05:27:29 chaals: do people have more for Custom Element? 05:27:49 Travis: is there any other significant issue in Custom Element other than 05:27:57 rniwa: no other issues 05:28:05 ... creation is the entirety of Custom Elements 05:28:07 yeonsoo_ has joined #webapps 05:28:12 s/other than/other than Creation timing 05:28:31 dcooney: this isn't very controversial, but there's some question of "ancestor-changed" v. in-/out- of document 05:28:44 mjs: not fully resolved last time, besides initial timing of creation 05:28:53 ... question of supporting upgrade/after-the-fact-upgrade 05:28:59 hfujisawa has joined #webapps 05:29:08 ... general consensus was to support it, but not sure how given Constructor() 05:29:15 ... exact timing of RRR 05:29:20 ... not totally resolved 05:29:49 s/RRR/lifecycle callbacks/ 05:30:02 chaals: we'll be back to talk about CSS and Shadow DOM at 3pm 05:30:13 ... I won't be back at 3pm 05:30:24 ... I'd like to thank you all, and especially those who scribed 05:30:30 [ Break until 3pm ] 05:30:36 topic: CSS and Shadow DOM 05:31:30 mhakkinen has joined #webapps 05:32:35 jyasskin has joined #webapps 05:34:13 SamLiu_ has joined #webapps 05:34:47 annbass_ has joined #webapps 05:35:50 hfujisawa has joined #webapps 05:37:34 mhakkinen has joined #webapps 05:38:13 yubo_ has joined #webapps 05:39:57 ats has joined #webapps 05:40:19 clapierre has joined #webapps 05:43:55 ats has joined #webapps 05:44:27 sicking has joined #webapps 05:45:39 mishizaw has joined #webapps 05:48:42 clapierre has joined #webapps 05:50:16 LJWatson has joined #webapps 05:51:18 hfujisawa has joined #webapps 05:51:27 sam_ has joined #webapps 05:51:36 kurosawa_ has joined #webapps 05:53:05 hfujisaw_ has joined #webapps 05:53:52 mjs has joined #webapps 05:55:15 hfujisaw_ has joined #webapps 05:55:22 ymasao has joined #webapps 05:55:28 kimwooglae has joined #webapps 05:57:23 mhakkinen has joined #webapps 05:57:31 rniwa has joined #webapps 05:59:12 CSSWG almost ready to come over 06:00:23 rhiaro_ has left #webapps 06:00:29 dka has joined #webapps 06:01:01 Florian has joined #webapps 06:01:01 adrianba: hopefully 06:01:29 Judy has joined #webapps 06:01:31 za12 has joined #webapps 06:02:10 hfujisawa has joined #webapps 06:02:22 danbri has joined #webapps 06:04:48 hfujisawa has joined #webapps 06:07:34 ymasao has joined #webapps 06:09:33 heh 06:09:53 dom has joined #webapps 06:11:31 ats has joined #webapps 06:11:45 anssik has joined #webapps 06:11:59 oonishi has joined #webapps 06:13:36 kikuchiharuma_ has joined #webapps 06:13:50 RRSAgent, draft minutes 06:13:50 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 06:13:57 glazou has joined #webapps 06:14:12 s/heh// 06:14:23 shigeya has joined #webapps 06:14:29 s/adrianba: hopefully// 06:14:30 nulltask has joined #webapps 06:14:42 rniwa: a couple of questions we need to resolve for Shadow DOM before we can implement the feature 06:14:46 https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Shadow-DOM-Cascade-Order-in-v1.md 06:14:47 ... we have a list, we can go through it 06:14:49 ivan_ has joined #webapps 06:14:56 yukio has joined #webapps 06:14:56 ... go through each issue first 06:15:00 TabAtkins has joined #webapps 06:15:13 annbass has joined #webapps 06:15:17 dauwhe has joined #webapps 06:15:19 kochi has joined #webapps 06:15:23 ... first: combinators, and changes to them 06:15:29 ... we don't want deep or shallow combinators 06:15:37 ... rename ::content to ::slotted 06:15:49 ... still have :host and :host-context 06:16:05 Travis: I don't object 06:16:12 rniwa: I think we don't want :host-context 06:16:16 ccho4 has joined #webapps 06:16:19 Travis: :host is a shadow/guide 06:16:28 jyasskin has joined #webapps 06:16:33 mjs: could we have explanations of :host and :host-context 06:16:35 fantasai has joined #webapps 06:16:52 yoichio has joined #webapps 06:17:14 https://public.etherpad-mozilla.org/p/webapps 06:17:24 masayuki has joined #webapps 06:17:27 TabAtkins: I brought up an edit pad 06:17:38 ... I'll draw up an example real quick 06:17:44 annbass has left #webapps 06:17:47 Bert1 has joined #webapps 06:17:49 dbaron has joined #webapps 06:17:52 myles has joined #webapps 06:18:02 nsakai has joined #webapps 06:18:03 [ tab draws ] 06:18:12 leaverou has joined #webapps 06:18:18 [ adrianba increases the font size ] 06:18:21 fwtnb has joined #webapps 06:18:28 TabAtkins: if you're inside the shadow 06:18:40 ... as this style is, and you try to have a my-component selector 06:18:45 MaRakow has joined #webapps 06:19:05 ... this component, this div, this style 06:19:09 Tab draws: 06:19:09 <::shadow> 06:19:09 06:19:12 06:19:14
foo
06:19:16
06:19:32 ... if you take my-component, it won't set on this (the my-component) 06:19:39 er, now it's: 06:19:40 <--------- 06:19:40 <::shadow> 06:19:40 06:19:44
foo
06:19:46 06:19:48
06:19:49 ... from inside the shadow root, styles can only see other things inside the shadow root 06:19:53 AndreyR_ has joined #webapps 06:19:57 q? 06:20:07 ... the other stuff outside is in control of the user, not the shadow author 06:20:14 dyamada has joined #webapps 06:20:16 ... you do still sometimes want to be able to style your host element 06:20:21 ... to say make it a flex-box 06:20:27 ... that's what :host is for 06:20:34 ... :host-context is a little different 06:20:50 clapierre1 has joined #webapps 06:20:52 ... say you want to style things based on whether your anchor is class="light-theme" 06:21:02 ... you can't do `.light-theme div {...}` 06:21:18 ... you could do `:host(.light-theme) div {...}` this would only match the host if it matches 06:21:27 ... it's a function() because ... 06:21:31 minami has joined #webapps 06:21:42 ... :host.light-theme doesn't work, because .light-theme doesn't work 06:21:51 kawai has joined #webapps 06:21:52 ... removing a simple selector from a compound selector will never select "less" 06:21:58 ... by CSS Selectors definition 06:22:02 RyutaMiyoshi has joined #webapps 06:22:14 ... things with more selections must select not more than the other, it's more specific 06:22:18 ... it can't be a wider match 06:22:22 yosin has joined #webapps 06:22:30 ... .light-theme div #2 -- doesn't match anything 06:22:41 ... then :host.light-theme div #1 -- can't match more than #2 06:22:52 ... it's more specific, it can't match less 06:22:55 Rossen has joined #webapps 06:22:59 ... you can't select less than 0 06:23:14 ... so we have to use a function argument -- :host(.light-theme) div ... 06:23:37 DZZ: what does :host { color: red } do ? 06:23:43 s/DZZ/dino/ 06:23:50 TabAtkins: it selects the host object () and sets the color property to red 06:23:59 ... a more reasonable example is :host { display: flex } 06:24:09 ... because you need to use flex-box layout 06:24:18 ... does that sufficiently clarify functional host? 06:24:43 mjs: additional question, when you use the descendant selector, what does it select 06:24:49 TabAtkins: PPP 06:25:06 mjs: :host selects the host element, but if you select a descendant, it only selects things in the shadow 06:25:09 ymasao has joined #webapps 06:25:25 TabAtkins: yes, for the purpose of selectors, :host selects two things, the host, and the shadow dom, descendants select inside only 06:25:28 ko has joined #webapps 06:25:32 leaverou: why not a psuedo element? 06:25:53 ... there's a flaw that :host is a UUU and not a psuedo 06:26:05 TabAtkins: the reason it wasn't a pseudo is that it does exist 06:26:17 MMM: the projection exists, but the object doesn't exist 06:26:24 TabAtkins: but i'm styling the real element 06:26:25 s/MMM/ChrisLilley/ 06:26:34 leaverou: if you can't select it with * then ... 06:26:40 TabAtkins: no... 06:26:47 mjs: * would select everything except it 06:26:56 TabAtkins: * is not everything, it's all tag names in this tree 06:27:00 leaverou: any other examples? 06:27:03 TabAtkins: no, this is the first one 06:27:08 q? 06:27:26 NNN: do you agree *:host is equivalent to :host ? 06:27:27 hellojintae has joined #webapps 06:27:32 TabAtkins: it is not 06:27:35 garykac has joined #webapps 06:27:37 hjlee has joined #webapps 06:27:41 ... if you wrote * { color: grey} 06:27:44 s/NNN/SimonSapin/ 06:27:47 ... it selects every element in the shadow tree 06:28:03 SimonSapin: same as ... 06:28:04 q+ 06:28:16 q+ 06:28:20 TabAtkins: *:host is bad, it won't select anything 06:28:36 SimonSapin: defining this way is inconsistent, as with 1/2 06:28:43 TabAtkins: 1/2 both match nothing 06:29:22 mjs: point w/ *, every other psuedo class, *:whatever is exactly equivalent to :whatever 06:29:28 ... but for pseudo elements, that isn't the case 06:29:31 We had a similar discussion https://lists.w3.org/Archives/Public/public-webapps/2015AprJun/0295.html 06:29:32 q+ 06:29:37 ... although :host sort of refers to a real element, it sort of doesn't 06:29:49 ... descendant refers to something after refers to something it wouldn't normally would 06:30:04 ... the fact that it's weird kind of makes it a psuedo element 06:30:14 ack mjs 06:30:21 TabAtkins: it wouldn't be inconsistent, but i felt it leaned heavier to this style 06:30:22 sato has joined #webapps 06:30:37 hober: all selectors for forever have been scoped to a tree, we didn't know that because there was only one tree 06:30:38 plinss has joined #webapps 06:30:40 ... now we have more than one tree 06:30:47 ... :host projects from one tree to another 06:30:55 tfuji has joined #webapps 06:30:56 ... it's true it's inconsistent, but we're doing something before 06:31:05 ... but this entire argument is `:` or `::` and i don't care 06:31:18 TabAtkins: if you are ok w/ a full selector after a psuedo element? 06:31:22 ... then I'm ok 06:32:16 tantek has joined #webapps 06:32:18 dbaron: I just want 06:32:44 ... we use psuedos for things where we don't want to fully explain the dragons 06:32:53 ... to mjs, you stick a * in front of it, and that doesn't change anything 06:33:02 ... true for psuedo classes and not for psuedo elements 06:33:06 ... but it's true for both 06:33:22 ... before this proposal, it was true for both 06:33:25 q+ 06:33:37 TabAtkins: psuedo elements are always of another element 06:33:37 ack dbaron 06:33:42 ... but what element is this a psuedo of? 06:33:48 mjs: what is ::selection a psuedo of? 06:33:56 TabAtkins: open question, but there are valid answers for it 06:33:59 [ laughter ] 06:34:09 dbaron: there's no spec for ::selection saying how it works 06:34:18 fantasai: just wrong, I haven't published it 06:34:22 ... we do have a spec for that now 06:34:32 TabAtkins: what element does *::host(*) match? 06:34:53 ... just serves as the host host, but we've reinvented the host 06:35:00 falken: a pseudo element has an element w/ its own set of styles 06:35:06 s/falken/fantasai/ 06:35:11 https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp&q=%5C*:host&sq=package:chromium&type=cs&l=571 06:35:27 ... but you're trying to cascade all of the classes from outside and inside to the same element 06:35:29 zcorpan has joined #webapps 06:35:35 ... taking both scopes as an input and cascading together 06:35:35 q? 06:35:53 ... an element gets styles, and the psuedo gets its own styles, they're independent entities w/ independent styles 06:36:04 TabAtkins: correct, your styles get merged (outside + outside-inside) 06:36:12 ... I think I need to put an explainer into the spec 06:36:18 ... we're sticking w/ single colon 06:36:27 how about dropping the colon(s)? 06:36:31 mjs: TabAtkins, I think you've answered this question multiple times in the past 06:36:45 ... why not `:::` ? 06:36:57 ... "this is a weird thing", it should look different 06:37:00 s/mjs/hober/ 06:37:03 ... I swear i'm not trolling 06:37:22 TabAtkins: I considered it, but the single-double is the single worst thing of CSS 06:37:39 hober: we could do ::: so that people don't come w/ a preconceived notion 06:37:50 hfujisaw_ has joined #webapps 06:37:52 Simon: drop a `:` and just have a function 06:38:04 TabAtkins: we could have a function, it isn't defined as allowed for simple selectors yet 06:38:09 ... maybe it would be clearer? 06:38:13 Florian_ has joined #webapps 06:38:18 fantasai: it would look more like a tag name 06:38:28 UUU: it would be better because you can't put a star in front of it 06:38:30 TabAtkins: that's good 06:38:36 s/UUU/zcorpan/ 06:38:45 mjs: now that we've colored the bike shed, can we go back to semantics? 06:38:48 [ laughter ] 06:38:54 Travis: :host-context 06:39:01 TabAtkins: selector to host(...) 06:39:11 ... but we figured there were UCs for contexts higher up 06:39:15 ccho4 has joined #webapps 06:39:22 ... e.g. body.light-theme 06:39:38 ... host-context() let's you try to select against the host element or any of its ancestors 06:39:53 rniwa: afaiu, that would be defined in CSS Var 06:40:05 ... why do we need a separate very similar to address the same UC? 06:40:08 q? 06:40:14 q- rniwa 06:40:15 TabAtkins: using Variables is the right solution if you want to do your own theme 06:40:27 ... an element that's openly themeable, but if you want a predetermined thing 06:40:32 ... this lets you ... 06:40:36 rniwa: that seems wrong 06:40:40 ... we don't have any other elements like that 06:40:43 TabAtkins: we absolutely do 06:41:02 ... just like :host(.foo) > div -- is equivalent to .foo > div 06:41:23 ... :host-context(.foo) > div -- .foo div 06:41:35 s/to .foo/to :host.foo 06:41:47 rniwa: no host element styling different based on ancestor 06:41:56 TabAtkins: :host-context lets you put anywhere in a tree 06:41:59 q+ 06:42:01 hober: disagree w/ that 06:42:04 baba has joined #webapps 06:42:08 ... for .list-theme case 06:42:12 ... typical page, we use class div 06:42:23 ... you stick in header v. main content (light/dark) 06:42:33 ... you could see a push/pull question 06:42:45 ... is component pulling in 06:42:50 ... or is the page pushing in 06:42:54 hitsujiwool has joined #webapps 06:42:58 q+ 06:43:01 ... I think that's the typical case (one of them -- unclear which) 06:43:12 ... :host-context is a pull model, currently things don't do that 06:43:15 ... make sense? 06:43:18 TabAtkins: not a lot, but ok 06:43:30 ... it's about predefined styles from the component, vs. the page poking in its own styles 06:43:39 hober: i think you can do your own stuff w/o this 06:43:46 TabAtkins: only if you use :host w/ ... 06:43:51 hober: i don't think so 06:43:57 q? 06:44:03 ack hober 06:44:06 ack mjs 06:44:29 mjs: :host-context, you could imagine a UC for it, but it seems like a box-checking exercise... 06:44:41 ... it's true that built in classes 06:44:48 TabAtkins: do things disable themselves based on fieldset? 06:44:50 [ yeah ] 06:44:58 mjs: fieldset isn't a good case 06:45:05 dbaron:
    06:45:15 rniwa: disabled you can't rely on ancestor 06:45:20 ... element disabled by label 06:45:28 TabAtkins: correct, it's more complicated than that 06:45:39 ... it's not nothing, forms can get more complicated 06:45:45 hfujisawa has joined #webapps 06:45:50 hober:
      could be done w/ :host 06:46:01 TabAtkins: not if the
    • s are the shadows 06:46:20 dbaron: changes things on borders of
      s 06:46:28 TabAtkins: the idea that there's no example is laughable 06:46:31 [ agreed ] 06:46:38 mjs: still seems too obscure 06:46:38 annevk has joined #webapps 06:46:52 ... I still think we could start w/ :host and see if real UCs in the field demonstrate a need 06:46:57 also the list style rotation for nested ul 06:47:00 ... so much of this isn't read 06:47:06 TabAtkins: I'm down w/ that 06:47:12 hober: let's get yelled at 06:47:13 q+ jyasskin 06:47:18 BBB: theming isn't a good UC? 06:47:25 mjs: I think adding it there isn't a good UC 06:47:32 ... and I think theming is dumb anyway 06:47:40 ... and CSS Vars seem like a better way 06:47:48 dbaron: this is widely used as a developer practice 06:47:57 UUU: Polymer is using something like CSS Vars 06:48:01 Florian has joined #webapps 06:48:04 q? 06:48:08 ack rniwa 06:48:11 q- jyasskin 06:48:20 rniwa: i want to point out that we asked people using Web Components 06:48:31 Florian_ has joined #webapps 06:48:40 ... anecdotal says that people have no use of :host-context 06:48:52 s/UUU/jyasskin 06:49:03 TabAtkins: our usage is below our kill threshold, so ... 06:49:05 justin has joined #webapps 06:49:10 jchiba has joined #webapps 06:49:22 ... I recognize :host-context is a lower value, i don't think it's necessary for v1 06:49:28 ... i'm ok w/ deferring to later 06:49:55 hfujisawa has joined #webapps 06:49:59 topic: Cascading Models 06:50:23 https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Shadow-DOM-Cascade-Order-in-v1.md 06:50:27 Could you project this? 06:50:52 kochi: summary of proposals of how cascading model should work 06:51:02 ... see the end of the document 06:51:06 s/kochi/hayato/ 06:51:12 hfujisaw_ has joined #webapps 06:51:18 ... proposal 1, 2 06:51:38 hayato: element in shadow tree 06:51:48 ... we have 5 nodes 06:52:01 ... we have tree of trees 06:52:08 ... dom tree w/ nodes 06:52:12 ... tree of tree 06:52:26 ... A is a tree, B is child of A 06:52:36 ... element in document tree host, shadow host is B 06:52:42 ... C is child tree of B 06:52:53 fwtnb has joined #webapps 06:52:54 ... shadow host in B, hosts shadow tree C 06:53:09 ... in shadow ... we have a special selector 06:53:16 ... like :host, or ::slotted 06:53:25 ... we have a proposal for some pseudo elements 06:53:30 ... suppose an element in shadow tree B 06:53:42 ... there are a lot of possibilities 06:53:46 ... for selectors applied to B 06:53:54 ... we should define how cascading should be applied 06:54:04 ... if multiple selectors apply to the same element 06:54:11 ... ... element B 06:54:17 ... element B can have an attribute 06:54:27 ... B stye-attribute 06:54:37 mjs: I don't understand any of this 06:54:50 mjs: how do A, B, C, D, E relate to the markup example? 06:55:06 hayato: =A 06:55:11 ... it's a shadow host 06:55:20 ... shadow tree hosted by A is B 06:55:30 Samliu_ has joined #webapps 06:55:35 rniwa: in the original markup, the things outside shadow dom is A 06:55:39 ... host one has B 06:55:49 ... three has C 06:55:59 ... if you look outside outer host one 06:56:04 ... there's a node projected through 4 06:56:18 TabAtkins: host 4 is a light-dom child of host 2 06:56:24 ... host 3 is a shadow child of host 2 06:56:38 ... need target items to understand this 06:56:49 mjs: not sure anyone here can fully understand this example 06:56:58 ... i think i'm more confused w/ further explanation 06:57:10 ... if D is a shadow tree nested in C, nested in B 06:57:19 ... how can a selector in D affect something in B? 06:57:44 rniwa: that's a case where a light dom node in B is getting slotted in C in turn slotted into D 06:57:55 ... cascading slotting 06:58:03 ... so selectors from B could apply 06:58:07 ... and selectors from C could apply 06:58:13 ... and selectors from D could apply 06:58:15 mjs: ok 06:58:19 [ group finally understands ] 06:58:20 minutes 06:58:27 RRSAgent, draft minutes 06:58:27 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 06:58:32 hywe need to consider ... 06:59:23 s/hywe/hayato/ 06:59:37 mjs: how is B's style attribute affecting children in shadow dom of b 06:59:46 ... I can understand through inheritance, but not cascading 07:00:13 ... a node that's a descendant element or ? 07:00:25 PPP: host element has ... 07:00:34 wydong_cm has joined #webapps 07:00:46 minami has joined #webapps 07:00:52 mjs: i wish the numbers in the markup matched the letters 07:01:05 hayato: maybe we need more time to understand 07:01:13 fantasai: maybe we need an application 07:01:24 TabAtkins: we could use my example, it's simpler and more consistent 07:01:47 https://github.com/w3c/webcomponents/issues/316#issuecomment-149735841 07:02:01 TabAtkins: tinier example, expresses almost everything from the bigger example 07:02:06 ... element in question is a menu item example 07:02:11 mishizaw has joined #webapps 07:02:13 ... should express most of the items 07:02:19 ... menuitem is a light dom child of menu 07:02:24 ... there's a style trying to turn it red 07:02:32 ... style element trying to turn itself yellow 07:02:40 ... style on the shadow trying to turn it green 07:02:48 ... then there's a style inside trying to turn it blue 07:02:56 ... the winner was yellow 07:03:08 ... ordering is determined by a couple of principles of how to resolve this 07:03:10 hfujisawa has joined #webapps 07:03:17 ... style= attributes win 07:03:25 ... shadow styles are the opposite 07:03:29 ... don't need to guard 07:03:45 ... normally styles are treated like defaults 07:03:53 ... opposite using !important inside shadow root 07:03:58 ... styles from outside would lose 07:04:07 ymasao has left #webapps 07:04:08 ... this gives defaults and invariants 07:04:18 ... page rule beats content rule, and page rule beats host rule 07:04:32 ... example has things labeled 07:04:46 ... the ids on the styles 07:04:56 ... the inline style isn't labeled, i can't attribute that 07:05:03 ... rules from outside win over inside 07:05:06 ... page rules beat content rule 07:05:06 RRSagent, draft minutes 07:05:06 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html wydong_cm 07:05:29 ... page rules win over :host 07:05:37 mjs: remove inline yellow, what color? 07:05:40 TabAtkins: red from page 07:05:47 mjs: outermost styling scope wins? 07:05:52 TabAtkins: wins against normal shadow rules 07:05:58 ... whenever we conflict w/ normal shadow rules 07:06:05 ... outside ones win since they don't usually intermix 07:06:11 ... so we treat them as intentional 07:06:21 mjs: i don't follow your logic 07:06:26 ... it was more obvious when we had shadow piercing 07:06:33 s/.../TabAtkins:/ 07:06:42 mjs: if we're not overriding 07:06:51 ... if you set :host { display: inline} 07:06:52 +q 07:06:59 ... and it would otherwise have {display: block} 07:07:01 ... it won't work 07:07:11 TabAtkins: that's why i mentioned invariants (!important) 07:07:17 mjs: what about UA style sheet? 07:07:23 TabAtkins: yes, they lose at the origin step 07:07:39 ... everything in page win over UA at origin step 07:07:48 ... cascade is several independent steps 07:07:52 ... origin, author beats ua 07:07:56 ... then style... 07:08:00 ... then scoping 07:08:04 ... then specificity 07:08:08 ... then sequence 07:08:11 mishizaw has joined #webapps 07:08:12 mjs: and importance? 07:08:19 TabAtkins: important is origin 07:08:23 jmajnert has joined #webapps 07:08:27 ... they'd be in the same origin 07:08:31 hfujisawa has joined #webapps 07:08:32 ... and important inside shadow would win 07:08:43 rniwa: other people have other questions about this example? 07:08:45 TabAtkins: besides mjs 07:08:55 hober: what I was originally going to say was covered 07:09:03 ... i think this works, i think it's difficult to follow 07:09:10 ... but it's fine 07:09:20 jyasskin: a host rule is kind of like a UA style sheet for a shadowed element? 07:09:24 TabAtkins: that's the way you should think of it 07:09:33 ... originally it was all elements since you could poke 07:09:40 ... but now you only can target the host 07:09:51 adrianba: that's all the time we allocated 07:09:59 ... how much more time do you want to spend on this? 07:10:13 TabAtkins: what else is there for CSS to do? 07:10:20 YYY: Animations 07:10:46 adrianba: ok, 20 minutes 07:11:00 s/YYY/astearns 07:11:07 TabAtkins: one thing unordered 07:11:23 ... eliminate page rule, and style attribtue 07:11:27 s/tue/ute/ 07:11:34 ... you're left w/ content/slotted fighting w/ host-rule 07:11:47 ... i didn't have something, it's described by rune's proposal 07:11:59 ... general intuition, i think content should win against host 07:12:02 hober: yep 07:12:19 TabAtkins: so w/ remainder, you'd get green 07:12:42 mjs: i think it's the right answer, it's consistent 07:12:42 RRSagent, draft minutes 07:12:42 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html wydong_cm 07:12:44 dstockwell has joined #webapps 07:12:48 shigeya has joined #webapps 07:12:55 ... i'd love to hear disagreement 07:12:57 [ None ] 07:13:01 s/mjs/hober/ 07:13:03 rniwa: element slotted through multiple shadow doms 07:13:10 ats has joined #webapps 07:13:14 ... element, inline 07:13:27 ... each slot element is a separate shadow dom 07:13:33 ... each could have different styles 07:13:38 ... all need to be ordered consistently 07:13:43 ... i heard you had an idea for this 07:13:52 ... e.g. not styling some... 07:13:57 ... what was the conclusion 07:14:10 hayato: we haven't ... 07:14:23 ... first redistribute shadow tree wins 07:14:35 ... if we agree w/ rune's proposal 07:14:43 rniwa: outer shadow, then inner shadow 07:14:50 ... style from outer would win over inner 07:15:05 mjs: that seems backwards from what you said 07:15:08 ... oh wait, it's consistent 07:15:21 ... another algorithm would be only your final position 07:15:25 ... maybe simpler to compute 07:15:29 ... not sure it handles your UCs 07:15:34 ... hard to tell which is more useful 07:15:38 rniwa: consider 07:15:54 ... maybe you have another component inside that has two extra items :before, :after 07:16:01 ... styles applying to slots 07:16:05 mjs: already lost 07:16:15 rniwa: list of countries 07:16:29 ... [list of countries] 07:16:35 ... you have a preferred countries 07:16:47 ... lightdom has some countries (china, japan) 07:16:58 ... then you have outside USA which it's contributing at the top 07:18:03 yasu_sato has joined #webapps 07:19:29 mjs: can you put slot markers in? 07:20:07 Travis: I think we need to see this example in working browsers 07:20:08 ymasao has joined #webapps 07:21:19 mjs: outer things can't see into light children's shadow dom 07:21:32 ... maybe we should give up inventing this example and do it offline 07:21:36 [ laughter ] 07:22:02 rniwa: ignoring intermediary shadow doms seems like a bad idea 07:22:12 ... intermediary doms may need to add styles to nodes 07:22:31 hayato: we should define how slotted ... 07:22:35 mishizaw has joined #webapps 07:22:48 ... current spec says all styles should be applied when redistribution happens 07:22:56 ... because slotted elements apply to distributed nodes 07:22:57 YusukeNakaya has joined #webapps 07:23:15 ... distribution depends on how slotted psuedo element 07:23:30 ... slotted element applied to distributed node of slotted element (??) 07:23:43 ... you might want to add a comment to the issue about slotted element 07:23:49 ... make sense? 07:23:51 rniwa: no 07:24:02 ... current spec only allows final destination? 07:24:07 hayato: not only final 07:24:16 rniwa: ok, i think we should keep [allowing others to apply style] 07:24:27 ... in addition to TabAtkins 's proposal, there's rune's proposal, and ... 07:24:34 ... what are the differences? 07:24:39 ... it's not obvious how they're different 07:24:46 ... what's the motivation for each proposal 07:24:55 Judy_alt has joined #webapps 07:24:56 hayato: differences ... 07:25:10 rniwa: what are the motivations (for other proposals) 07:25:19 hayato: proposal 1 is from rune (Opera) guys 07:25:25 ... this makes implementation easier 07:25:40 ... rune prefers style= should be treated 07:25:41 YusukeNakayaJP has joined #webapps 07:25:49 ... in same way as style in same node tree 07:25:59 ... reason same attribute is next to B 07:26:17 mjs: don't we want to have style= consistent w/ in a top level document 07:26:32 ... it should be the same order in a shadow tree, or it's rediculous 07:26:39 rniwa: TabAtkins 's proposal, rune's proposal 07:26:43 ... no difference 07:26:51 ... was his proposal in response to opinion 2? 07:27:03 ... afaict, TabAtkins 's and rune's proposal preserve the invariants that we want 07:27:12 ... style rules / style= from same tree next to eachother 07:27:20 ... not sure who's opinion 2 is 07:27:29 ... your proposal violates that by putting style= in a different thing 07:27:38 ... given we went through the exercise to understand TabAtkins 's rational 07:27:48 mjs: TabAtkins 's proposal doesn't contain all the letters 07:27:55 ... hard to tell how it's different from the others 07:28:08 hfujisawa has joined #webapps 07:28:09 ... do A+D never apply in TabAtkins, or are they ... 07:28:20 ... and E isn't used, does that mean they can't apply in Option 2? 07:28:40 TabAtkins: my proposal doesn't have A 07:29:07 mjs: before next time we discuss this, could someone write this up w/ the same set of letters/possibilities 07:29:22 ... i can't tell if it's agnostic, say it won't apply, written against different example 07:29:30 ... hard to understand how to pick 07:29:42 VVV: sorry, proposal 1 is rune's 07:29:58 ... ryuske didn't understand that rune's proposal 07:30:04 mjs: is rune's the same as TabAtkins 's? 07:30:14 VVV: TabAtkins 's covers style=, rune's didn't 07:30:22 .... hayato add's nested to TabAtkins 's example 07:30:27 s/.././ 07:30:37 hober: all one proposal, different levels of detail in the writeup? 07:30:56 ... three proposals, one didn't cover everything, one added a layer, the next added the next layer 07:31:01 VVV: TabAtkins 's added a corner case 07:31:11 ... just an improvement over rune's 07:31:37 s/VVV/koji/ 07:31:39 s/VVV/koji/ 07:31:43 s/VVV/koji/ 07:32:13 rniwa: i think this situation is way too confusing for us to conclude at this time 07:32:28 s/ryuske/ryosuke/ 07:32:38 ... if one is a superset of another, we don't need the subset proposals 07:32:52 mjs: the way TabAtkins wrote his up was a lot easier to understand than A, B, C, D, E 07:32:58 ... please write all the proposals up that way 07:33:16 mjs: 1. explain proposals 07:33:21 ... 2. explain reasoning for differences 07:33:25 ... doing 2 first wouldn't help 07:33:29 adrianba: out of time 07:33:43 ... glad we waited until the end of day 2 to talk about this 07:33:47 ... we accomplished some progress 07:34:03 ... conclusion is a bit more explanation of proposal, broken down in small pieces, thanks all for the disucssion 07:34:11 ... end of WebPlatform WG Meeting 07:34:16 ... thanks to CSS WG people who came 07:34:24 s/disucssion/discussion/ 07:34:27 [ Applause ] 07:34:31 [ Adjourned ] 07:34:39 RRSAgent, draft mintues 07:34:39 I'm logging. I don't understand 'draft mintues', timeless. Try /msg RRSAgent help 07:34:45 Bert1 has joined #webapps 07:34:50 s/RRSAgent, draft mintues// 07:34:54 yukio has left #webapps 07:34:57 RRSAgent, draft minutes 07:34:57 I have made the request to generate http://www.w3.org/2015/10/26-webapps-minutes.html timeless 07:35:31 yasu_sato has left #webapps 07:35:34 ats has joined #webapps 07:36:34 shigeya has joined #webapps 07:36:51 LJWatson has joined #webapps 07:37:23 present- MikkoT 07:37:44 jyasskin has joined #webapps 07:38:10 Bert1 has joined #webapps 07:39:10 hfujisawa has joined #webapps 07:39:15 Bert1 has left #webapps 07:40:35 hfujisaw_ has joined #webapps 07:40:45 fantasai has left #webapps 07:44:31 glazou has joined #webapps 07:44:57 katashin has joined #webapps 07:45:09 zcorpan has joined #webapps 07:46:44 annbass has joined #webapps 07:46:55 ats has joined #webapps 07:47:32 hfujisawa has joined #webapps 07:49:12 kimwooglae has joined #webapps 07:49:19 katashin has left #webapps 07:49:26 annbass has joined #webapps 07:50:10 annbass has left #webapps 07:50:40 hfujisaw_ has joined #webapps 07:54:07 mjs has joined #webapps 07:57:10 tantek has joined #webapps 07:57:30 dka has joined #webapps 08:00:32 hellojintae has joined #webapps 08:01:45 Judy_alt has joined #webapps 08:02:33 ymasao has joined #webapps 08:04:05 hfujisawa has joined #webapps 08:04:23 Judy_ has joined #webapps 08:07:55 oonishi has joined #webapps 08:09:31 annbass has joined #webapps 08:10:48 mishizaw has joined #webapps 08:12:45 Rossen has left #webapps 08:16:50 danbri has joined #webapps 08:28:13 wilsonpage has joined #webapps 08:34:49 hfujisawa has joined #webapps 08:42:23 dauwhe has joined #webapps 08:43:09 kurosawa has joined #webapps 08:43:52 jxck has joined #webapps 08:45:05 dka has joined #webapps 08:54:08 astearns has left #webapps 09:01:37 dka has joined #webapps 09:04:54 dauwhe has joined #webapps 09:05:25 mhakkinen has joined #webapps 09:06:16 jxck has joined #webapps 09:10:23 dbaron has joined #webapps 09:12:20 guillaume has joined #webapps 09:16:04 jxck has joined #webapps 09:27:31 shigeya has joined #webapps 09:53:47 ArtB has joined #webapps 10:19:57 wilsonpage has joined #webapps 10:48:46 smaug has joined #webapps 11:15:05 jyasskin has joined #webapps 11:17:15 skim13 has joined #webapps 11:36:19 skim13 has left #webapps 11:59:23 dauwhe has joined #webapps 12:07:24 dauwhe has left #webapps 12:24:08 kimwooglae has joined #webapps 12:27:57 dka has joined #webapps 12:47:24 dbaron has joined #webapps 12:48:29 Judy has joined #webapps 13:15:50 wilsonpage has joined #webapps 13:23:09 Zakim has left #webapps 13:24:00 mishizaw has joined #webapps 13:25:32 karl has joined #webapps 13:32:16 mjs has joined #webapps 13:41:22 zcorpan has joined #webapps 13:52:58 smaug has joined #webapps 14:19:44 shigeya has joined #webapps 14:38:45 sicking has joined #webapps 14:50:09 Florian has joined #webapps 14:56:49 wilsonpage has joined #webapps 15:16:10 mishizaw has joined #webapps 15:27:50 Florian has joined #webapps 15:50:30 jsbell has joined #webapps 16:13:37 wilsonpage has joined #webapps 16:15:41 wilsonpa_ has joined #webapps 16:17:19 mishizaw has joined #webapps 16:53:22 wilsonpage has joined #webapps 17:19:42 mishizaw has joined #webapps 18:20:53 mishizaw has joined #webapps 18:47:50 sicking has joined #webapps 19:21:39 mishizaw has joined #webapps 19:34:36 wilsonpage has joined #webapps 21:02:07 wilsonpage has joined #webapps 21:04:02 sicking has joined #webapps 21:15:54 mishizaw has joined #webapps 21:31:09 jyasskin has joined #webapps 21:36:24 tantek has joined #webapps 22:01:59 shigeya has joined #webapps 22:26:39 mishizaw has joined #webapps 22:41:22 kawai has joined #webapps 23:05:43 clapierre has joined #webapps 23:09:30 karl has joined #webapps 23:13:15 karl has joined #webapps 23:13:17 leaverou_away has joined #webapps 23:13:56 plinss has joined #webapps 23:15:57 kimwooglae has joined #webapps 23:17:17 kurosawa has joined #webapps 23:19:25 ats has joined #webapps 23:19:59 shigeya has joined #webapps 23:23:17 jxck has joined #webapps 23:24:54 guillaume has joined #webapps 23:26:15 dom has joined #webapps 23:30:04 leaverou_away has joined #webapps 23:30:24 akitsugu has joined #webapps 23:30:43 plinss has joined #webapps 23:32:07 zcorpan has joined #webapps 23:32:28 hfujisawa has joined #webapps 23:32:36 shepazu has joined #webapps 23:33:07 annbass has joined #webapps 23:33:45 ymasao has joined #webapps 23:34:37 shepazu has joined #webapps 23:35:42 oonishi has joined #webapps 23:35:55 oonishi has left #webapps 23:37:05 hfujisawa has joined #webapps 23:37:22 ats has joined #webapps 23:37:47 shepazu has joined #webapps 23:41:08 hfujisawa has joined #webapps 23:49:11 hfujisawa has joined #webapps 23:52:53 myles has joined #webapps 23:53:01 myles has left #webapps 23:54:07 jyasskin has joined #webapps 23:55:37 anssik has joined #webapps 23:56:52 hfujisawa has joined #webapps 23:57:44 Florian has joined #webapps 23:59:11 hfujisawa has joined #webapps 23:59:12 hfujisawa has joined #webapps 00:04:04 ats has joined #webapps 00:06:28 hfujisawa has joined #webapps 00:06:30 hfujisawa has joined #webapps 00:08:54 hfujisawa has joined #webapps 00:08:57 hfujisaw_ has joined #webapps 00:12:05 hfujisawa has joined #webapps 00:12:07 hfujisawa has joined #webapps 00:16:54 tantek has joined #webapps 00:21:05 hfujisawa has joined #webapps 00:21:07 hfujisawa has joined #webapps 00:26:40 annbass has joined #webapps 00:27:17 hfujisawa has joined #webapps 00:31:46 hfujisawa has joined #webapps 00:34:40 annbass has joined #webapps 00:38:46 hfujisawa has joined #webapps 00:41:09 hfujisawa has joined #webapps 00:43:08 hfujisawa has joined #webapps 00:44:24 zcorpan has joined #webapps 00:49:20 hfujisawa has joined #webapps 00:51:40 hfujisawa has joined #webapps 00:51:43 hfujisaw_ has joined #webapps 00:57:37 hfujisawa has joined #webapps 00:58:38 Florian has joined #webapps 01:03:48 rniwa has joined #webapps 01:06:15 kimwooglae has joined #webapps 01:07:59 jxck_ has joined #webapps 01:08:32 hfujisaw_ has joined #webapps 01:24:04 hfujisawa has joined #webapps 01:24:20 jyasskin has joined #webapps 01:25:36 ats has joined #webapps 01:26:50 dom has joined #webapps 01:30:34 kimwooglae has joined #webapps 01:31:20 shigeya has joined #webapps 01:31:22 tantek has joined #webapps 01:31:54 hfujisawa has joined #webapps 01:31:54 ats has joined #webapps 01:31:58 jxck has joined #webapps 01:34:09 ats has joined #webapps 01:40:05 hellojintae has joined #webapps 01:40:24 karl has joined #webapps 01:40:32 jyasskin has joined #webapps 01:41:09 jcdufourd has joined #webapps 01:41:23 jcdufourd has left #webapps 01:41:41 mishizaw has joined #webapps 01:43:01 ccho4 has joined #webapps 01:43:07 kurosawa has joined #webapps 01:44:41 hfujisawa has joined #webapps