00:19
<Benvie>
Domenic_: how stable is https://github.com/domenic/promises-unwrapping
00:21
<Benvie>
we're looking at implementing the rest of the API in JS while waiting for the C++ implementation (https://bugzilla.mozilla.org/show_bug.cgi?id=941920)
00:27
<Domenic_>
Benvie: it's done
00:27
<Benvie>
excellent
00:27
<Domenic_>
I might move some things into abstract operations for the module loader spec
00:27
<Domenic_>
Benvie: on that note see https://github.com/domenic/promises-unwrapping/blob/master/testable-implementation.js
00:27
<Benvie>
yeah I've looked through that. It's a good reference
00:28
<Domenic_>
without that this would have been madness
00:28
<Domenic_>
i'd make spec changes and get many test failures
00:28
<Benvie>
haha yeah
00:28
<Domenic_>
https://github.com/domenic/promises-unwrapping/issues/milestones
00:28
<Benvie>
I have a question about Promise.cast
00:29
<Benvie>
Promise.cast({ then: () => {})
00:29
<Domenic_>
returns a forever-pending Promise
00:29
<Benvie>
it's not supposed to assimilate thenables, is this correct?
00:29
<Domenic_>
it is supposed to assimilate thenables
00:30
<Benvie>
oh yeah I see
00:30
<Benvie>
IsPromise will return false for it, but it will be assimilated as part of resolution
00:30
<Domenic_>
yeah
00:30
<Benvie>
thanks
00:30
<Domenic_>
The IsPromise is for memory-efficient casts when you know you have the right type
00:31
<Benvie>
yeah, it's just a shortcut
00:31
<Domenic_>
so if you are programming defensively you do deepFreeze(Promise); Promise.cast(thingy).then(...)
00:31
<Domenic_>
and you pay no memory costs
00:31
<Domenic_>
The constructor check is important because otherwise you could fool it with an ill-behaved subclass
00:32
<Benvie>
yeah. In our JS implementation we're not supporting subclasses so it cuts out some of the complexity there
00:33
<Domenic_>
yeah, probably all of it -_-
00:33
<Benvie>
haha yeah
00:34
<Domenic_>
spec was like done, without subclassing, on 2013-09-18 according to commit logs. Then I started getting envious of allenWB's Array tricksiness...
00:35
<Benvie>
it's good you did it though. If you hadn't, then it would have had to be added at some point anyway to get into ES6, since all the builtins have to be subclassable now
00:37
<Domenic_>
yeah, i like this new world of subclassable builtins
00:37
<Domenic_>
you guys should make array subclassable
00:40
<gsnedders>
Gah, just accidentally nuked my local logs of #whatwg going back years. Oh well.
04:02
<rniwa>
MikeSmith, jgraham: maybe either one of you could approve my PR to fix some html template tests? https://github.com/w3c/web-platform-tests/pull/442
04:02
<rektide>
if i want to author some kind of spec, what should i do to get started? w3 seems to use this respec thing, but i'm not sure what it really consititutes, what it's for, what reading i need to do, how i should get started?
04:03
<rniwa>
rektide: my recommendation is to start writing the document somewhere
04:03
<rniwa>
rektide: and figure out those things later
04:04
<rniwa>
rektide: unless you've just signed up to be an editor of some specification
04:06
<rektide>
yeah... my urge to do it right is a hard one to ignore. i didn't really expect there being any onboarding guides or good ways to get started, but i figured i'd ask.
04:07
<rniwa>
rektide: have you read http://www.w3.org/html/wg/wiki/ExtensionHowTo ?
04:08
<rniwa>
rektide: I don't know what kind of specification you're intending to write
04:08
<rniwa>
rektide: but if it's something you haven't proposed somewhere yet
04:08
<rniwa>
rektide: then do that first
04:08
<rniwa>
rektide: it doesn't make much sense to put all your energy into making things right
04:08
<rniwa>
if your proposal has to change significantly due to feedback you get
04:09
<Domenic_>
rektide: I find GitHub + markdown specs is plenty. See e.g. https://github.com/whatwg/streams/ or even https://github.com/domenic/promises-unwrapping
04:15
<rektide>
rniwa: I am writing an extension atm. that ExtensionHowTo is an invaluable link, my sincere thanks
04:15
<rektide>
thanks both, thanks a dozen
04:28
rniwa
gets lunch
09:04
<hsivonen>
annevk-cloud: is there something wrong with my test case or do non-Gecko browsers not support responseType = "json" ? http://hsivonen.com/test/moz/json-bom/test.html
09:28
<odinho>
hsivonen: Presto does at least.
09:28
<odinho>
(if you tested that :P )
09:38
<hsivonen>
odinho: I didn't
09:38
<odinho>
hsivonen: Okay. But now you know ;-)
09:39
<hsivonen>
odinho: boo. Presto supports UTF-16.
09:40
<odinho>
Yeah. Too bad there was no testharness.js test with that as a fail-condition when sof did that work. He's very responsive to fixing red tests.
09:41
<odinho>
Whenever I wanted him to fix something it was just to create a test for it, didn't have to say anything :P
09:45
<hsivonen>
I expected Blink to have responseType json support by now, but apparently not
09:49
<hsivonen>
hmm. I'm on 100 Mbps down connection and Presto Opera tells me I'm on a slow network
09:52
<odinho>
HEHE. Yes.
09:52
<zcorpan>
presto opera has high expectations
09:52
<odinho>
Opera 12 likes trolling.
09:53
<zcorpan>
100 Mbps? Why not 100 Gbps?
10:09
<jgraham>
odinho: s/responsive fixing red tests/awesome/
10:10
<jgraham>
hsivonen: Presto's slow network connection experience is one reason I am very skeptical of adding any kind of "low bandwidth detection" API
10:18
<smaug____>
hayato: hi. so about event propagation
10:18
<hayato>
smaug____: hi
10:19
<smaug____>
(I've been reviewing the patch for Gecko)
10:19
<hayato>
smaug____: sounds nice.
10:20
<smaug____>
I filed few bugs, but those are quite clear, I think
10:20
<smaug____>
but 6.2, Event paths
10:20
<hayato>
smaug____: what's problem?
10:20
<smaug____>
there is some strangeness
10:20
<smaug____>
putting all the insertion points to the path
10:21
<smaug____>
that leads to a setup where the path may contain some elements, but not their parent nodes
10:21
<smaug____>
even though element and its parent belong to the same shadow tree
10:21
<smaug____>
what is the reason to put all the insertion points to the path
10:21
<smaug____>
and not only the final destination
10:24
<hayato>
smaug____: I don't have a strong opinion for that. I guess some developers want to register listeners to an insertion points, which is not the final destination to monitor a distributed node.
10:24
<hayato>
But I am feeling you are right.
10:25
<hayato>
smaug____: The final destination is enough for most use cases.
10:25
<smaug____>
yup
10:25
<hayato>
AFAIR, no one has expressed opinion for this part of the spec.
10:26
<hayato>
smaug____: I think we can change the part of the spec.
10:26
<smaug____>
it is mainly the consistency of event target chain which breaks if also non-final destination is put to the path
10:26
<smaug____>
hayato: good!
10:27
<hayato>
smaug____: Okay. Let me think again.
10:27
smaug____
likes consistency and simplifying things
10:28
<hayato>
smaug____: Let me do that in a few business days.
10:28
<smaug____>
k
10:29
<smaug____>
thanks
10:30
<smaug____>
hayato: I could file a bug
10:30
<odinho>
jgraham: sof is moved to blink now, if you didn't know :)
10:30
<hayato>
smaug____: for the spec? I appreciate that!
10:31
<smaug____>
yeah
10:31
<hayato>
smaug____: thanks!
10:31
<smaug____>
hayato: what is your w3c bugmail?
10:31
<jgraham>
odinho: I did. I have high hopes for blink suddenly becoming much more spec compliant :)
10:31
<smaug____>
looks like components stuff defaults to dglazkov
10:31
<hayato>
smaug____: hayato⊙co
10:32
<odinho>
jgraham: Haha. Lots of pressure on the man!
10:32
<hayato>
smaug____: I don't know how to change the default. :)
10:32
<jgraham>
odinho: No pressure, but seriously, he seems to eat bugs for breakfast ;)
10:33
<odinho>
this is true
10:34
<darobin>
the great thing with eating bugs for breakfast is that they don't get all soggy in the milk
10:34
<smaug____>
hayato: does dglazkov handle still some of the web components stuff?
10:35
<smaug____>
or should all the bugs be assigned to you by default ?
10:35
<smaug____>
I'm sure MikeSmith could ask someone to change the default, if needed
10:37
<hayato>
smaug____: Ops. I am afraid that we don't have a category for Shadow DOM. There is only for ComponentModel which includes Shadow DOM.
10:37
<Ms2ger>
Note to self: don't typo firewall as fireball
10:38
<hayato>
smaug____: dglazkov absolutely handles a lot of web components stuff. So the current default is okay.
12:23
<hsivonen>
these days Web authors are so clueful that it's hard to find an unlabeled non-windows-1252 site for testing
12:38
<hsivonen>
where do I find an unlabeled non-windows-1252 site on a non-windows-1252-affiliated country TLD?
12:38
<hsivonen>
there are tons of these, but now that I want to find one, where are they?
12:38
<jgraham>
hehe
13:45
<zcorpan>
hsivonen: what are the non-windows-1252-affiliated TLDs?
13:49
<zcorpan>
jgraham: was there any conclusion about how to do cleanup for async tests?
13:50
<hsivonen>
zcorpan: https://bugzilla.mozilla.org/attachment.cgi?id=8336745&action=diff#a/dom/encoding/domainsfallbacks.properties_sec2
13:50
<zcorpan>
jgraham: i think it might be good with a 'result' callback on the Test itself
13:54
<jgraham>
zcorpan: Yeah
13:54
<jgraham>
Could certainly have a "finally" function
13:55
<jgraham>
Not sure what the syntax should be, exactly though
13:55
<zcorpan>
jgraham: i think it should be possible to define the function inside a step. possibly be able to define several functions that will be invoked (like event listeners)
13:56
<zcorpan>
jgraham: in order to use variables in that scope
13:56
<jgraham>
zcorpan: I guess
13:56
<jgraham>
Seems complicated
13:56
<jgraham>
But it could work I guess as this.add_cleanup(function(){})
13:56
<zcorpan>
yeah
13:58
<zcorpan>
so if i create an iframe and append it to the document, i can define the cleanup function right next to it and not have to store the iframe in a global variable or anything
13:59
<jgraham>
zcorpan: I'm on it
13:59
<zcorpan>
cool
14:08
<jgraham>
zcorpan: I guess the cleanup ought to be called even if the test doesn't finish running?
14:08
<jgraham>
I mean, if it gets status NOT RUN
14:09
<darobin>
yes
14:09
<zcorpan>
is that the same as TIMEOUT? or isn't TIMEOUT a thing anymore?
14:09
<darobin>
I reckon cleanup should always run no matter what
14:09
<jgraham>
(at that point the user will navigate the page ofc, but it's possible that the test will do something that will persist across navigation)
14:09
<jgraham>
TIMEOUT is a thing still
14:10
<zcorpan>
my thinking was that cleanup would be invoked at the same time as 'result'
14:10
<jgraham>
But maybe NOT RUN only happens if you don't run any steps these days; I gorget how the semantics ended up
14:11
<MikeSmith>
hayato: if you want a Shadow DOM component created, we can can make one
14:21
<hsivonen>
MikeSmith: FYI, validator.nu and html5.validator.nu now run on OpenJDK 7
14:22
<MikeSmith>
hsivonen: ah cool
14:25
<hsivonen>
migrated to Ubuntu 12.04 just in time for 14.04
14:26
<MikeSmith>
so I hope Java versioning is stable at 7 now for a while
14:26
<MikeSmith>
I've not found anything that was added in 7 that I have any compelling need for
14:27
<MikeSmith>
so I can't imagine that anything added in the next major version will be anything really useful
14:30
<hsivonen>
MikeSmith: Java 7 added SNI
14:30
<hsivonen>
MikeSmith: though I haven't tested if the old HttpClient uses it
14:30
<MikeSmith>
I have to admit I don't know what SNGI is
14:30
<MikeSmith>
*SNI
14:30
<hsivonen>
MikeSmith: that's gonna be necessary when IE for XP dies and https virtual hosting takes off
14:30
<MikeSmith>
oh
14:30
<hsivonen>
MikeSmith: it's like the HTTP Host header but for TLS
14:31
<MikeSmith>
Server Name Indication
14:31
<MikeSmith>
I've never heard of it til now
14:31
<hsivonen>
MikeSmith: because the IE/XP boat anchor means it can't be deployed
14:32
<hsivonen>
though first, the Android 2.x boat anchor needs to fade away, too
14:33
<hsivonen>
it's shameful how Google shipped Anroid 2.x without SNI
14:35
<hsivonen>
MikeSmith: sadly, validator.nu even on OpenJDK 7 doesn't support SNI
14:35
<hsivonen>
gotta fix that!
14:36
<jgraham>
zcorpan: https://critic.hoppipolla.co.uk/r/436 or something?
14:37
<jgraham>
I wonder what happens if window.onerror is called
14:38
<jgraham>
I guess it still works
14:39
<zcorpan>
hsivonen: i have a list of 276 urls with those tlds that don't have charset in content-type or <meta>
14:40
<hsivonen>
zcorpan: cool. can you post the list somewhere?
14:40
<zcorpan>
yep
14:45
<zcorpan>
hsivonen: i didn't exclude ascii-only pages, but you could filter for that if you download the data set
14:46
<hsivonen>
zcorpan: ok
14:46
hsivonen
learns that there's a new Java dependency management tool https://ant.apache.org/projects/ivy.html
14:47
<hsivonen>
"People don't like Maven. Let's name the replacement to something that people associate with poison. That'll drive adoption."
14:51
<zcorpan>
jgraham: yep. thanks!
14:54
<jgraham>
zcorpan: My only concern about that design is that it doesn't have great atomicity properties
14:55
<jgraham>
Although it's hard to think of a design that does
14:55
<jgraham>
e.g. if you do
14:55
<jgraham>
set_some_state()
14:55
<jgraham>
set_some_more_state()
14:55
<jgraham>
this.add_cleanup(rollback_state)
14:56
<jgraham>
and set_some_more_state fails, you won't clean up the first lot of state
14:56
<jgraham>
(those are only functions for convenience, they could be statements or whatever)
14:56
<zcorpan>
yeah, then you'd have to use two add_cleanups
14:56
<jgraham>
Right, but people clearly aren't going to do that. I guess it is just something we will have to live with
14:56
<zcorpan>
which i noticed i didn't do in my test that inserts two elements to the document
14:57
<zcorpan>
though they both append to body so if the first one succeeds the second one really should also
14:57
<zcorpan>
yeah
14:58
<jgraham>
OK, let's see how that works out
14:58
<jgraham>
Maybe we can change the API if it is only used a little bit and turns out to be too hard to use
14:59
<zcorpan>
my first impression is that it's awesome :-)
14:59
<jgraham>
Well that is good at least :)
14:59
<darobin>
the only question I had was about whether there should be a specific context for the callback
14:59
<darobin>
but I guess that's nothing that bind() can't do for you
14:59
<zcorpan>
even for sync test it looks better than try/finally because the cleanup can be defined next to the relevant thing
15:00
<jgraham>
darobin: I don't think there is anything that makes sense by default?
15:00
<darobin>
jgraham: that was my second thought
15:00
<jgraham>
But it could take a this_obj ofc
15:01
<hsivonen>
occasionally I wonder if the HttpClient devs are just trolling downsteam users by refactoring the API in every release
15:01
<darobin>
yeah, I thought about that — but it's adding wiring for stuff that people can do for themselves easily
15:01
<darobin>
other than that, it means I should probably update my docs
15:02
<zcorpan>
let's keep it simple for now
15:04
<darobin>
+1
15:11
<zcorpan>
jgraham: what should i do to get wptserve running again? :-)
15:12
<jgraham>
zcorpan: Gah
15:12
<jgraham>
I wonder if I can get my hands on a Mac
15:13
<Ms2ger>
Look around the office; about half of the people in your line of sight will have some kind of macbook :)
15:15
<zcorpan>
i checked out the previous commit for now
15:27
<hsivonen>
I'm sure this new HttpClient API makes sense to its creators...
15:29
<hsivonen>
old versions had *documentation*
15:36
<zcorpan>
has anyone researched how many attributes elements have in the wild?
15:38
zcorpan
finds http://canvex.lazyilluminati.com/misc/stats/attrcounts.png
15:40
<Ms2ger>
zcorpan, svg is rumoured to have lots
15:42
<zcorpan>
Ms2ger: but svg isn't very common
15:43
<Ms2ger>
True
15:46
<zcorpan>
i'm writing some tests for resolving urls, do you guys prefer if i open a PR now when it's half-finished or should i wait until i think it's complete?
15:47
<Ms2ger>
Feel free to do it now
15:48
<zcorpan>
k
15:56
<zewt>
gar @ pages that redirect to /maintenance when offline
16:05
<zcorpan>
https://critic.hoppipolla.co.uk/r/437
16:07
<zcorpan>
jgraham: this reminded me that testharness.js is annoying for utf-16 tests, i need to use <link charset>
16:08
zcorpan
*poof*
16:08
<jgraham>
Sigh
16:09
<jgraham>
zcorpan is now the second person in a row who had disappeared as I was typing a message for them
16:10
<Ms2ger>
Probably should make it utf-8 in http
16:12
<jgraham>
Yeah, but I don't quite know the right way to do that
16:12
<jgraham>
Some sort of configuration file?
16:12
<jgraham>
Custom magic in the server?
16:12
<jgraham>
I guess custom magic isn't so bad
17:42
<jgraham>
Achievement unlocked: person uses sync XHR as a justification foradding more blocking APIs
18:09
jensnockert
hugs jgraham.
18:36
<wilhelm_>
zcorpan, the most popular guy at the party: http://testthewebforward.org/assets/blog/shenzhen//testtwf-shenzhen25.jpg
18:37
<Ms2ger>
Is he the leftmost guy?
18:43
<miketaylr>
heh
18:43
<miketaylr>
(that's leif arne)
18:52
<Hixie>
anyone got any idea what kind of diagram would help with MessagePort objects, Window.postMessage, and so forth? https://www.w3.org/Bugs/Public/show_bug.cgi?id=23851
18:59
<Hixie>
can anyone find the e-mail address of 'Robert D. Thompson, author of "The MFC Programmer's Reference" (1997)' ?
19:03
<miketaylr>
Hixie: found his linkedin, http://www.linkedin.com/in/robertdeanthompson
19:03
<Hixie>
any way to communicate with him from there?
19:03
<Hixie>
(i don't do linked in)
19:04
<miketaylr>
i guess you can send "inmail", i've never used it
19:04
<miketaylr>
also https://plus.google.com/105991459354415331406/posts
19:04
<miketaylr>
but i dont do g+ :p
19:05
<Hixie>
i can use g+, thanks
19:05
<Hixie>
(though it looks like he doens't actively use it)
19:07
<miketaylr>
meh, have to upgrade to even send InMail™
19:08
<Hixie>
g+ isn't letting me +him into a post
19:08
<Hixie>
ok
19:08
<Hixie>
i guess i can send him a hangouts message but he's not online and probably won't get it for months if he doesn't use hangouts
19:08
<Hixie>
i could send him a youtube message but he won't get that since he doesn't seem to use youtube
19:08
<Hixie>
oh well
19:14
<marcosc_>
that was the moment zcorpan figured out we could do <picture> another way
19:16
<TabAtkins>
Are other people actually capable of seeing that image? It sounds like you are, but I get a 404.
19:44
<SimonSapin>
TabAtkins: you mean testtwf-shenzhen25.jpg? I see it
20:15
<Ms2ger>
OH: "Use a bug in the UTF-7 decoder..."
20:20
<TabAtkins>
SimonSapin: Hm. I click on that link, which navigates to http://testthewebforward.org/assets/blog/shenzhen//testtwf-shenzhen25.jpg, which 404s.
20:26
<Hixie>
what browser?
20:26
<miketaylr>
200 OK
20:26
<Hixie>
http://testthewebforward.org/assets/blog/shenzhen//testtwf-shenzhen25.jpg works for me in firefox and chrome and... i'd test webkit but my webkit seems to have died.
20:26
<Hixie>
brb fixing webkit.
20:28
<Hixie>
wfm in webkit too
20:29
<Hixie>
you sure you're not getting a trailing comma or something?
20:35
<TabAtkins>
Yes, quite sure there's no comma.
20:35
<TabAtkins>
Note that the comma isn't underlined here, and there's no comma on the previous one at all.
20:35
<TabAtkins>
And this is on my Pixel, recently updated.
20:36
<TabAtkins>
Ms2ger: The presence of a UTF-7 decoder is the bug, right?
20:41
<Hixie>
TabAtkins: weird! does it work if you change // to / ?
20:41
<TabAtkins>
Nope!
20:42
<TabAtkins>
That was the first thing I thought was wrong - I assumed a typo.
20:42
<Hixie>
woah, now i'm getting a 404
20:42
<Hixie>
wtf
20:42
<Hixie>
i definitely didn't have it cached before
20:42
<Hixie>
ohhhhh hey
20:43
<Hixie>
http://testthewebforward.org/ gives me a temporary error
20:43
<SimonSapin>
http://i.imgur.com/V8JgIAN.jpg
20:43
<Hixie>
i bet there's round-robin DNS going on here
20:44
<TabAtkins>
Thanks, SimonSapin!
20:45
<Hixie>
i get 204.232.175.78 as the IP when it works
20:45
<Hixie>
2001:470:0:cb::4113:bb64 when it doesn't
20:46
<Hixie>
same DNS server, though
20:46
<Hixie>
wonder why it gives different results sometimes
20:46
<Hixie>
anyway, looks like testthewebforward.org has badly configured IPv6
20:46
<TabAtkins>
Weird, ok.
20:46
<Hixie>
and the DNS server sometimes returns an AAAA record
22:02
<TabAtkins>
Oh man, Chrome is telling me which tab is making noise now.
22:48
<Hixie>
TabAtkins: you around? is there some way to say that an element should act like an inline-block even when it's set to other display types, for the purposes of sizing, while still allowing the other display types to remain relevant for other reasons (e.g. participating in the table model, if set to display:table-cell)?
22:49
<Hixie>
hm, actually, that's not what's going on here...
22:52
<Hixie>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2650