16:03:09 RRSAgent has joined #webapps 16:03:09 logging to http://www.w3.org/2015/04/24-webapps-irc 16:03:57 chaals has changed the topic to: Web Components meeting - https://www.w3.org/wiki/Webapps/WebComponentsApril2015Meeting 16:04:10 could a googler come collect sam, maciej, & me? we're in the 1875 lobby 16:04:58 Zakim has joined #webapps 16:05:10 Meeting: Web apps Web COmponents meeting 16:05:20 Agenda: https://www.w3.org/wiki/Webapps/WebComponentsApril2015Meeting 16:06:39 Present+ Chaals, Léonie, Mike™, AnnevK, Arron, Travis, Hayato, Smaug 16:06:54 LJWatson has joined #webapps 16:07:17 Present+ DGlazkov, CWilso 16:07:22 annevk has joined #webapps 16:08:01 Present+ AlexR 16:09:41 agenda+ intros 16:09:50 agenda+ agenda bashing 16:10:06 joannawu has joined #webapps 16:10:08 agenda+ state of the consensus 16:11:24 Travis has joined #webapps 16:13:23 wchen has joined #webapps 16:13:56 arronei has joined #webapps 16:14:43 zakim, agenda? 16:14:43 I see 3 items remaining on the agenda: 16:14:44 1. intros [from chaals] 16:14:44 2. agenda bashing [from chaals] 16:14:44 3. state of the consensus [from chaals] 16:14:56 aklein has joined #webapps 16:17:21 taylor has joined #webapps 16:17:54 matthew has joined #webapps 16:18:20 kevin_ has joined #webapps 16:18:22 wilsonpage has joined #webapps 16:20:26 estellevw has joined #webapps 16:22:04 misko has joined #webapps 16:22:10 jan has joined #webapps 16:22:46 scribe: chaals 16:23:46 mjs has joined #webapps 16:24:46 s/Arron/Aaron 16:25:30 Present+ SamW, Maciej, TedOC 16:26:10 dglazkov_ has joined #webapps 16:26:55 Present? 16:27:09 DG: Lots of people here… that's good. 16:27:56 … goal of the meeting is to make sure we move Web Components closer to being interoperable standard (actually shipped…) 16:28:04 justin has joined #webapps 16:28:09 … There are some contentious bits on Shadow DOM, and we aim to resolve that here. 16:28:22 cdata has joined #webapps 16:28:41 … We need to determine what goes into v1 that we can all live with and ship - and put the rest into a v2 16:28:57 misko_ has joined #webapps 16:29:17 … I would like to leave here not just feeling happy, but actually going to do work and knowing what it will be. 16:29:51 misko_ has joined #webapps 16:30:09 SteveF has joined #webapps 16:30:15 misko has left #webapps 16:30:22 … would like to have champions for the things that we have to do still. 16:30:31 misko_ has left #webapps 16:30:44 misko_ has joined #webapps 16:31:17 misko_ has left #webapps 16:31:35 misko_ has joined #webapps 16:32:38 … The goal is to get browsers implementing, but we need experts from the rest of the ecosystem to tell us about their experience too. 16:33:34 CW: Chris Wilson - mostly here to find the tea… (Googler) 16:33:41 RN: Ryosuke Niwa, Apple 16:33:50 AB: Alice Boxhall, Google accessibility - chrome 16:34:09 Misko: work on angluar.js 16:34:20 OP: Smaug from mozilla 16:34:33 jan has joined #webapps 16:34:35 WC: William Chen, firefox 16:34:42 EO: Ted OConnor, Apple 16:34:57 HI: Hayato Ito, work on shadow dom for google and spec it 16:35:07 Justin: Work on polymer 16:35:14 AvK: Anne, work for moz on standards 16:35:29 SW: Sam Weinig, Apple 16:35:36 MS: Mike™ Smith, W3C 16:35:46 LJW: Léonie Watson, Paciello Group. 16:35:57 CMN: Chaals, Yandex 16:36:00 CMN: Chaals from Yandex 16:36:11 AE: Arron Eicholz, MS - work on webapps 16:36:20 TL: Travis Leithead - the MS guy 16:36:25 Guest21 has joined #webapps 16:36:28 EB: Eric Bryn 16:36:37 *Erik ;) 16:36:42 MG: Mark Giffin, writing web components docs for MDN 16:36:52 WP: Wilson Paige, working with WC on firfox OS 16:37:00 Jan: Founder of compnentn kitchen 16:37:00 *wilsonpage 16:37:07 MJS: Maciej, webkit at Apple 16:37:10 * waves * 16:37:21 AR: Alex Russel, googler on web platform 16:37:29 AK: Adam Klein, V8 at google 16:37:38 SM: Scott Miles, work on polymer team 16:37:49 TS: Savage, google 16:37:54 SA: Steve ?? google 16:37:57 weinig has joined #webapps 16:38:16 darobin has joined #webapps 16:38:31 s/??/Orvell/ 16:38:40 aboxhall has joined #webapps 16:38:47 s/Savage/Taylor Savage/ 16:38:51 [polymer team people listening on the phone - we don't let them speak] 16:38:57 s/Russel/Russell/ 16:39:06 here in irc as well 16:39:30 agenda? 16:39:37 zakim, close item 1 16:39:37 agendum 1, intros, closed 16:39:38 I see 2 items remaining on the agenda; the next one is 16:39:38 2. agenda bashing [from chaals] 16:39:52 Topic: State of consensus and contention 16:40:01 zakim, close item 3 16:40:01 agendum 3, state of the consensus, closed 16:40:02 I see 1 item remaining on the agenda: 16:40:02 2. agenda bashing [from chaals] 16:40:11 Mark has joined #webapps 16:40:37 DG: Most vendors aside from Google have explained their current position... 16:40:58 … would like to figure out how important contentions are - blocker, useful to have, v1 or v2 or… 16:41:01 https://github.com/w3c/webcomponents/wiki/Shadow-DOM:-Contentious-Bits 16:41:31 -> https://github.com/w3c/webcomponents/wiki/Shadow-DOM:-Contentious-Bits The collected points of disagreement… 16:41:50 Topic: Muktiple shadow roots per element 16:42:39 MJS: Apple thinks this should be removed and replaced with something like the ?? proposal. Strongly think this is the case for v1 - better to replace it with something useful or subclassing won't be useful. 16:42:49 RRSAgent, make minutes 16:42:49 I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html MikeSmith 16:42:50 … there is a time trade off to replacing it 16:42:54 s/??/"named slots"/ 16:43:07 Lenville has joined #webapps 16:43:16 RRSAgent, make logs public 16:43:18 AvK: Mozilla probably don't care strongly for v1 - we would like some solution, and the Apple thing might (or not) work for us… 16:43:36 DG: So there is an alternative, which is not the same as "let's drop what we have" 16:44:48 TL: For multiple shadow roots, should be removed in v1. You can get a lot done just with a single shadow. I like Apple's proposal simplifying the way content is distributed. Seems easier to implement. Maybe not as beautiful, but workable. 16:45:10 DG: This has been a big sticking point for the shadow dom spec. I was the one arguing for it. 16:45:33 .. I think most usage isn't that good, so I am OK with removing it. 16:46:00 … Understand there is a need for something like this - let's take the time to study and come up with a good concrete way to solve this. 16:46:12 RESOLUTION: Remove multiple shadow roots 16:46:20 RRSAgent, make minutes 16:46:20 I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html MikeSmith 16:46:33 Justin: Want to make sure removal is seperate from what replaces it… 16:46:57 HI: SHuld we have a replacement in v1 or wait until v2? 16:47:03 DG: I would be OK with no replacement in v1 16:47:10 AvK: Agreed, might even be better than way 16:47:31 DG: Plymer team walked away from this already? 16:47:35 s/Muktiple/Multiple 16:47:44 SM: Conceptually yes (haven't implemented that but will) 16:48:00 … agree that simplifying this is the right thing, and removing it won't affect polymer. 16:48:16 Topic: Default value of "closed shadow tree" 16:48:33 If it’s helpful, I’m trying to summarize the positions on contentious bits on https://docs.google.com/spreadsheets/d/1hnCoaJTXkfSSHD5spISJ76nqbDcOVNMamgByiz3QWLA/edit#gid=0 16:48:56 MJS: The closed flag got added recently - Yay! But behaviour not fully defined yet. 16:49:35 … preference order for v1: most prefer having closed and open, default closed. 2nd, require devs to choose one, no default, 3rd choice default to open, strongly against only having open 16:49:54 … most importantly closed mode is a good block for making totally isolated components 16:50:13 … people felt the medium level is not useful, but to build a full solution this is necessary. 16:50:32 agenda+ Jan…'s proposal for named thingo 16:50:38 agenda+ closed and open 16:51:04 AvK: more important discussion is semantics of closed... 16:51:26 AR: Disagree, which is important but we need the discussion. degree of difficulty to make a real closed mode is very high. 16:51:55 OP: Moz' opinion is we agree with Apple. 16:52:08 … maybe v3 for proper isolation mode. 16:52:17 RESOLUTION: There will be a v4 16:53:20 TL: Having a closed and open simple mode makes sense. When a component is poen we have what chrome ships today. When closed, i think that means you can't reach it via shadow-root property in JS but if you had a reference already you can reach it. 16:53:39 … not sure what that means for how events and styles go across the boundaries. Think we need a closed + isolated model definitely. 16:53:46 … not sure we need that and a simple closed model. 16:54:13 … because I don't understand implications of closed I think that needs to be decided for v1. Isolated model can wait until later, it is far more complicated. 16:54:30 DG: Agree on closed not isolated being needed. 16:54:51 … our preference is open by default, We want to do isolated in v2 or v3. 16:55:11 … we can live with closed by default if that's the general consensus 16:55:20 TL: v1 needs a way to consume the flag or remove it. 16:55:36 Topic: Imperative distribution API 16:55:50 MJS: We still like this - for complex stuff declarative is going to be pretty tricky. 16:56:18 … not necessary for v1. Would like something either like this or named slot proposal - at very least we don't want @@ 16:56:31 agenda+ details of imperative distribution API, don't make it impossible. 16:56:34 AvK: Agree 16:56:47 TL: Agree. API can wait for v2 16:56:52 DG: Agreed... 16:57:34 RESOLUTION: Make sure we can do it - v1 if we get there or v2 16:57:45 RN: Don't want to add something that won't work out… 16:58:16 Topic: Seperate event retargeting from style composition 16:59:27 MJS: Apple wants seperation. Not that strong feelings about default, might be plausible to have retargeting in closed mode, not in open, as default 16:59:57 … choice should be addressed, maybe possible to hang this on closed/open, maybe not needed. 17:00:10 RRSAgent, make minutes 17:00:10 I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html MikeSmith 17:00:20 … we probably need to offer the choice in v1. If both exist we should decide which will be the default now. 17:00:46 AvK: There should be an option, should probably be tied to closed/open - seems simplest and intuitive 17:00:56 … definitely v1 17:01:58 TL: for retargeting if the goal is for a closed shadow not to allow access the event system has to be strongly isolated from that boundary. not sure if retargeting is sufficient, might need a nested event dispatch inside, and don't carry arbitrary properties through the shadow. If that's what we are talking about you need this for any kind of closed model. 17:02:16 … otherwise events poke a hole in that. 17:02:24 AvK: only if you have prototypes 17:02:33 agenda+ clarify event retargetting... 17:02:49 TL: Something like it should be the default for any closed stuff. 17:03:23 DG: We don't see the ened to separate these. If you want it that's OK but we haven't seen anyone wanting that in the wild. Would like to discuss use cases, where you might not want it. 17:03:41 AvK: There have been requests for it, eg for Ember wanting to reason about state in global app logic 17:03:52 DG: eventpath gives you this information already 17:03:59 AvK: Mumble mumble… 17:04:10 DG: If others want this we can live with that. 17:04:25 … But we do want open and event retargetting not to be coupled. 17:04:43 EOC: You're fine with closed and retaregetting? 17:04:54 DG: Think it is impossible not to do that. 17:05:09 AR: Think that comes to the question of what closed really means, part of the semantics discussion. 17:05:18 zakim, agenda? 17:05:18 I see 5 items remaining on the agenda: 17:05:19 2. agenda bashing [from chaals] 17:05:19 4. Jan…'s proposal for named thingo [from chaals] 17:05:19 5. closed and open [from chaals] 17:05:20 6. details of imperative distribution API, don't make it impossible. [from chaals] 17:05:20 7. clarify event retargetting... [from chaals] 17:05:25 zakim, close item 2 17:05:25 agendum 2, agenda bashing, closed 17:05:26 I see 4 items remaining on the agenda; the next one is 17:05:26 4. Jan…'s proposal for named thingo [from chaals] 17:05:34 Topic: Shadow boundary piercing combinators 17:05:44 MJS: Bare minimum is they must not work in closed mode 17:06:19 … named parts model is a better alternative ven for open mode. Making the style API contract depend on the exact structure is not a great pattern. We won't die on this hill if they are there for open. 17:06:27 AvK: Postpone piercing to v2 17:06:37 … would like to discuss styling the reprojected nodes and host 17:06:53 … would like to discuss this, but feel we haven't got something good on the table 17:06:56 agenda+ styling 17:07:40 TL: Agree parts model would be good. Peter Linss yesterday helped me realise that if we let web devs style native controls we want to do it via a parts model, so would like to see that consistent with shadow DOM environment 17:07:57 … think we can get away without this for v1 - there are some nice ugly hacks to do the job if necessary 17:08:06 DG: We think it was a mistake and we want to get rid of it. 17:08:20 … see research link in wiki page 17:08:34 Cheat sheat of browser vendor positions on contentious bits: https://docs.google.com/spreadsheets/d/1hnCoaJTXkfSSHD5spISJ76nqbDcOVNMamgByiz3QWLA/edit#gid=0 17:08:55 … turned out to be a big footgun 17:09:15 … definitely want to get this out of v1. Want a better styling model, so far it is still not satisfying… 17:09:28 rrsagent, draft minutes 17:09:28 I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html chaals 17:09:53 [Jan's summary doc shown] 17:10:58 RESOLUTION: remove shadow piercing combinator 17:11:02 rrsagent, draft minutes 17:11:02 I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html chaals 17:11:59 Topic: consensu points... 17:12:08 could someone add a link to the minutes on https://www.w3.org/wiki/Webapps/WebComponentsApril2015Meeting ? 17:12:27 HI: We have a shadow element one level of the piercing combinator. Should we remove that too? 17:12:33 -> https://docs.google.com/spreadsheets/d/tkXdf761xqo8mM6G-dIomYg/htmlview#gid=0 Cheat sheet of browser vendor positions on contentious bits 17:12:37 RESOLUTION: Yes. 17:12:51 AvK: We want some kind of event retargetting, right. 17:13:03 DG: Pending discussion... 17:13:37 RESOLUTION: We need to understand what closed means, and based on that try to figure out event retargetting. (so we're on the way to knowing what we want…) 17:13:54 s/want/want for event retargetting) 17:14:27 s/shadow element/shadow pseudo element/ 17:14:57 sorvell has joined #webapps 17:16:46 Lenville has left #webapps 17:17:55 rniwa has joined #webapps 17:17:59 botie has joined #webapps 17:18:33 botie, inform rniwa https://www.w3.org/wiki/index.php?title=Webapps/WebComponentsApril2015Meeting#Minutes 17:18:33 will do 17:19:50 mjs has joined #webapps 17:20:51 ebidel has joined #webapps 17:21:09 weinig has joined #webapps 17:27:03 chaals has joined #webapps 17:27:33 Chair: DGlazkov, chaals 17:27:52 LJWatson has joined #webapps 17:29:19 Preesnt+ HayatoIto, Rysouke, JanMiskovsky 17:30:04 i/DG: Lots of people here/Topic: Introductions 17:30:12 rrsagent, draft minutes 17:30:12 I have made the request to generate http://www.w3.org/2015/04/24-webapps-minutes.html chaals 17:30:31 rniwa has joined #webapps 17:30:31 rniwa, at 2015-04-24 17:18 UTC, MikeSmith said: https://www.w3.org/wiki/index.php?title=Webapps/WebComponentsApril2015Meeting#Minutes 17:31:07 agenda? 17:31:19 jcraig has joined #webapps 17:31:34 jan has joined #webapps 17:31:59 Topic: what does closed *mean*? 17:33:27 sorvell has joined #webapps 17:33:27 AvK: So we have open, closed and isolated. 17:33:59 …isolated we can defer. closed is one where the outside can't easily reach in, but for example prototyping can give you a way to poke in. I think that is acceptable... 17:34:01 q+ 17:34:09 TL: So the cfreator can grant access that they have? 17:34:14 q+ 17:34:30 AvK: Other scripts can prototype objecst, and if other things use those modified prototypes that's OK 17:34:36 q+ HI 17:35:07 q+ Justin 17:35:18 … we decided to defer CSS, you can't reach in this way. For events the idea we had was for the event to internally have private slots where it has the full path. Depending on where you observe it, a public getter would return a filter. 17:35:40 if you observe in the main tree the path would be up to the host, but if you observe it in the shadow tree on its way it has the full path and the target is the real target. 17:35:49 … once dispatch is finished path would return nothing (empty list) 17:36:01 … is there anything else in there? Just events, right? 17:36:05 q+ given the holes in the simple closed mode, are folks that want closed still happy with this? What are their expectations? 17:36:09 [Styling] 17:36:17 AvK: That's awhole can of worms seperate. 17:36:23 @@: Simple inheritance? 17:36:30 q+ 17:36:35 AvK; Can we agree on this? Travis wanted something else. 17:36:37 q? 17:36:40 ack sl 17:36:44 q+ Steve 17:37:19 AR: Couple of questions. Hardest: are there extra constraints placed on layout - if intrinsic width inside closed root would make closed item larger is that still possible in a component? 17:37:24 wanderview has joined #webapps 17:37:28 … does it preserve natural constraint hierarchy of CSS 17:37:34 AvK: Not sure about the question… 17:37:36 wanderview has left #webapps 17:37:44 AR: Easier ones - do we have a list of who wants this and why? 17:37:48 AvK: We had one... 17:38:12 AR: Would be easier to answer the question of how closed closed is (more or less vs isolated) if we know which invariants we want to preserve 17:38:20 Justing: Why closed but not isolated? 17:38:32 AR: Acknowledge the uses are real but don't understand them yet. 17:38:33 From June 2011, mjs' 5 kinds of encapsulation: https://lists.w3.org/Archives/Public/public-webapps/2011AprJun/1364.html 17:38:38 q? 17:38:54 MJS: largley agree with AvK's operational definition. 17:38:55 ack m 17:38:58 See "Why is encapsulation (type 2) important for components?" in that email 17:39:14 wanderview_ has joined #webapps 17:39:21 … goal of closed mode is to present leakage of internal deatils of component to DOM API. Not prevent leakage from sharing a scriptiing environment with host environement 17:39:30 I'd like to hear from framework authors on this 17:39:36 … useful because 1. You can have a closed mode by rpeventing @@ 17:39:45 … building block for eventual isolated mode 17:39:59 s/@@/leakage using seperate script environment 17:40:22 … 2. Environments don't generally let you poe holes - it is a use case for specialised tools but should not be generally recommended. 17:40:39 I'm really concerned about this...isn't the redirection of .shadow the same thing as making the shadow root slightly more difficult to work with? 17:40:43 … you *should* be interacting with a closed component through defined interfaces not by poking into the shadow tree directly. 17:41:03 … Think I showed how yu can build a closed mode with handwavy details, that isolates things - this is a start. 17:41:08 ack next 17:41:13 jcraig_ has joined #webapps 17:41:58 q+ to add that another benefit of closed mode is better explaining the platform 17:42:03 HI: speccing closed mode in shaodw so it behaves like virtual elements in blink. e.g. video uses shadow tree as structure. Expect closed should behave like this - don't expose structure to the outside. Shadow DOM isn't meant to provide security - that isn't its goal. 17:42:06 ack next 17:42:14 this seems like a much taller hurdle than what Maciej just outline; can one get the SD of a