00:01
<AryehGregor>
I love open-source: https://bugs.webkit.org/show_bug.cgi?id=73182
00:02
<zewt>
would spoofing as "User-Agent: you're an idiot" be acceptable
00:02
<zewt>
perhaps it would help get the message across
00:05
<erlehmann>
zewt, i like your style and wish to subscribe to your newsletter.
00:06
<annevk>
I think it's right here, in #whatwg :)
00:07
<erlehmann>
// Pretend to be Firefox. Silverlight doesn't support Win Safari.
00:07
<annevk>
someone please patch WebKit to remove UTF-32 for me tonight
00:07
<erlehmann>
ahaha oh wow
00:07
<annevk>
nn
00:08
<Hixie>
nn
00:08
<erlehmann>
nn?
00:09
<AryehGregor>
Two nymphs next to a scroll.
00:09
AryehGregor
uses magic missile to knock them both off from a distance
00:09
<Hixie>
erlehmann: "night night"
00:09
<AryehGregor>
Those things can be really annoying.
00:10
AryehGregor
used to play NetHack a bunch, and sometimes still randomly associates strings of characters with monsters and treasure
00:10
<AryehGregor>
Particularly in fixed-width fonts.
00:13
<erlehmann>
i use variable width
00:13
<erlehmann>
you insensitive clod
00:13
<erlehmann>
(p.s. hot grits)
02:16
<jcranmer>
sigh @ the UTF-8 thread
04:02
<JonathanNeal>
Is this style still relevant? http://www.iecss.com/whatwg.css - I compiled it from the spec, but I think it had imaginary properties like :any(dl, menu, ol, ul) :any(dl, menu, ul) etc
04:43
<zewt>
commending boris's endurance in the utf-8 thread
04:46
<zewt>
will i be strung and quartered if i point out that missing language declarations have the exact same problem as missing encoding declarations (even if the cases it matters are fewer)
04:46
<zewt>
also drawn (need a refresher on my midieval execution methods)
04:47
<zewt>
(also medieval; striking out tonight)
05:39
<mendota>
can i ask a question about arcs in canvas?
05:46
<Hixie>
mendota: sure
06:28
<abarth>
Hixie: do you know how to subscribe to public-html ? I used to be subscribed, but I don't seem to be anymore. http://lists.w3.org/Archives/Public/public-html/ doesn't have the usual subscription instructions
06:29
<Hixie>
as a googler you have to go through tv
06:29
<abarth>
ah, thanks
06:29
<Hixie>
but frankly i would count your blessings
06:30
<abarth>
ok. i've been encouraging the web intents folks to come to public-html to talk about <intent>
06:30
<abarth>
but i guess I can read it in the archives
06:41
<abarth>
Hixie: do you have a moment to tell me how nutty this text about sandbox flags is? http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#sandbox
06:41
<abarth>
"When enforcing the sandbox directive, the user agent must set the sandbox flags for the protected document as if the document where contained in a nested browsing context within a document with sandbox flags given by the the directive-value."
06:43
<Hixie>
hrm
06:43
<abarth>
i don't think its quite right
06:43
<abarth>
i couldn't find a good hook in HTML for this
06:44
<Hixie>
what you probably want to do is set some hook that i can then do the right magic with
06:44
<Hixie>
rather than try to poke the html spec flags
06:44
<abarth>
ok
06:44
<Hixie>
because the flags you have to set are pretty complex and subtle
06:44
<Hixie>
and involve the navigation algorithm, etc
06:44
<abarth>
how about the "CSP sandbox flags" as a property of a Document
06:44
<abarth>
which will be a string like you'd get in the iframe attribute?
06:44
<abarth>
so HTML handles the parsing
06:44
<Hixie>
has to be on a browsing context, not a document
06:44
<Hixie>
doesn't make sense to sandbox a document
06:45
<abarth>
why not?
06:45
<abarth>
sorry, let me ask a different question
06:45
<abarth>
is a browsing context preserved across navigations?
06:45
<Hixie>
yes
06:46
<Hixie>
but the flags can change during the lifetime of the browsing context
06:46
<abarth>
ah
06:46
<abarth>
ok
06:46
<Hixie>
what matters to all teh security stuff is the state when the browsing context was last navigated
06:47
<Hixie>
e.g. "if... its browsing context had its sandboxed forms browsing context flag set when the Document was created ..."
06:47
<abarth>
i see
06:47
<Hixie>
but the net result is that you have to set the flags before the document is created
06:47
<abarth>
do we have the response headers when the document is created?
06:47
<Hixie>
er, before the Document is created
06:47
<Hixie>
sure
06:47
<Hixie>
assuming it came over HTTP
06:48
<abarth>
ok, so when the document is created, HTML needs to ask about the CSP policy for the document
06:48
<abarth>
or for the response
06:48
<Hixie>
we get the headers by navigate step 19 or so (type sniffing step), we create the document as a side-effect of step 20 (the switch statement that relies on the sniffed type)
06:49
<abarth>
Upon receiving an HTTP response containing ...
06:49
<abarth>
that's when the CSP policy starts getting enforced
06:49
<abarth>
"Upon receiving an HTTP response containing at least one Content-Security-Policy header field, the user agent must enforce the combination of all the policies contained in these header fields."
06:50
<Hixie>
so... what happens if the page navigates itself to a page without the CSP?
06:50
<Hixie>
or does a history.back() to a accomplice page that isn't sandboxed?
06:50
<abarth>
that's fine
06:51
<abarth>
consider the unique-origin sandbox bits
06:51
<abarth>
or the disable-script
06:51
<Hixie>
k
06:51
<abarth>
those make sense on a per-document basisi
06:51
<Hixie>
so when do we reset the flags?
06:51
<abarth>
each navigation
06:52
<abarth>
what actually happens in the implementation is that we copy the sandbox flags from the Frame to the Document when the document is created
06:52
<abarth>
because we're supposed to freeze the sandbox flags
06:52
<abarth>
we enquire about the CSP policy at that time
06:52
<abarth>
that happens each time a new document is loaded into a Frame
06:52
<Hixie>
hmm... the document is created before the session history change happens
06:53
<Hixie>
so we'd have to reset the flags before the old document is removed...
06:53
<Hixie>
might make sense to just set the flags temporarily while the document is being created or something
06:53
<Hixie>
how is this supposed to interact with the sandbox attribute? union?
06:53
<abarth>
can we not just set them on the document when we copy the state to the document?
06:54
<abarth>
Hixie: its the same combination operator that happens when you have nested iframes
06:54
<abarth>
that each contribute a sandbox attribute
06:55
<Hixie>
hmmm
06:56
<Hixie>
so the way it works for nested iframes is that setting the flag on an iframe just forces it on for all descendants iframes
06:56
<abarth>
yeah, so the union
06:56
<abarth>
(assuming the items are things like "sandboxed scripts browsing context flag")
06:57
<Hixie>
the precise text right now is "In addition, any browsing contexts nested within an iframe, either directly or indirectly, must have all the flags set on them as were set on the iframe's Document's browsing context when the iframe's Document was created."
06:57
<Hixie>
so i guess i'd just change that to "nested within a browsing context"
06:57
<Hixie>
and change the other "iframe"s to "browsing context"
06:57
<abarth>
yes
06:58
<abarth>
"iframe's Document's browsing context when the iframe's Document was created"
06:58
<abarth>
that state gets represented in the implementation
06:58
<abarth>
explicitly as a property of the document
06:58
<Hixie>
sigh, probably makes sense to just hoist all this stuff up to a generic section
06:58
<Hixie>
and then invoke it from iframe creation and from navigation
06:58
<Hixie>
or something
06:58
<Hixie>
and maybe do your "freeze on document" thing at the same time
06:58
<Hixie>
for clarity
06:58
<abarth>
sorry to make work for you :(
06:58
<Hixie>
no worries
06:59
<Hixie>
tis my job
06:59
<Hixie>
can you file a bug or send mail about it? reference this irc log if you can
06:59
<abarth>
sure
06:59
<Hixie>
probably won't happen until early next year
06:59
<abarth>
yeah, there's no rush
06:59
<Hixie>
k
06:59
<abarth>
thanks
07:02
<Hixie>
my pleasure
07:19
<zewt>
ew, IVS characters are outside of the BMP, so if they were ever actually supported and used, they'd never work reliably in JS (since nobody pays attention to surrogate pairs)
07:22
<jamesr>
what's IVS?
07:22
<zewt>
combining characters for glyph variations in unicode
07:22
<zewt>
(an alternate approach to language tagging for the han unification problem)
07:23
<zewt>
never heard of it actually being used, though
07:23
<zewt>
(and it doesn't seem very practical, in general)
07:24
jamesr
wonders if non-BMP chars are something we'll ever address on the web
07:25
<jamesr>
and if the people cooking up unicode are aware of the issues
07:25
<Hixie>
the people cooking up unicode don't have much choice in the matter
07:25
<Hixie>
the BMP is close to full
07:26
<jamesr>
so they shouldn't wait for us, obviously, unicode solves problems for things other than the web
07:27
<jamesr>
but at some point we have to deal with this, or just say that there are types of content that you can't use 99% of the web platform and libraries for
07:27
<zewt>
a set of content that will grow to less trivial levels over time
07:28
<zcorpan>
have somebody extracted IDLs from specs and put them somewhere?
07:28
<Hixie>
dom's widl checker can extract idls from spec
07:28
<jamesr>
either the world ignores that content (unlikely and seems bad), we extend the platform, or platforms other than the web grow to deal with this content
07:30
<zewt>
platforms other than the web don't need to grow--they already deal with it (well, some of them)
07:31
<zewt>
so it'll become "everyone can display these characters except for the web" (or rather, "it'll display on the web but things will break randomly")
07:31
<zewt>
(we're not *that* far off; win32 is UTF-16 too and I'm sure lots of Windows software doesn't deal with it at all)
07:55
<zcorpan>
http://widl.webvm.net/ is .... unhelpful
07:57
zcorpan
gives up
08:03
jgraham
wonders what zcorpan is trying to do
08:04
<jgraham>
Also, it seems like we shipped the HTML5 parser in an actual final release build
08:04
<jgraham>
Take that site-compatibility bugs!
08:06
<Hixie>
no more weird text nodes with css?
08:07
<zcorpan>
jgraham: i just wanted to find examples of overloading to form an opinion on what the conversion behavior should be
08:07
<Hixie>
nn
08:07
<zcorpan>
jgraham: turned out to be simpler to search for "};"
08:07
<jgraham>
gn
08:08
<jgraham>
zcorpan: Ah :)
08:08
<zcorpan>
first example is options.add()
08:21
<jamesr>
hmm
08:21
<jamesr>
any opera peeps here? i'm looking at http://dev.opera.com/articles/view/efficient-javascript/?page=3#stylechanges and scratching my head
08:23
<jamesr>
it seems like either opera's doing things that are definitely invalid or there's some interaction here that escapes me. how could you have intermediate repaints in that example?
08:26
<jgraham>
jamesr: Haven'tlooked at the article (have to go), but we repaint on a timer during script execution. It is supposed to help on slow devices where script might take a long time
08:26
<jamesr>
so you paint while script is still running?
08:26
<jgraham>
If that's not what it's about, I will have to read the article
08:26
<jamesr>
yes that's what it's about
08:26
<jamesr>
or this section, anyway
08:26
<jamesr>
and you're OK with painting intermediate results?
08:27
<jgraham>
Well it depends who you ask :)
08:27
<jgraham>
There is a tradeoff
08:28
<zcorpan>
the article says "That approach could mean multiple reflows and repaints.". this is not the case (anymore, at least)
08:28
<zcorpan>
unless the script takes a very long time
08:28
<jamesr>
well, if opera decides to repaint after every .style assignment it will
08:28
<jgraham>
On desktop if your script is so long running that it will paint intermediate results in Opera it will block the UI thread in other browsers
08:28
<jgraham>
So it's not a good UX anywhere
08:29
<jamesr>
if the script is replacing a significant part of the UI with something different then it's much better to not show a half-built thing
08:29
<jamesr>
unless you're talking about hung script dialog sorts of delays
08:29
<jamesr>
there's also standards language around this behavior, although it is somewhat weak
08:30
<zcorpan>
right, we don't conform to the html spec
08:30
<jamesr>
anyway, if you feel that's the UX you want i'll try to keep it in mind when advising web devs on what to do (probably by telling them to ignore opera since there is no way for them to build a reasonable experience with that going on)
08:31
<zcorpan>
jamesr: i hope you don't advice web devs to block the UI thread :)
08:32
<jamesr>
well, i do advise them not to write any javascript to avoid doing that
08:32
<jamesr>
but sometimes they don't listen and write some script anyway
08:33
<jamesr>
and authors don't have much control over how much wall clock time their JS takes given GC pauses, thread preemption, and native code choices
08:57
<jgraham>
jamesr_: Code that takes hundreds of ms to run is bad any way you cut it
09:13
<oal>
Shouldn't the section tag be styled in any way? And are there other tags that should be treated the same way?
09:15
<jgraham>
Giving tags default styling often makes people unhappy
09:19
<oal>
jgraham: http://www.aniketpant.com/article/html5-semantics-and-good-coding-practices says "Not: The section element should not be used for styling. A div should be preferred." Why is that?
09:21
<zcorpan>
oal: same reason you shouldn't use <h1> if you want big text but don't mean heading
09:22
<zcorpan>
oal: <section> means section, not fancy box with rounded corners and drop shadow :)
09:22
<oal>
Yeah, but I mean, if you have a section, isn't it ok to set a width, color and background color for it? Or should there be an <article> or <div> inside with those set?
09:23
<zcorpan>
sure, it's fine to style sections
09:24
<zcorpan>
it's fine to style any element
09:24
<zcorpan>
it's not fine to use any element *for styling*
09:26
<jgraham>
Right. That sentence is a bit misleading. It means you shouldn't use <section> if the only reason you need an element is as a wrapper to hook some styling on. You should only use <section> if you are actually marking up a section of content. But if you are using <section> correctly, it is fine to apply any style you like to it
09:26
<jgraham>
If you just need a styling hook, use a <div> element instead
09:27
<oal>
That makes sense. Thanks jgraham and zcorpan :-)
10:30
<annevk>
heycam|away: did you add the warning to const?
11:25
<annevk>
geez HTTP WG is taking its time
11:25
<annevk>
and forgetting about my issues after saying they'll handle it
11:52
<annevk>
Hixie: in r6843 you updated WebVTT but http://dev.w3.org/html5/webvtt/ is not updated
14:12
<annevk>
Live WebVTT Validator should match the specification again
14:12
<annevk>
https://bitbucket.org/annevk/webvtt
14:12
<annevk>
http://quuz.org/webvtt/
14:13
<annevk>
hsivonen: is it an idea to host an instance on webvtt.validator.nu?
14:37
<DrewBarfield>
Hello everyone! I'm interested in writing demos for the WHATWG site (HTML living standard) and need suggestions. What kinds of demos would you like to see?
14:38
<annevk>
DrewBarfield: did you look at http://www.whatwg.org/demos/ ?
14:39
<annevk>
DrewBarfield: it can basically be anything that's defined in the HTML standard
14:41
<DrewBarfield>
Are there topics that are lacking demos or could use them more than others? If not, I can just iterate over the topics at http://www.whatwg.org/specs/web-apps/current-work/multipage/
14:43
<jgraham>
I don't recall seeing any EventSource demos
14:43
<annevk>
DrewBarfield: I think currently we lack demos for most things, but there are other sites that have created demos too, such as http://html5demos.com/
14:44
<annevk>
DrewBarfield: basically though, everything is welcome; start with what you know best I'd say :)
14:44
<jgraham>
Yes
14:46
<annevk>
DrewBarfield: Hixie can probably help set you up, but depending on your timezone you might have to email him
14:47
<DrewBarfield>
Thank you all. I think I will start with the Communication chapter and work my way out from there.
14:47
<DrewBarfield>
I have emailed Ian and he suggested that I ask everyone here for suggestions.
14:47
<annevk>
ah okay, cool
15:27
<Wilto>
I heard someone in this joint was using the phrase “responsive images,” which summons me like saying “Beetlejuice” three times.
15:30
<Wilto>
Hm, maybe not. You’ve broken my heart once again, miketaylr.
15:30
<miketaylr>
</3
15:43
<JonathanNeal>
Goodmorning!
17:44
<JonathanNeal>
howdy
18:00
<Wilto>
How goes, JonathanNeal?
18:01
<JonathanNeal>
I'm looking to update https://github.com/jonathantneal/html5css Wilto. It's been almost a year!
18:02
<JonathanNeal>
It's a css document of the presentation guidelines from the html5 spec.
18:03
<JonathanNeal>
basically it's the user agent style sheet the spec recommends.
18:04
<Wilto>
Huh, interesting.
18:09
<JonathanNeal>
I think so. I think it's important to maintain a document like this.
19:11
<zewt>
in principle, it's possible for a busy-looping task queue to starve out all events in other task queues, right?
19:12
<zewt>
since the event loop doesn't require any kind of fairness across queues
19:13
<jamesr_>
zewt, it's organized by task source
19:13
<jamesr_>
a UA can schedule from any task source
19:13
<zewt>
right, but if one queue is busy looping, there's no requirement that other task queues are able to run
19:13
<dglazkov>
good morning, Whatwg!
19:13
<jamesr_>
no, i think that'd fall into QoI
19:14
<zewt>
right
19:14
<zewt>
was wondering, since it seems like a wrong assumption that https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/setImmediate/Overview.html is making
19:14
<zewt>
(if you use this, in principle things like MessageChannels might get starved out)
19:14
<jamesr_>
oh, hah
19:15
<jamesr_>
yeah that spec is full of poo-brain
19:15
<zewt>
(though I suspect there are deeper issues with the UI being able to run)
19:15
<zewt>
i suppose that's a more blunt way of putting it :P
19:15
<jamesr_>
i don't think anyone will implement it
19:15
<zewt>
given that you can do that with just MessageChannel already, there's really no need (re: https://www.w3.org/Bugs/Public/show_bug.cgi?id=15007)
19:15
<jamesr_>
(i mean i think IE did in a PP)
19:16
<jamesr_>
right, we told them that
19:16
<zewt>
also although being able to queue a task without setTimeout's delays is nice, I don't like the basic premise of how that's written (as if it's meant to be used to allow CPU-intensive work in the UI thread--ugh no)
19:28
<jamesr_>
the only reason we clamp setTimeout is because pages are dumb and flood it
19:28
<jamesr_>
if authors weren't abusive, we wouldn't need any clamp
19:30
<Ms2ger>
And there's only clamping inside nested setTimeouts, so you can queue a task without delays already
19:35
<jamesr_>
also if you're doing non-trivial work you can avoid the clamp by calling setTimeout() before the work rather than at the end
19:42
<catphive>
does anyone know if there are any planned standards for browser based presence?
19:43
<tantek_>
which meaning of "presence"?
19:43
<catphive>
like for an IM client
19:43
<catphive>
detecting if the user is available
19:48
<tantek>
catphive - sounds like a useful WebAPI
19:56
<martndemus>
doesnt chrome have something that keeps track if the actual tab the app is in is active?
20:03
<bencc>
in websocket who should send pings to keep the connection alive, the client or the server?
20:03
<bencc>
or maybe the browser does this automatically for me?
20:21
<jgraham>
bencc: The browser should send the ping frames AIUI
20:22
<jgraham>
Bu I haven't read the spec text there closely so I don't know if there are any hard requirements
20:22
<bencc>
AIUI?
20:23
<jgraham>
"As I Understand It"
20:23
<jgraham>
Nope, jut meaningless gloop
20:23
<bencc>
jgraham: so when I'm creating a websocket in FF or Chrome, the application shouldn't worry about it?
20:23
<jgraham>
Well the spec says
20:23
<jgraham>
"An endpoint MAY send a Ping frame any time after the connection is established and before the connection is closed. NOTE: A ping frame may serve either as a keepalive, or to verify that the remote endpoint is still responsive.
20:23
<bencc>
and also the server shouldn't worry about it?
20:23
<jgraham>
"
20:24
<jgraham>
Well the server is required to respond to a ping frame with a pong frame
20:24
<bencc>
I don't see ping function in the websocket object
20:24
<annevk>
oh lol
20:24
<jgraham>
Sure, it isn't API exposed
20:24
<annevk>
did they just propose the <intent> tag using DTD syntax
20:24
<Hixie>
the browser will take care of ping from the client if it's needed
20:24
<jgraham>
The browser is supposed to do it
20:24
<Hixie>
the server should take care of ping from the server if the server needs it
20:24
<annevk>
that's pretty funny considering it's 2011
20:24
<jgraham>
But it's conforming to never send one
20:24
<jgraham>
So it's a QoI issue
20:25
<jgraham>
One hopes there will not be any braindead implementations
20:25
<Hixie>
in some situations, sending pings is actually really bad
20:25
<jgraham>
But that is not a safe assumption
20:25
<Hixie>
e.g. if you have a flaky network connection, every ping is a chance of the connection dropping
20:25
<Hixie>
whereas if you just didnt' send anything it might survive fine
20:25
<Hixie>
e.g. sometimes at home i'm on wifi and the neighbours turn their microwave on and the wifi goes down for 3 minutes
20:25
<jgraham>
If you have a really flaky connection you are probably screwed anyway
20:26
<Hixie>
if i notice this happen, i can just stop using the network, and all the apps i use that don't do keepalive survive with no probelms whatsoever
20:26
<Hixie>
but the apps that think they're clever and do keepalive all die
20:26
<bencc>
but sending a ping is the only way the server can check if the client is alive, isn't it?
20:26
<jgraham>
I mean I don't imagine that web authors are going to design with your neighbourgh's microwave in mind
20:26
<Hixie>
jgraham: it's just an example, the problem is far worse e.g. on mobile
20:26
<bencc>
in a chat, you want users to know if someone is offline
20:27
<Hixie>
jgraham: where you might be going past a big building that blocks the signal, or whatever
20:27
<bencc>
without pings, you can have zombie sessions
20:27
<jgraham>
Right, I understand that the connection can be flaky. But authors are going to assume that it isn't
20:27
<jgraham>
So it's not at all clear that pings make it worse
20:28
<bencc>
in the server the logic is a bit tricky
20:28
<Hixie>
well it seems clear that in the two examples i gave, pings are worse than no pings
20:28
<Hixie>
but i agree that there are use cases for pings
20:29
<bencc>
Let's that if the client is idle for 1 mintue, I'm sending a ping
20:29
<Hixie>
i'm just saying it's not a given that sending a ping is better than not sending one
20:29
<bencc>
now, the first response might not be the pong but a new message
20:29
<jgraham>
In any case the protocol-level pings are not something that the author can control
20:29
<jgraham>
But you can always build something identical into your application
20:29
<bencc>
the server author should implement it
20:30
<jgraham>
If you need it for some reason
20:30
<bencc>
I want to know if the user is offline in a 1 minute window
20:30
<bencc>
for a chat app
20:30
<Hixie>
define "offline"
20:30
<bencc>
dead
20:30
<bencc>
wolfs eating his body
20:30
<Hixie>
am i offline if i happen to be in the middle of a conversation but the car i'm in goes through a tunnel for 61 seconds?
20:30
<bencc>
eagles are circling in the skies
20:31
<bencc>
if that's the case, increase the window to 3 minutes
20:31
<Hixie>
am i offline if i happen to be in the middle of a conversation but the car i'm in goes through a tunnel for 181 seconds?
20:31
<bencc>
are you familiar with tunnels that long?
20:31
<bencc>
yes
20:31
<Hixie>
yes
20:32
<bencc>
am I offline if I'm dead and suddenly a miracle happened and I'm alive again?
20:32
<Hixie>
are you offline if you're dead at all?
20:32
<bencc>
good question
20:33
<bencc>
so it's 1 minute for 99.99% of the people
20:33
<bencc>
and 3 minutes for you because of the washing machine and your long tunnel
20:34
<annevk>
why would you use ping for that at all...
20:35
<bencc>
now I need to handle users without a computer...
20:35
<annevk>
if the other person doesn't say anything, clearly he's away
20:35
<annevk>
doesn't really matter what the reason is
20:35
<bencc>
in IM you can be online but quiet
20:36
<annevk>
you can also be offline but still appear online
20:36
<annevk>
Gmail seems to work that way
20:36
<annevk>
Gmail chat that is
20:37
<annevk>
doesn't really matter
20:37
<bencc>
in Gmail you suppose to appear online only if you are logged in
20:37
<bencc>
if you see someone is online and send him a message he is supposed to see the message right away
20:46
<jgraham>
bencc: That is such a bad assumption. e.g. my connection here is maintained all the time. Sometimes I am asleep or not at a computer
20:46
<Hixie>
same here
20:47
<Hixie>
same with all my IM clients actually. I proxy them all through a computer that is always online, regardless of where I am, and I connect to that proxy remotely when I'm really online, to collect my messages.
20:47
<bencc>
that's a question of user experience
20:48
<jgraham>
annevk: Yeah, presenting stuff with a DTD in 2011 is very funny
20:48
<jgraham>
It's like the last 10 years didn't happen
20:48
<bencc>
you might turn the user to 'busy' if he is not using the UI for 10 mintues
20:48
jgraham
just finds the busy/away/etc stuff confusing
20:49
<Hixie>
my /away status rarely has any bearing on my actual status
20:49
<bencc>
that's a question of user experience
20:49
<bencc>
you are still "online"
20:49
<jgraham>
I never know if the person is really busy or if they are really around but the computer decided that they were budy for some reason
20:49
<bencc>
gmail chat works perfect for me
20:49
<bencc>
when I see a friend online he is available to chat with me
20:56
<Hixie>
does anyone actually implement nested workers and message channels yet?
20:56
<annevk>
you mean shared workers?
20:56
<annevk>
Opera and WebKit I believe
20:56
<Hixie>
no, not shared workers
20:57
<Hixie>
the Worker() and MessageChannel() constructors, in a worker
20:59
<Hixie>
looks like firefox doesn't implement MessageChannel
21:01
<Hixie>
opera throws an INVALID_STATE_ERR exception from postMessage(), which is impossible per spec as far as i can tell
21:01
<Hixie>
webkit doesn't support Worker() inside workers
21:05
<tantek_>
Hixie - what would that be, the middle management feature?
21:05
<Hixie>
-_-
21:05
<tantek_>
or would you need more than one level of hierarchy for that
21:06
<Hixie>
more like the subcontractor feature, if we're going to go with this metaphor
21:06
<Hixie>
anyone actually got IE10 around?
21:06
<tantek_>
subcontractor would mean cross-origin though
21:07
<zewt>
bencc: sounds like false negatives; gmail knows the user is around if he's moving the mouse around a gmail tab, but if the user isn't using gmail it has no idea whether the user is there or not
21:08
<zewt>
eg. if it says the user is there he probably is, but if it says he isn't, it doesn't actually know at all
21:08
<tantek_>
so presence is tab-specific? that seems to make sense
21:08
<tantek_>
as, in you'd want to know if the user is present in the page's context, not just on the machine somewhere
21:08
<zewt>
i'm just talking about gmail in browsers; certainly it should not be able to tell whether i'm active in another tab (privacy)
21:08
<jgraham>
tantek_: It means that G+ tells me that annevk is away when he is talking here
21:09
<tantek_>
I suppose both could be useful
21:09
<tantek_>
is the user active on the machine
21:09
<tantek_>
is the user active on this page
21:09
<annevk>
I'd rather not reveal any of that
21:09
<annevk>
as a user
21:09
<jgraham>
Me too, but it isn't really possible to stop
21:10
<zewt>
how so?
21:10
<tantek_>
annevk - that's why it makes sense as a WebAPI - it's a permissions like thing similar to Geo etc
21:10
<jgraham>
zewt: Well the "on this machine" thing is since that doesn't work at all at present
21:10
<jgraham>
but the "on this page" isn't
21:11
<zewt>
i don't care if pages know i'm using the page, but they shouldn't be able to tell that I'm active otherwise (without extra permission)
21:11
<jgraham>
Or "on any page that has the same user identifier"
21:11
<jgraham>
(so facebook could know that you are active on any site that uses facebook login for example)
21:12
<zewt>
i was just responding to above <bencc> gmail chat works perfect for me
21:12
<zewt>
his "perfect" seemed to be flawed
21:12
<jgraham>
Yeah, I agree. It's not possible to make it perfect
21:13
<zewt>
i mean, his evaluation of "perfect"
21:13
<jgraham>
"do I want to chat right now" isn't realy something that you can infer automatically
21:13
<zewt>
<bencc> when I see a friend online he is available to chat with me
21:13
<annevk>
jgraham: fwiw, I'm permanently marked "Away", but usually when the music track changes I'm actually there :)
21:13
<zewt>
my point was that the reverse is not going to be true--people are available to chat, even though gmail says they're not (i expect)
21:13
<jgraham>
annevk: It's OK I never intend to contact you through google plus. And don't really have that much interest in stalking you
21:14
<jgraham>
Although people do think you're a girl so maybe you will get stalkers
21:14
<jgraham>
s/plus/chat/
21:15
<annevk>
only girls get stalkers?
21:15
<zewt>
not exclusively, but i expect there's a great bias in that direction
21:15
<annevk>
anyway, not going to add anyone to Google Chat I don't like :)
21:16
<zewt>
at least in technical corners of the internet, with the usual gender ratios :P
21:17
<jgraham>
In the technical corners of the internet p(man|called anne) > p(woman|called anne)
21:17
<jgraham>
:(
21:17
<jgraham>
(note: this is almost certianly not true)
21:17
<zewt>
yeah, it says something that i just assumed from the start that anne was probably a guy
21:19
<zewt>
i couldn't quite make that leap with Silvia, though
21:20
<wilhelm>
How do Safari / WebKit version numbers work? What does 534.51.22, 7534.48.3 or 6533.18.5 correspond to? (Those numbers are from UA strings.)
21:20
<zewt>
magic
21:21
<zewt>
am I the only person in the world that Firefox save dialogs ignore? heh
21:21
<zewt>
for years, over endless versions of FF and different versions of Windows, i've had to hit alt-s 2-3 times to get the save dialog to go
21:23
<sicking>
annevk: ping
21:23
<annevk>
hey sicking
21:23
<sicking>
annevk: I'm really interested to hear your take on supporting non UTF8 encoded HTML documents in XHR
21:24
<annevk>
I actually think that maybe we should limit that to UTF-8 too
21:24
<sicking>
annevk: HUH?!?
21:25
<sicking>
annevk: that excludes some 50% of the worlds HTML
21:25
<zewt>
annevk: I'm really interested to hear your take on supporting non UTF8 encoded HTML documents in XHR, as long as you agree with me
21:25
<sicking>
zewt: no, i was very intersted in hearing dissenting opinions too. That doesn't mean i agree with them
21:25
<zewt>
i know :P
21:26
<zewt>
sicking: what about only supporting validly-tagged HTML documents, rejecting the fuzzy parts (heuristics and locale-specific defaults)? that's where the *real* evil is
21:26
<sicking>
annevk: have you talked to anyone in CJK countries about this?
21:26
<annevk>
sicking: not sure existing documents will be the primary use case, but I'm happy with what hsivonen implemented
21:26
<sicking>
annevk: have you talked to anyone in CJK countries about this?
21:27
<sicking>
annevk: and why do you think new content is the primary use case?
21:27
<zewt>
people in cjk countries (especially japan) seem to live under serious misunderstandings of utf-8 (not that saying that changes it)
21:27
<annevk>
sicking: I haven't, though I did suggest pinging myakura last time you brought this up
21:28
<sicking>
annevk: sigh, ok
21:28
<annevk>
sicking: I'm not really worried about shipping a more restrictive feature and then have people complain and we adapt
21:28
<annevk>
sicking: I'm more worried about getting in the same mess we got in with CORS
21:28
<sicking>
annevk: we get basically no feedback from that part of the world. I wouldn't take a lack of complaint to mean anything
21:28
<annevk>
where we have something very complex that's hard to use for people
21:28
<annevk>
sicking: this feature is not really deployed
21:28
<sicking>
annevk: yeah, the fact that it's header based is a bigger problem than I had thought
21:29
<annevk>
sicking: when I'm next in Tokyo I'll ask
21:29
<sicking>
annevk: the deployment cycle is probably at least a year or two for something like this. Waiting for deployment before we see what the use cases are will create a 4 year cycle
21:30
<sicking>
annevk: i'll email some of our mozilla-japan people and cc you
21:30
<annevk>
just let them email public-webapps
21:30
<annevk>
that seems better
21:31
<zewt>
annevk: i don't think it needs to be complex; take "determining the character encoding" and throw away the last three steps (replace with utf-8)
21:31
<annevk>
the use case to me is primarily that it's easy to get a DOM out of some HTML on the server
21:31
<zewt>
(or rather, any new complexity)
21:31
<sicking>
annevk: we're still really bad at getting the community to speak up on that list
21:31
<sicking>
annevk: and that's the english speaking community
21:31
<annevk>
that you have to maybe fix that HTML first is not really a big concern to me, things need to adapt over time to meet new requirements
21:32
<sicking>
annevk: i didn't understand that
21:32
<annevk>
sicking: myakura chairs a Japenese interest group and is involved in the Japenese HTML5 user group (or some such) with over 2000 developers involved
21:35
<sicking>
annevk: is this myakura.web⊙gc?
21:36
<sicking>
annevk: i see very little feedback from him
21:36
<sicking>
annevk: which either means that the user group is happy with everything we do, or that the communication channel isn't working that great yet
21:38
<annevk>
I very much doubt this is a big problem; if you run the kind of site that uses XMLHttpRequest you will very soon run into encodings and adapt appropriately
21:39
<annevk>
e.g. most things transmitted towards the server will be in UTF-8
21:39
<zewt>
a lot of people in japan don't "like" utf-8 and use sjis on purpose
21:39
<sicking>
annevk: if you're submitting stuff yeah
21:40
<annevk>
if you're reading with responseText too
21:40
<annevk>
it's fairly limited what responseText does
21:40
<annevk>
(more broad than I'd like, but still limited)
21:43
<annevk>
zewt: not really sure that's still the case
21:44
<jgraham>
I heard it was still the case recently, but I don't think I have data
21:44
<zewt>
hard to gather real data on, it's a social/perception thing
21:44
<annevk>
anyway, using shift_jis is not really problematic
21:47
<zewt>
(... as long as it's declared correctly)
21:47
<annevk>
the only problem with shift_jis is that we haven't really defined all its details
21:48
<annevk>
IE that "shift_jis" actually maps to Microsoft Code Page 932 with error handling that is probably not even defined in that Code Page
21:48
<annevk>
s/IE/i.e./
21:50
<zewt>
trying to fully specify the legacy encodings doesn't exactly seem worth it
21:51
<annevk>
every now and then we still hit compat issues and it makes it harder for people writing software that interprets legacy content
21:51
<annevk>
seems totally worth it
21:52
<annevk>
it's a bit of work, but a lot can be automated
21:52
<zewt>
seems like another lever to get more people to stop perpetuating legacy encodings :P
21:53
<zewt>
at least most encodings are simpler and tiny compared to the CJK ones
21:53
<annevk>
I did a bunch of work on the 8bit encodings already http://annevankesteren.nl/2010/8-bit-labels
21:54
<annevk>
just need to make some decisions on who is right, and update everything for today's implementations
21:54
<annevk>
Opera and Gecko made a few changes
22:05
<sicking>
annevk: by the way, we can totally "fix" CORS though
22:06
<sicking>
annevk: adding back the in-document access indicator that we used to have for XML would do the trick
22:06
<sicking>
annevk: but not for XML of course
22:07
<sicking>
annevk: adding a in-line for JSON would be huge
22:07
<zewt>
but images :(
22:07
<sicking>
s/in-line/in-line access descriptor/
22:07
<sicking>
zewt: i don't see how you could do those without using headers
22:07
<zewt>
(not *personally* worried; I'd never willingly work in an environment where I can't set headers)
22:08
<jgraham>
Hmm, how would one add it to JSON?
22:08
<zewt>
though I guess that's not enough, since what matters is whether the service I'm using can set it, not what I can do :(
22:08
jgraham
might be misunderstanding
22:09
<zewt>
you could add it in a non-conforming-to-JSON way with a Javascript header, though that'd be evil
22:09
<annevk>
sicking: your definition of fixing it is adding yet more bloat; I'm intrigued :)
22:09
<sicking>
annevk: i think we would have needed the headers no matter what
22:10
<sicking>
annevk: features != bloat
22:10
<sicking>
annevk: unused features == bloat
22:10
<sicking>
or "unneeded" more accurately
22:12
<zewt>
wonder if there are security implications to inline declarations (eg. upload file to github or a pastebin or something, use the "raw text" link to serve remote files with the access grant inline)
22:13
<tantek>
Hixie, per our discussion a few days ago on permit space instead of "T" in the date-and-time microsyntax, where you said "tantek: if we can collect evidence e.g. showing that there are common parsers that support a nicer format, i'm certainly all for it, fwiw" - I've now collected that evidence and think we have enough to go on.
22:13
<tantek>
http://wiki.whatwg.org/wiki/Time_element#permit_space_instead_of_T_in_datetimes
22:14
<tantek>
cc: TabAtkins, mkanat, kennyluck
22:15
<zewt>
tantek: fyi, i think i was mistaken about IE8 (may have mixed up my browser windows or something)
22:15
<tantek>
zewt - noted in the research :)
22:15
<zewt>
so you may as well remove the reference :)
22:16
<tantek>
well it helps to say if it supports it or not one way or the other
22:16
<tantek>
do you have it in front of you?
22:16
<tantek>
can you check:
22:16
<tantek>
data:text/html,<!doctype html><script>alert(Date.parse("2011-11-11 11:11:11"))</script>
22:16
<zewt>
pretty sure the second half of that sentence is the correct one (its own toString format)
22:16
<tantek>
if we can say for sure it returns NaN - that's another useful data point
22:16
<zewt>
ie8 != data:
22:16
<tantek>
ah thanks
22:17
<zewt>
and yes, returns NaN
22:17
<zewt>
returns NaN for "2011-11-11T11:11:11" as well--useful to include both (if an implementation doesn't support *T*, it doesn't matter if it doesn't support * * either)
22:19
<tantek>
oh that's interesting, yes.
22:19
<tantek>
I wonder if that's the same for IE9 and IE10 also
22:20
<zewt>
"it does help readability, incrementally" i think it's at least marginally stronger than that; it's a natural, human format, where *T* really isn't
22:20
<zewt>
fwiw, anyway
22:23
<heycam>
annevk, I did not add a warning about const, but I am happy to. wording suggestions welcome.
22:25
<annevk>
heycam: I added something in the bug
22:25
<heycam>
thanks
22:25
<annevk>
heycam: preferably .warning has a red border and such :)
22:25
<heycam>
that's perhaps a good idea
22:25
<zewt>
tantek, fyi postgresql also accepts that format, and its commandline omits T by default as well (2011-12-06 15:27:00.706385-07)
22:26
<zewt>
(minor data point)
22:30
<Hixie>
tantek: k, i'll update the proposal in the spec
22:54
<Hixie>
tantek: ok, i'll commit the patch to the whatwg copy; can you let the htmlwg know of it?
22:58
<Hixie>
tantek: it's checked in
22:59
<tantek>
thanks much!
23:00
<Hixie>
diff url is http://html5.org/r/6845
23:01
<Hixie>
heycam: yt?
23:02
<heycam>
Hixie, hi
23:02
<Hixie>
heycam: so people don't like that DedicatedWorkerGlobalScope and SharedWorkerGlobalScope both seem to be WorkerGlobalScopes
23:03
<Hixie>
heycam: so i'm changing the spec so that dedicated workers have a global scope that's a DedicatedWorkerGlobalScope, and similarly for shared workers
23:03
<heycam>
let me open the spec and remind myself how they're currently specced
23:03
<Hixie>
heycam: but it'd be nice if i could hide that they really inherit from WorkerGlobalScope
23:03
<Hixie>
heycam: so my question is, is there some way i can have an inheritance hierarchy in the spec but flatten it in implementations?
23:04
<Hixie>
heycam: so that the result is the same as if i had specced it with some copy-and-paste
23:04
<heycam>
is that not what you were intending to use the [Supplemental] in the spec currently for?
23:04
<heycam>
and can you clarify what you mean about people not liking that they "both seem to be WorkerGlobalScopes"?
23:04
<Hixie>
the current spec text is trying to get the flattening but with the name of hte interface being the ancestor interface
23:05
<Hixie>
whereas i now want to flatten them so that the interfaces have their derived names
23:05
<Hixie>
and the ancestor name is a spec detail
23:05
<Hixie>
so you can't tell in the prototype chain that the global scope is defined as two interfaces
23:06
<heycam>
I feel like this has come up before and I've wondered why it is important not to be able to observe the inheritance
23:06
<Hixie>
the reasoning here being that there's no point splitting the interface in two, since a script in a worker can only ever get one instance of this interface anyway, so why waste the author's time having the author remember which interface they have to poke to override something
23:07
<Hixie>
it looks silly to have a singleton defined by a hierarchy of unique interface prototype objects
23:07
<heycam>
ok, i can see that
23:07
<annevk>
Hixie: use implements + NoInterfaceObject
23:07
<heycam>
yes just what I was going to say
23:07
<Hixie>
aha, that works, cool
23:08
<heycam>
but in more words :)
23:08
<Hixie>
and don't inherit
23:08
<Hixie>
ok
23:08
<annevk>
nn
23:08
<heycam>
bb
23:08
<Hixie>
nn
23:08
<ap_>
Hixie: is <li value="-1"> actually supposed to work now?
23:09
heycam
wonders if that is the final instance of [Supplemental] which will now be disappearing
23:09
<Hixie>
heycam: i believe so, it's why i'm poking at this. will let you know.
23:09
<ap_>
as in, the browser will display "-1."
23:09
<heycam>
cool cool
23:09
<Hixie>
ap_: yes
23:10
<heycam>
so before when you said "so people don't …" you actually meant "you don't like" ;)
23:10
<Hixie>
heycam: not just you, but any means
23:10
<heycam>
k
23:10
<ap_>
Hixie: do you happen to know if there are any list-style-type that cannot express negative numbers in print, or use something other than a "-"?
23:10
<Hixie>
heycam: the actual e-mail i had in my pile to remind me of this was from sicking
23:11
<Hixie>
ap_: lots don't have negative numbers (e.g. roman, alphabetic), no idea if any don't use -
23:11
<Hixie>
TabAtkins: ping ^
23:11
<Hixie>
ap_: (those that don't support the range defer to decimal for unsupported numbers)
23:12
<ap_>
Hixie: thanks. where is the "defer to decimal" part specced?
23:12
<heycam>
single, busy mailing lists better than multiple, quieter ones: http://grep.codeconsult.ch/2011/12/06/stefanos-mazzocchis-busy-list-pattern/
23:12
<zewt>
heycam: a fact that's been basic knowledge for years :P
23:12
<Hixie>
ap_: looks like css3 lists supports the negative punctuation being explicitly set for a counter, e.g. to use parentheses: http://www.w3.org/TR/css3-lists/#descdef-negative
23:13
<Hixie>
ap_: looks like there's a whole descriptor thing for lists, and fallback is specified by http://www.w3.org/TR/css3-lists/#descdef-fallback
23:13
<heycam>
zewt, I should probably merge some mail folders and not just have a single folder per list, now that I have to vertically scroll in thunderbird to see them all...
23:13
<Hixie>
no idea what the non-TR/ link is for this, i don't see a link at the top
23:14
<zewt>
heycam: it's really lame that gmail's label grouping doesn't let you view the group and see all of the sub-labels
23:14
<heycam>
oh, that does sound a bit lame
23:14
<heycam>
still, "all email clients suck"
23:14
<zewt>
it does nothing but gruop them visually in the label list ( = who cares)
23:15
<ap_>
Hixie: thanks
23:16
<zewt>
also group
23:23
<Hixie>
heycam: i have this paragraph for the three interfaces that define the interface of global scope objects:
23:23
<Hixie>
<p>The <code>DedicatedWorkerGlobalScope</code> interface must not
23:23
<Hixie>
exist if the interface's <span>relevant namespace object</span> is
23:23
<Hixie>
not a <code>DedicatedWorkerGlobalScope</code> object. <a
23:23
<Hixie>
href="#refsWEBIDL">[WEBIDL]</a></p>
23:23
<Hixie>
heycam: does it make sense to ahve an attribute for that? [GlobalScopeInterface] or something?
23:25
<heycam>
good question, I am not sure just yet what's the best way of describing this
23:25
<Hixie>
k. i'll leave it with that paragraph for now.
23:26
<heycam>
ok. "relevant namespace object" as a term will likely disappear soon, since we're going to drop modules from Web IDL.
23:26
<heycam>
I'll have a think about whether it makes sense to talk about globals in the spec
23:29
<Hixie>
heycam: ah ok. let me know if/when you do that so i can update this accordingly (or i can update it now if you have any idea what it should say instead?)
23:29
<heycam>
Hixie, leave it for now and I'll let you know how to update it once I've figured it out :)
23:29
<Hixie>
maybe "the ThisBinding of the global execution context" or something
23:30
<Hixie>
(that's the terminology we use to talk about WindowProxy's effects)
23:45
<tantek>
zewt - I added your additional opinion and data point to the proposal
23:46
<tantek>
Hixie - status updated in the proposal to reflect its inclusion in the spec. http://wiki.whatwg.org/wiki/Time_element#permit_space_instead_of_T_in_datetimes
23:46
<tantek>
one bit of consensus at a time. I'll follow-up on public-html.
23:47
<Hixie>
tantek: cool, tanks
23:47
<Hixie>
thanks even