| 00:00 | <TabAtkins> | Your first mistake was the argument of everything that optionally takes a path. |
| 00:00 | <cabanier> | for (x, y) it becomes (x, y. fillrule) |
| 00:00 | <Hixie> | constraining this, is that implementations have already implemented (x, y) and (x, y, fillRule) |
| 00:00 | <cabanier> | yes |
| 00:00 | <Hixie> | so (path, fillRule, x, y) would be ugly |
| 00:00 | <TabAtkins> | Position should, generally, be a unique identifier for the argument. Overloading on argument list length to give different positions different meanings is a bad idea. |
| 00:00 | <Hixie> | but (path, x, y, fillRule) is even worse... |
| 00:00 | <zewt> | optional arguments at the beginning are evil |
| 00:00 | <TabAtkins> | You should have fallen down to options objects earlier. |
| 00:01 | <Hixie> | TabAtkins: too late for that now... |
| 00:01 | <TabAtkins> | zewt: No, optional arguments have their place, when they're truly optional, and are chained-optional (that is, you never want to provide the second optional argument without specifying the first). |
| 00:01 | <cabanier> | I hope those path methods will go away |
| 00:01 | <TabAtkins> | Hixie: Is it? Do we have implementations? |
| 00:01 | <cabanier> | noone implemented them |
| 00:01 | <krit> | Hixie: Blink and WebKit use currentPath to share path objects |
| 00:01 | <zewt> | TabAtkins: ... that's optional arguments at the end |
| 00:01 | <Hixie> | (and i don't generally agree. the first argument of something like this should always be the main thing you're operating on, imho) |
| 00:02 | <krit> | Hixie: you can just set the currentPath with the path you want |
| 00:02 | <krit> | Hixie: and then ask the context |
| 00:02 | <Hixie> | krit: ew |
| 00:02 | <Hixie> | krit: that's even worse :-) |
| 00:02 | <krit> | Hixie: at the moment it is not nice, that is where cabanier's proposal comes in |
| 00:03 | <lecuyer> | TabAtkins: qq about padding-bottom. Is it supposed to be relative to the actual width of the element, or the available width around the element (in the case of max-width)? |
| 00:03 | <krit> | Hixie: for WebKit and Blink, Path is just a storage of Path segments |
| 00:03 | <TabAtkins> | zewt: Yes, if you have optional arguments not at the end, you're doing things wrong. ^_^ |
| 00:03 | <krit> | Hixie: nothing more |
| 00:03 | <TabAtkins> | lecuyer: Whatever the spec says - I dont' remember off the top of my head. |
| 00:03 | <Hixie> | krit: right, same in the spec |
| 00:03 | <zewt> | TabAtkins: ... but i said "optional arguments at the beginning". heh |
| 00:03 | <Hixie> | krit: it's the "currentPath" thing that's ugly :-) |
| 00:03 | <TabAtkins> | zewt: ...I didn't see that part of your comment. Apologies. |
| 00:04 | <zewt> | TabAtkins: option objects and language-level named arguments can complement each other nicely, eg. Python's **args |
| 00:04 | <TabAtkins> | Yes, if you have it. |
| 00:04 | <krit> | Hixie: well, it is more than that |
| 00:04 | <cabanier> | Hixie: currentpath is just an opaque holder of a bunch of path operations |
| 00:04 | <krit> | Hixie: you have path . http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-path-addpathbystrokingpath |
| 00:04 | <TabAtkins> | zewt: It would be nice to pursue, in a future ES version, Pythonic named arguments. |
| 00:04 | krit | hates link replacing |
| 00:04 | <lecuyer> | I've found in implementation it's usually implemented as the latter, but it'd be nice if it wasn't. |
| 00:04 | <TabAtkins> | (though you need a different syntax than Python, as that syntax is already allowed and means something different in JS) |
| 00:05 | <Hixie> | krit: addPathByStrokingPath is just a way to add more path segments |
| 00:05 | <TabAtkins> | lecuyer: Can't change it. |
| 00:05 | <krit> | Hixie: sure, but not always implementable |
| 00:05 | <cabanier> | Hixie: the output of that is undefined |
| 00:06 | <Hixie> | ? |
| 00:06 | <Hixie> | how so |
| 00:06 | <cabanier> | Hixie: probably not what you want |
| 00:06 | <krit> | Hixie: or better there just exist some propritary libs that can do that |
| 00:06 | <Hixie> | the spec defines it in great detail... |
| 00:06 | <lecuyer> | It says in the spec that it's relative to the width of the element, but given that everyone seems to have gotten it wrong I was wondering if they didn't :) |
| 00:06 | <cabanier> | Hixie: as currently defined, the path segments will overlap and caused all sort of drawing issues |
| 00:06 | <krit> | Hixie: you usually don't want to fullfill tasks of graphics libraries in browsers |
| 00:06 | <Hixie> | well, depends what you want, obviously |
| 00:06 | <cabanier> | :-) |
| 00:07 | <cabanier> | I'd expect it to render as if I stroked the path |
| 00:07 | <zewt> | krit: s/you/i/ |
| 00:07 | <Hixie> | well that gets back to the thing we were talking about earlier |
| 00:07 | <Hixie> | which lacks a specification |
| 00:07 | <cabanier> | and not get unpainted areas where the strokes meet |
| 00:07 | <cabanier> | that one is actually spec-able |
| 00:08 | <cabanier> | it's stroking of shapes/combined path which is hard |
| 00:08 | <zewt> | there's quite a lot of "graphics library" tasks in browsers, heh |
| 00:08 | <TabAtkins> | lecuyer: I don't know where you're seeing that it's relative to the width of the element. The CSS 2.1 spec defines percentages in padding to "refer to the width of containing block". |
| 00:08 | <cabanier> | since they don't have a 'start' point any more |
| 00:08 | <krit> | zewt: you as an content author may wish that. I am indeed talking as an implementer |
| 00:08 | <Hixie> | cabanier: everything is spec-able, it just needs to be specced |
| 00:08 | <zewt> | krit: you're a bit late (re: canvas, webgl, css filters) |
| 00:09 | <lecuyer> | TabAtkins: sorry, I must have misread it |
| 00:09 | <krit> | zewt: I don't see the context in your list |
| 00:09 | <cabanier> | Hixie: we *could* spec the planarization algorithm in detail |
| 00:09 | <zewt> | those are all things that overlap with graphics libraries, of course |
| 00:09 | <krit> | right |
| 00:10 | <Hixie> | cabanier: gonna have to if we want it implemented interoperably |
| 00:10 | <zewt> | there are things that are better done in script, of course, but that's a bit more specific than "tasks of graphics libraries" |
| 00:10 | <cabanier> | Hixie: that would be a massive undertaking though. the skia folks can likely provide the algorithm |
| 00:10 | <krit> | zewt: and none of them need path planarization |
| 00:10 | <TabAtkins> | lecuyer: No problem. |
| 00:10 | <Hixie> | cabanier: massive undertakings are what we do |
| 00:11 | <Hixie> | cabanier: that's what distinguishes the web platform from other platforms |
| 00:11 | <cabanier> | Hixie: well, not letting you stroke a union/intersect/xor path will make it a lot easier |
| 00:11 | <cabanier> | Hixie: I need to think a bit more about it |
| 00:12 | <krit> | Hixie: and things like addText require access to font data, which some browsers can't or are not willing to implement (independent of the path planarization discussion of cabanier) |
| 00:13 | <krit> | Hixie: Path planarization is not only very hard to specify, it is also very hard to implement |
| 00:13 | <Hixie> | krit: well, again... :-) |
| 00:13 | <Hixie> | "it |
| 00:13 | <krit> | Hixie: even harder to implement in a interopearable way |
| 00:13 | <Hixie> | er |
| 00:13 | <Hixie> | "it's hard" is not a good argument against doing something :-) |
| 00:13 | <cabanier> | Hixie: very true! |
| 00:14 | <krit> | Hixie: browsers also rely on the path data of the geraphic library |
| 00:14 | <krit> | Hixie: the path data does not reflect what you put into the lib usually |
| 00:14 | <cabanier> | Hixie: it needs to be done somehow. I think the *actual* algorithm doesn't need to be specified. Just how it supposed to work (find intersections, fix winding, remove shared lines, etc) |
| 00:14 | <krit> | Hixie: arc is not an arc in path data but cubic or quadratic curves |
| 00:15 | <Hixie> | cabanier: so long as it's unambiguous under all situations, whether it's defined imperatively or declaratively is just an editorial choice |
| 00:15 | <krit> | cabanier: it just is not really implementable in an interoperable way as long as browsers don't fundamentaly change the way they use Canvas paths |
| 00:15 | <Hixie> | cabanier: i usually do things imperatively because it's easier to reason about whether things are defined unambiguously |
| 00:16 | <krit> | and I don't see any need to lift up path representation to the browser from the graphic library |
| 00:16 | <cabanier> | hixie: yeah. That should be doable. |
| 00:16 | <cabanier> | krit: noone can figure out that an arc became a set of bezier though. There's no access to that |
| 00:16 | <cabanier> | (nor should there be) |
| 00:17 | <krit> | cabanier: that is correct, but this planarization requires it |
| 00:17 | <krit> | cabanier: a requirement from adding paths |
| 00:17 | <cabanier> | krit: don't think so |
| 00:17 | <krit> | cabanier: it does if you want to follow an algorithm |
| 00:17 | <krit> | cabanier: I am not even sure if all path segment primitives are supported by the canvas spec |
| 00:18 | <Hixie> | krit: the algorithms in specs aren't prescriptive of how you implement something |
| 00:18 | <cabanier> | krit: they're all path segments that potentially intersect |
| 00:18 | <krit> | cabanier: that are used by graphics libraries |
| 00:18 | <Hixie> | krit: they're just sample algorithms of black boxes |
| 00:18 | <Hixie> | krit: all that matters is that the inputs and outputs match |
| 00:18 | <Hixie> | krit: for all inputs |
| 00:18 | <krit> | Hixie: true |
| 00:19 | <krit> | Hixie: I care more about performance and interoperability in this case |
| 00:20 | <cabanier> | krit: is performance an issue for the spec? |
| 00:20 | <krit> | Hixie: A different approach where you don't have the access to the path (implementation wise) seems to be less error prone |
| 00:20 | <krit> | cabanier: for sure not, but it is for implementations and authors |
| 00:20 | <cabanier> | krit: yes |
| 00:21 | <Hixie> | krit: not sure what you're arguing, we seem to be in agreement :-) |
| 00:21 | <krit> | Hixie: not when it comes to styled paths |
| 00:22 | <cabanier> | Hixie: I will update my proposal and send it out to the list again |
| 00:22 | <krit> | Hixie: this is what addPathByStrokeingPath makes it cimplicated |
| 00:22 | <cabanier> | krit: that one should be fixed |
| 00:22 | <krit> | cabanier: fixed? |
| 00:22 | <cabanier> | replaced with something else |
| 00:23 | <krit> | cabanier: if you want to have the path along a styled path, it mostly requires path access |
| 00:23 | <krit> | cabanier: (of course not in all cases) |
| 00:23 | <cabanier> | krit: going to dinner now :-) |
| 00:23 | <cabanier> | krit: we can talk about it later |
| 00:23 | <krit> | cabanier: but definitely with pointInPath for instance |
| 00:24 | <Hixie> | krit: i don't have any trouble saying the browsers should have path access |
| 00:24 | <krit> | Hixie: Yes, but this brings the implementation complexity up from the graphic library to the browser |
| 00:24 | <krit> | Hixie: (at least at the moment) |
| 00:24 | <Hixie> | krit: i don't see why we would distinguish between "graphics library" and "browser" |
| 00:25 | <krit> | Hixie: Because implementations (talking about WebKit, Blink and Gecko) build on top of the path handling of the graphic library |
| 00:26 | <Hixie> | krit: so? |
| 00:26 | <Hixie> | krit: the libraries can change... |
| 00:26 | <krit> | Hixie: especially dash array and things like that influence hit testing and all that needs to be integrated when you apply styled paths |
| 00:26 | <krit> | Hixie: sure, as long as they don't, you require browsers to do the job currently done by graphics libraries |
| 00:27 | <Hixie> | krit: again, i don't understand the distinction or why that would be a problem. |
| 00:27 | <Hixie> | krit: that's like saying "browsers will have to do the job of XML parsers" |
| 00:27 | <Hixie> | krit: or "browsers will have to do the job of character encoding libraries" |
| 00:27 | <Hixie> | well, yes |
| 00:27 | <Hixie> | welcome to being a browser |
| 00:27 | <krit> | Hixie: which they don't do either. They rely on libs for that |
| 00:27 | <Hixie> | yeah... no |
| 00:28 | <krit> | Hixie: no for HMTL parser |
| 00:28 | <Hixie> | at least, not off-the-shelf libraries |
| 00:28 | <Hixie> | (then again, as far as i can tell, they all have their own graphics libraries these days too) |
| 00:30 | <krit> | Hixie: the reason why I don't want the browser to do the job is redundancy (the represenation still needs to be done by the graphic library), performance (all the things need to match expectations of authors or they don't use it), interoperability (which is hard to reach on differen starting points the browsers are), implementation complexity (which is hard to maintain and extremely error prone, after all we are browser vendors and no algebra experts) |
| 00:31 | <Hixie> | krit: you keep referring to the graphics library as a separate concept from the browser. it need not be. just view it as one unit of software. |
| 00:32 | <Hixie> | krit: even if implemented in a modular reusable fashion, the graphics "library" can provide exactly the api the browser needs |
| 00:32 | <Hixie> | krit: to do whatever we want it to do |
| 00:32 | <krit> | Hixie: yes of course it doesn't need to be, but it is at the moment for very good reasons |
| 00:33 | <Hixie> | krit: as far as i can tell, all browsers have dedicated graphics libraries under the control of the same development team, not off-the-shelf libraries. |
| 00:33 | <Hixie> | krit: so i disagree |
| 00:34 | <krit> | Hixie: that is not true. So far it is JUST Google that has that |
| 00:34 | <Hixie> | at least google, microsoft, and apple. |
| 00:34 | <krit> | Hixie: Mozilla relies on Cairo/DirectX/maybe Skia, WebKit is based on a lot of graph libs where the browser team does not have influence on the grpahic lib teams. |
| 00:34 | <krit> | Hixie: MS and Apple just in theory :) |
| 00:36 | <Hixie> | i have no problem with the idea that browsers will heavily influence how their graphics engine develops |
| 00:36 | <krit> | Hixie: Google's Chrome/Blink tool is the only team that has direct control on the development of their graphic library |
| 00:37 | <krit> | Hixie: That is ok from the spec author point of view. I am talking from the implementer point of view. |
| 00:38 | <Hixie> | i am too |
| 00:39 | <Hixie> | as implementors, we've taken over the encoding libraries, parsing libraries, all kinds of stuff |
| 00:39 | <Hixie> | UI widget libraries |
| 00:39 | <Hixie> | we've reimplemented accessibility layers |
| 00:39 | <Hixie> | we hook into the OS input layer much higher than most apps |
| 00:39 | <Hixie> | or lower, i guess |
| 00:40 | <Hixie> | graphics is just the next obvious one that will need to be assimilated to get optimal performance |
| 00:40 | <Hixie> | we have our own scripting engines |
| 00:40 | <Hixie> | we have our own memory management routines |
| 00:40 | <Hixie> | we have our own string implementations |
| 01:17 | <TabAtkins> | Ugh, simple bash question. I want to pass all bash function arguments to a python script. How to do? |
| 01:17 | <TabAtkins> | I can easily pass *individual* arguments with $1 or whatever, but can't figure out how to do all of them. |
| 01:18 | <heycam> | "$@" |
| 01:18 | <TabAtkins> | Hah, just now foudn that. |
| 01:18 | <TabAtkins> | Was hidden in one of the google results that didn't look helpful at first glance. |
| 01:18 | <heycam> | searching for shell script syntax is… not an easy thing |
| 01:19 | <TabAtkins> | Indeed. |
| 01:20 | <TabAtkins> | I'm trying to make a python script that can change the shell directory. Looks like best way is to have the script echo the path, and have a bash function cd to that. |
| 01:58 | <krit> | Hixie: I am sorry, I didn't see your reply. Each of these features have been checked for positive and negative effects. And this will continue, even with Paths. In WebKit we had to do this choices multiple times. For SVG we decided to cover the data in the browser to support certain features that are required by SVG 1.1. The Blink investigates in reverse this decision and use the capabilities of the graphic library instead again. (As you noted befor |
| 02:07 | <birtles> | are there any guidelines regarding throwing exceptions from constructors in Web APIs? |
| 02:47 | <cabanier> | Hixie: I agree with your points about the browser vs graphics libraries. |
| 07:17 | <sangwhan_> | I assume no NSS maintainers are in this chat? |
| 07:19 | sangwhan_ | takes that as a yes |
| 07:21 | <Ms2ger> | Doubt it |
| 07:32 | <Ms2ger> | http://w3cmemes.tumblr.com/post/48861166006/does-anyone-want-to-put-their-hand-up-and-help |
| 09:50 | <annevk> | MikeSmith: fwiw, https://wiki.mozilla.org/WebAPI/KeboardIME |
| 11:07 | <MikeSmith> | annevk: thanks |
| 11:07 | MikeSmith | reads |
| 11:08 | <MikeSmith> | annevk: interesting |
| 11:08 | <annevk> | MikeSmith: my rough understanding is that we want an API that allows implementing an IME from scratch |
| 11:08 | <MikeSmith> | hmm |
| 11:08 | <MikeSmith> | so we talked here yesterday about that |
| 11:08 | <MikeSmith> | with James Craig and Dominic Manzonni |
| 11:09 | <MikeSmith> | Dominic Mazzoni |
| 11:09 | <MikeSmith> | my understanding from talking with them is that you're not going to be able to make that accessible |
| 11:10 | <MikeSmith> | they pointed out that e.g., CodeMirror and Cloud9/ACE etc. are not accessible to screen-reader/AT users |
| 11:12 | <annevk> | I guess that would depend on what primitives you expose no? |
| 11:12 | <annevk> | But this is not my area of expertise at all. |
| 11:13 | <annevk> | I just know this is in the works... |
| 11:14 | <MikeSmith> | annevk: ok |
| 11:15 | <MikeSmith> | I see the history of that wiki page shows Yuan Xuleia |
| 11:16 | <MikeSmith> | I would hope that whoever is working it would post feedback or an alternate proposal to public-webapps |
| 11:16 | <MikeSmith> | feedback on the existing IME API draft that's been published |
| 11:18 | <annevk> | Yeah I suggested they do that somewhere |
| 11:18 | <MikeSmith> | k |
| 11:26 | <annevk> | lol |
| 11:27 | <annevk> | The minutes mention dropping keyboard events from DOM3 |
| 11:27 | <annevk> | Which makes sense... but... at what point is someone going to step up and just define the user interaction model already? |
| 11:27 | <annevk> | Is there some kind of benefit to keeping the details and have everyone run in circles? |
| 11:28 | <MikeSmith> | that stuff I've not been following |
| 11:28 | <MikeSmith> | I think I was actually sleeping during that discussion |
| 11:29 | <annevk> | It makes more sense to sleep, since we're not really any further than we were 10 years ago on that subject. |
| 11:30 | <annevk> | And a WebApps WG meeting full of people not interested in doing too much work is not going to change that. |
| 11:34 | <jgraham> | One of the sad truths of life is that it is easy to get money for people to go to meetings and hard to get money for people to do actual work. PAying for 100 people to attend a four day meeting costs the same as employing someone like annevk or Hixie for a year. |
| 11:35 | <smaug____> | annevk: keyevents will not be dropped from DOM3 |
| 11:36 | <smaug____> | it was just discussed |
| 11:36 | <SimonSapin> | annevk: So you’re worth 400 days of work a year :) |
| 11:36 | <smaug____> | and someone mentioned that then the same what happened with D2 would happen with D3 |
| 11:37 | <smaug____> | jgraham: it is hard to find people to write specs |
| 11:37 | <smaug____> | and almost as hard to find people to review specs :) |
| 11:38 | <smaug____> | and someone should write tests too |
| 11:38 | <jgraham> | and someone should review tests :) |
| 11:40 | <Ms2ger> | Fortunately people are happy to implement things |
| 11:41 | <smaug____> | it is easier to find people to implement things |
| 11:41 | <smaug____> | (people should review the specs when implementing them, but that doesn't always or usually happen) |
| 11:42 | <jgraham> | It's not just that |
| 11:42 | <jgraham> | It's that people understand the model of employing people to implement stuff |
| 11:44 | <jgraham> | Or, at least, the benefits of paying people to implement stuff are obvious and short-term |
| 11:44 | <jgraham> | You get more stuff, faster |
| 11:44 | <jgraham> | The benefits of paying people to work on writing specs or tests are less obvious, and suffer more from "tragedy of the commons" effects |
| 11:53 | <hallvors> | is annevk around? |
| 11:59 | <zcorpan> | so we have HTML defining HTMLElement#style, SVG defining SVGElement#style and CSSOM defining ElementCSSInlineStyle#style (which "is implemented by Element objects"), and they're all different |
| 12:00 | <Ms2ger> | Of course |
| 12:01 | <zcorpan> | i guess i should fix ElementCSSInlineStyle#style and make the HTML and SVG specs say (HTML|SVG)Element implements ElementCSSInlineStyle |
| 12:02 | <zcorpan> | wonder why SVG doesn't require CSS support |
| 12:05 | <zcorpan> | what's the right thing when CSS isn't supported? Should .style be absent? or return null? |
| 12:06 | <zcorpan> | absent seems better |
| 12:06 | <Ms2ger> | In that case, I don't think any of the interfaces in cssom should exist |
| 12:06 | <zcorpan> | yeah |
| 12:12 | <SimonSapin> | Doesn’t SVG2 require CSS support? Or did I make that up? |
| 12:17 | <jgraham> | Does SVG2 exist in any meaningful sense? |
| 12:26 | <annevk> | hallvors: am now |
| 12:27 | <hallvors> | great, have a question |
| 12:27 | <hallvors> | I'm looking over the XHR tests, fixing some bugs |
| 12:28 | <hallvors> | main question is: has the spec changed to "fire readystatechange only when readyState actually changes" or not? |
| 12:28 | <hallvors> | I think it has.. and trying to read the processing steps, I can't find any place we don't.. |
| 12:28 | <hallvors> | but it's a bit hard to follow all the steps.. |
| 12:29 | <annevk> | not if abort() sets it to UNSENT |
| 12:29 | <annevk> | but yeah, I remember one event for send() has been removed |
| 12:30 | <hallvors> | so expected outcome of http://w3c-test.org/web-platform-tests/master/XMLHttpRequest/open-open-sync-send.htm and similar tests should be aligned.. |
| 12:31 | <annevk> | https://github.com/whatwg/xhr/commit/15e86b74b03b9bb80186d6edfa8be091d2312522 was over a year ago it seems |
| 12:31 | <hallvors> | Opera (Presto) and Chrome mostly agree with that new model, Firefox doesn't |
| 12:32 | <annevk> | yeah, so says my associated email |
| 12:32 | <hallvors> | Cool, will fix the tests. Only a year late :) |
| 12:32 | <hallvors> | Thanks for confirming ;) |
| 12:32 | <annevk> | great |
| 12:41 | <hallvors> | annevk: if you're still here :) by my reading of the spec (in its current state), this test should do assert_throws : http://w3c-test.org/web-platform-tests/master/XMLHttpRequest/open-url-multi-window-2.htm |
| 12:42 | <hallvors> | (creates XHR from IFRAME window, removes IFRAME from parent before open()) |
| 12:44 | <annevk> | yeah, the document would not be fully active |
| 12:44 | <annevk> | same if you navigate the iframe |
| 12:46 | <annevk> | well, I think that's how it's defined; navigation and multiple browsing contexts is unfortunately still somewhat hairy |
| 12:57 | <zcorpan> | why does http://www.w3.org/TR/SVG2/types.html#InterfaceSVGElement have xmlbase, xmllang, xmlspace? isn't that a bit of layering violation? |
| 12:58 | <Ms2ger> | Poke heycam :) |
| 12:59 | <annevk> | SVG is full of those |
| 12:59 | <annevk> | Ms2ger: nah, please let him focus on IDL stuff |
| 12:59 | <Ms2ger> | Mm |
| 13:00 | <Ms2ger> | Find someone else to poke, then :) |
| 13:00 | <annevk> | Ms2ger? |
| 13:00 | Ms2ger | pokes annevk back |
| 13:01 | <annevk> | should've raised shield |
| 13:28 | <annevk> | So seems like request takes yet another fricking flag :( |
| 13:29 | <annevk> | The "use URL credentials flag" |
| 13:36 | <zcorpan> | i sent an email to www-svg |
| 13:51 | <annevk> | I hope once I've defined all this sometime will point out a way to reduce the flags |
| 13:51 | <annevk> | sometime, someone, either way |
| 13:58 | <hallvors> | hm.. I have no idea what the pass condition for http://w3c-test.org/web-platform-tests/master/XMLHttpRequest/open-url-multi-window-4.htm should be |
| 14:02 | <hallvors> | Firefox, Opera (Presto): terminate request with no further events when IFRAME is removed. Chrome: completes request to readyState=4 but responseText is "" so it's pretty much terminated with an extra event for "DONE" state |
| 14:03 | <hallvors> | annevk: thoughts? |
| 14:07 | <annevk> | hallvors: in a bit |
| 14:07 | <annevk> | like 40min |
| 14:07 | <zcorpan> | ok have a nice weekend guys |
| 14:08 | <hallvors> | annevk: probably won't be here in 40min, could you just post your thoughts here anyway and paste the discussion that occurs in an E-mail to me? ;-) |
| 14:12 | <Ms2ger> | I found a picture for the fetch spec: http://bit.ly/13zyutD |
| 14:41 | <annevk> | hallvors: so I think that should actually just work |
| 14:42 | <annevk> | hallvors: the base URL and everything is established, there's no reason for it to fail if implementations follow the spec (harhar) |
| 16:18 | <matjas> | annevk: i was looking at http://mimesniff.spec.whatwg.org/#determining-the-sniffed-media-type-of-a-resource and figured that Step 5 would apply there, no? |
| 16:19 | <Ms2ger> | WebApps discussing licensing and c/p'ing specs again \o/ |
| 16:19 | <annevk> | matjas: yeah that's the culprit |
| 16:21 | <matjas> | so iOS Safari violates the spec, hence my tweet \o/ glad i looked it up before tweeting (and glad i understood correctly) |
| 16:22 | <annevk> | matjas: I doubt many people got that subtlety though |
| 16:22 | <annevk> | and the guy complaining didn't mention that document |
| 16:22 | <annevk> | so he might not have realized his exact byte sequence for "Content-Type: text/plain" is what causes other browsers not to sniff |
| 16:24 | <annevk> | ah you did |
| 16:42 | <MikeSmith> | hober, divya - so I have a flight out tonight at 23:45 from SFO. So we could meet up from dinner if yall have time |
| 16:45 | <hober> | MikeSmith divya: that might work for me; i'll check with erin |
| 16:47 | <divya> | MikeSmith: YA! |
| 16:47 | <divya> | MikeSmith: hober what time? |
| 16:48 | <divya> | i hav something at 7.30 |
| 16:48 | <hober> | MikeSmith divya: there's also an indieweb meetup of some kind, maybe tantek can fill us in |
| 16:53 | <divya> | hober: can you message me when you know better. i am on and off irc |
| 16:53 | <divya> | MikeSmith: do you have us number? |
| 16:53 | <divya> | MikeSmith: else DM me on twitters |
| 16:54 | <MikeSmith> | divya: +81-80-2387-5995 |
| 16:55 | <annevk> | people reading the logs, you can now bug MikeSmith day and night |
| 16:55 | <divya> | MikeSmith: thnx! |
| 16:55 | <divya> | ahahahahha |
| 16:55 | Ms2ger | fires up his address book |
| 17:13 | <tantek> | hober, MikeSmith see indiewebcamp.com/events |
| 17:22 | <MikeSmith> | tantek: thanks |
| 17:22 | <TabAtkins> | zcorpan: SVG requires CSS support in practice. In 1.1 they were loathe to codify that, but if it's not already in SVG2, it's only because someone hasn't gotten to it yet. |
| 17:22 | <annevk> | morning tantek |
| 17:22 | <annevk> | and morning TabAtkins |
| 17:23 | <TabAtkins> | Yo. |
| 17:23 | <TabAtkins> | annevk: I think you lied to me! |
| 17:23 | <annevk> | autocomplete... |
| 17:23 | <annevk> | TabAtkins: I try |
| 17:23 | <annevk> | TabAtkins: did it work? |
| 17:23 | <TabAtkins> | About Futures not recursively unwrapping. |
| 17:24 | <TabAtkins> | Ie Future.accept(Future.accept(5)).then(console.log) logging "<object Future>" rather than "5". |
| 17:24 | <annevk> | pretty sure that if you do Future.accept(Future.accept(5)).then((x) => alert(x)) will alert a future |
| 17:24 | <TabAtkins> | I find it really hard to follow the spec algorithm, but Domenic (from Promises/A+ standardization fame) asserts that you won't. |
| 17:25 | <annevk> | I think because you confuse Future.accept with Future.accept |
| 17:25 | <annevk> | lol |
| 17:25 | <TabAtkins> | I... I see. |
| 17:25 | <annevk> | Future.resolve with Future.accept |
| 17:25 | <TabAtkins> | Heh. |
| 17:25 | <TabAtkins> | Not that I know of. There's a bunch of "use the resolver's resolve algorithm" sprinkled about that I think means Domenic is right. |
| 17:26 | <annevk> | oh generally futures use resolve, but you can do accept if you want to |
| 17:27 | <TabAtkins> | Yes, of course. The point is whether calling .then() recursively unwraps its calling value. (Or its callback's return value.) |
| 17:27 | <annevk> | then does nothing with the value it's passed |
| 17:27 | <annevk> | it does something with the return value sure |
| 17:27 | <annevk> | but in that thread you guys were discussing Future.resolve |
| 17:28 | <TabAtkins> | Ah, wait, I see the problem. There is one place where you're doing the wrong thing. |
| 17:28 | <TabAtkins> | If the first callback to .then() is omitted, you use the resolver's resolve algorithm instead. That should be the accept algorithm. |
| 17:29 | <TabAtkins> | The signature of the callback should be (a) => (a or Future<a>). The resolve algorithm's signature is (Future<a>) => (Future<a>). You want accept, which is (a) => (Future<a>). |
| 17:29 | <annevk> | ooh, if you omit callbacks |
| 17:29 | <annevk> | hmm |
| 17:29 | <TabAtkins> | (Well, resolve is (a or Future<a>) => (Future<a>).) |
| 17:30 | <TabAtkins> | (Coercing the (a) case into a Future<a>.) |
| 17:32 | <annevk> | so yeah, I guess it makes sense to change that |
| 17:40 | <annevk> | "zero process copyright" if I reorder some of my URL slugs, I hope that changes soon |
| 17:40 | <TabAtkins> | Hm? |
| 17:41 | <annevk> | Oh, someone just asked me about the W3C and URLs so I gave him http://annevankesteren.nl/2013/03/zero http://annevankesteren.nl/2012/11/copyright http://annevankesteren.nl/2012/11/process and then re-ordered the last words a bit |
| 17:42 | <annevk> | I swear, it all makes sense in my head :p |
| 17:43 | <TabAtkins> | Heh. ^_^ |
| 17:53 | <annevk> | jsbell: not defining order of exceptions anno 2013 is sad |
| 17:54 | <annevk> | shame on ReSpec (and Indexed DB) |
| 17:54 | <jsbell> | annevk: Don't blame ReSpec |
| 17:55 | Ms2ger | blames jsbell |
| 17:56 | <jsbell> | :) |
| 17:56 | <annevk> | jsbell: it was one of the reasons initially given, pretty sure if that limitation had not been there it would've been fixed a year ago |
| 17:56 | <Ms2ger> | And the IE team |
| 17:56 | <annevk> | jsbell: Microsoft stalling is of course not helping |
| 17:56 | <annevk> | jsbell: but that's a year later, and well, they always do that |
| 17:57 | <jsbell> | I have my opinions on this one, but it's not a sword I was willing to fall on. |
| 17:57 | <Ms2ger> | Implementing a given order would have taken an order of magnitude less time than the time that has been wasted by the stop energy |
| 17:58 | <jsbell> | Ms2ger: no argument. |
| 17:58 | <jsbell> | Shame not all browsers ship so frequently. :P |
| 17:58 | <Ms2ger> | And to make that even worse, I shall keep beating this dead horse for the rest of the evening! |
| 17:59 | <jsbell> | Ms2ger: make yourself useful and go add Futures to some random spec. ;-) |
| 17:59 | <Ms2ger> | That's annevk's job |
| 18:00 | <annevk> | Ms2ger: dude btw, how did they come to the conclusion DOM Parsing and Serialization was pretty much done?! |
| 18:00 | <Ms2ger> | I was too shocked to reply |
| 18:01 | <annevk> | I see |
| 18:02 | <annevk> | I wonder why tantek attends these support group meetings but refuses to engage in the much more productive support forum discussions. |
| 18:05 | <hober> | hahahaha |
| 18:21 | <tantek> | annevk - in person human to human communications often have higher bandwidth than various support fora and are also a good source of serendipitous 1:1 conversations that can sometimes be orders of magnitude more time-efficient than text media. |
| 18:22 | <tantek> | also, fewer (like very few) crazy armchair-spec-commenters show up in in-person meetings, in contrast to online support fora which are often overwhelmed with them. |
| 18:22 | <TabAtkins> | *forums |
| 18:23 | <Ms2ger> | *fora |
| 18:23 | <TabAtkins> | *This isn't Latin. |
| 18:23 | <TabAtkins> | *And if it was, you're doing it wrong. |
| 18:25 | <annevk> | tantek: I've read the minutes. It looks like a waste of time. |
| 18:25 | <annevk> | "XHR level 1 would be useful" mahahaha |
| 18:25 | <annevk> | It's even wasting my time now |
| 18:30 | <tantek> | annevk - the minutes are, well, a rough approximation, like an outline |
| 18:31 | <tantek> | so yeah - I wouldn't expect them to be much worth your time |
| 18:31 | <tantek> | a lot is communicated in subtle tone of voice, body language etc. that helps set context for the spoken words, only a subset of which are written into the minutes |
| 18:31 | <tantek> | interesting to see who really cares (doesn't care) about what |
| 18:32 | <annevk> | tantek: I've attended the meetings as well in the past. They were generally not worth it. Having focused meetings with a few people works though. |
| 18:32 | <tantek> | focused meetings with a few people do tend to be higher value, no disagreement there |
| 18:32 | <tantek> | interesting thing (which I think got minuted) |
| 18:33 | <tantek> | a set of editors have somewhat threatened to go on strike unless webapps switches to a liberal license |
| 18:33 | <tantek> | so if I can help move that along, the attendance at the meeting will be worth it |
| 18:33 | <tantek> | same reason I'm (likely) running for the AB |
| 18:35 | <annevk> | They'd be welcome here I'm sure |
| 18:35 | <annevk> | I only saw the suggestion from darobin |
| 18:35 | <tantek> | yeah that - from darobin |
| 18:38 | <annevk> | That was quickly followed by Chaals being happy to plagiarise the URL spec |
| 18:42 | <tantek> | annevk - plagiarism is one of the problems I'd like to address at W3C |
| 18:47 | <lecuyer> | TabAtkins: what part of the future spec would resolve(Future<Foo>) return Future<Foo>? It makes sense, I'm just not seeing it. Is that the [[Call]] on `then`? |
| 18:50 | <tantek> | annevk: re: "I've attended the meetings as well in the past. They were generally not worth it." not true at all, I mean just last year, if you hadn't attended HTML/WebApps f2f, we wouldn't have http://w3cmemes.tumblr.com/ |
| 18:50 | <annevk> | lecuyer: if you use resolve it'll return Foo |
| 18:50 | <annevk> | lecuyer: but it seems like there's a bug at the moment |
| 18:50 | <annevk> | tantek: baha :) |
| 18:51 | <tantek> | ;) |
| 18:51 | <jsbell> | This stuff is easy, why aren't we shipping it yet? ;-) |
| 18:52 | <annevk> | jsbell: we're getting close to shipping |
| 18:52 | <lecuyer> | annevk: implementation bugs or spec bugs? |
| 18:52 | <annevk> | spec |
| 18:53 | <tantek> | annevk - shame that http://25.media.tumblr.com/avatar_420f39830dee_128.png is not the first post in w3cmemes |
| 18:54 | <lecuyer> | annevk: are additional prototype implementations welcome to the discussion? |
| 18:55 | <annevk> | lecuyer: don't see why not |
| 18:55 | <divya> | annevk: would your license not make plagarism valid? |
| 18:55 | <divya> | i mean i am not sure why it is a concern if your want your content to be free |
| 18:55 | <annevk> | divya: you're confusing plagiarism with legality |
| 18:56 | <divya> | no i am not talking legal terms at all. |
| 18:56 | <divya> | i thought you want your content to be free. |
| 18:56 | <divya> | but you want credit? |
| 18:56 | <divya> | i dunno |
| 18:57 | <Ms2ger> | divya, nobody's arguing that the W3C is doing something illegal |
| 18:57 | <divya> | Ms2ger: neither am i! |
| 18:57 | <annevk> | The problem with the forks the W3C has done to date is they are not kept up to date and confuse implementers. I'd rather that not happen. Also, forking my work without improving matters is not the reason it's under CC0. |
| 18:57 | <Ms2ger> | divya, only that it's hypocritical |
| 18:57 | <divya> | Ms2ger: ah |
| 18:57 | <divya> | got it. |
| 18:57 | <Ms2ger> | divya, also, unproductive, confusing, and all that |
| 18:57 | <divya> | Ms2ger: yaya got it now. |
| 18:58 | <divya> | but i saw plagarism and got confused. |
| 18:58 | <annevk> | It's under CC0 to spur creativity, not to create confusion. |
| 18:58 | <divya> | all other arguments seem sound to me. |
| 18:59 | <annevk> | Unfortunately I cannot both prevent the W3C from doing stupid stuff while allowing others to do the sane stuff at the same time. Given the choice I'd rather let the W3C do stupid stuff. |
| 19:04 | <tantek> | exactly, just because something is CC0 doesn't make it right to plagiarize |
| 19:04 | <tantek> | plagiarism is unethical, regardless of any license or lack thereof |
| 19:08 | <jsbell> | annevk: http://dom.spec.whatwg.org/#dom-future-any and friends - the append steps reference "resolveCallback" instead of "resolve" and "rejectCallback" instead of "reject" |
| 19:12 | <divya> | ethics is not something worth arguing about |
| 19:13 | <jgraham> | It i true that the meetings are usually the least productive part of TPAC. Coffee breaks: productive. Meals: productive. Evenings in the bar: productive. Meetings: a good time to write tests. |
| 19:13 | <jgraham> | (also the plenary day is typically quite reasonable now) |
| 19:15 | <Ms2ger> | divya, you're not a philosopher? :) |
| 19:15 | <jgraham> | I think the position that "ethics are not something work arguing about" is strongly philosophical |
| 19:16 | <lecuyer> | Ms2ger: Is the real question about whether or not ignoring ethics is itself unethical? |
| 19:17 | <jgraham> | I think it makes divya a moral nihilist |
| 19:20 | <divya> | jgraham: :))))))))))) |
| 19:21 | <divya> | jgraham: you argue my position very well so i think you would be my best representative |
| 19:22 | <divya> | yes i really dont care about morality in the absolute only in terms of the impact of said moral values |
| 19:22 | <jsbell> | annevk: also, in Future.every/some, you might want to be explicit about the index variable being snapshotted for each Function |
| 20:01 | <annevk> | jsbell: fixed |
| 20:48 | <lecuyer> | TabAtkins: any chance of explicit aspect ratios? :) |
| 20:49 | <TabAtkins> | I have a (broken) proposal for it on my blog <http://www.xanthir.com/blog/b4810>, and I've seen your email, but haven't responded to it yet. |
| 20:51 | <lecuyer> | TabAtkins: I hadn't seen your post, but it's pretty much exactly what I asked for in my email |
| 20:51 | <TabAtkins> | There are some things wrong with my proposal, but I know how to fix them. I just haven't pursued it in a spec yet. |
| 20:52 | <TabAtkins> | I plan to probably put it into the Sizing spec. Dunno whether it'll be this version or the next. |
| 20:58 | <lecuyer> | Awesome, I'm looking forward to it. Would that put it in css4 probably? |
| 20:58 | <lecuyer> | s/css4/sizing level 4/ |
| 21:03 | <TabAtkins> | Yeah, either http://dev.w3.org/csswg/css-sizing/ or the next level of it. |