00:00
<roc>
I don't see that the JITTing concerns apply
00:00
<roc>
if you're on a big-endian machine, an Int32Array would always byteswap. That's it.
00:01
<Philip`>
Has anyone suggested/objected to doing something like defining a GL_OES_vertex_array_endianness extension so browsers can tell drivers to deal with the problem themselves, and then only support big-endian devices that provide that extension?
00:01
<roc>
yes, I just suggested that
00:01
<zewt>
this is what I'm referring to:
00:01
<zewt>
The result was increased polymorphism at call sites, which defeated the Java VM's optimizing compiler and led to 10x slowdowns in many common situations.
00:01
<zewt>
which seems 100% irrelevant to JS
00:01
<roc>
in reality I bet you could easily extend the GPU to run in little-endian mode, since obviously every GPU part is going to support little-endian so it works with 99% of the CPUs out there
00:04
<zewt>
... assuming they can even run in big-endian to begin with
00:05
<zewt>
i'd find it pretty sadly amusing if a big-endian system did crop up, and WebGL didn't work on it because its GPU was little-endian, and everything would have worked otherwise
01:24
<roc>
there are big-endian systems with GPUs so it's doable somehow or other
01:55
<zewt>
i wonder if that's an actual big-endian GPU, if the drivers fake it, or something else
02:02
<mkanat>
I missed the start of this conversation, is it about shaders?
02:52
<zewt>
this is pretty fantastic
02:52
<zewt>
my internet connection is corrupting IP packets in a way that checksums can't detect
02:53
<zewt>
crcs please :|
06:28
<hsivonen>
zcorpan: wow. that's surprising.
06:29
<hsivonen>
zcorpan: jslint getting fixed ahead of jshint that is
06:32
<zcorpan>
yeah
06:58
<annevk>
well well
06:58
<annevk>
are we going to publish today
06:58
<annevk>
or not
06:58
<annevk>
my magic eight ball says unlikely
07:00
<annevk>
html5 seems ready, but 2dcontext and html5-diff are not put into place, didn't bother checking more
07:19
<MikeSmith>
annevk: we will publish
07:19
<MikeSmith>
I'll get the rest done later today my time
07:19
<annevk>
goody
07:20
<annevk>
slightly less obsolete drafts on TR/ :)
07:20
<MikeSmith>
heh
07:41
<annevk>
I wonder if "Let row be the arithmetic left shift of lead − lead offset by 1 − adjust − 33" is better replaced by something like "Let row be ((lead - lead offset) << 1) - adjust - 33".
07:42
<annevk>
in other words, how do I get away with using << in mathematical expressions in standards
07:43
<zcorpan>
say what "<<" means in the terminology section
07:48
<annevk>
In mathematical expressions << means the arithmetic left shift of the left operand by the right operand.
07:48
<annevk>
something like that?
07:49
<annevk>
hmm
07:53
<annevk>
in Unicode math has ≪ which stands for much less-than
07:54
<annevk>
there's even ⋘
07:54
<annevk>
:)
07:55
<annevk>
oh well, I'll clarify it via some other way
07:58
<charlvn>
only place i've ever used << and >> was in c++ http://www.cplusplus.com/doc/tutorial/basic_io/
08:00
<annevk>
they're available in JavaScript
08:00
<charlvn>
i think it's supposed to be used for left shifts and right shifts though http://wiki.python.org/moin/BitwiseOperators
08:01
<charlvn>
heh! never expected that but it's also documented on mdn https://developer.mozilla.org/en/JavaScript/Reference/Operators/Bitwise_Operators
08:02
<charlvn>
so few people use these, most people just use *2 and /2
08:02
<annevk>
well yes, that's what I was going to use it for
08:03
<charlvn>
is it really that much more efficient? i would expect the interpreter / compiler to perform such optimisations
08:03
<charlvn>
in favour of readable code
08:04
<annevk>
what is more readable depends on what you are doing
08:05
<annevk>
the context here is encoding algorithms
08:05
<charlvn>
that's very true
08:06
<charlvn>
last year i got asked a ridiculous question during an internet with google ireland - how to count the number of binary 1's in an int32
08:06
<charlvn>
that was the only time in my life i ever decided to use a shift and that was mostly for academical reasons
08:06
<charlvn>
s/internet/interview/
08:10
<annevk>
charlvn: quick search on Google reveals it's not such a weird question: http://en.wikipedia.org/wiki/Hamming_weight
09:29
<annevk>
zcorpan: undefined
09:43
<charlvn>
annevk: it's a common question to ask in interviews, but it would be nice to see some practical use cases :P
09:45
<charlvn>
http://en.wikipedia.org/wiki/Hamming_weight#Efficient_implementation <- this is what it's relevant for (in interviews, not use cases)
10:45
<annevk>
hsivonen: did you see https://bugs.webkit.org/show_bug.cgi?id=26694 ?
11:06
<hsivonen>
annevk: I didn't
11:08
<hsivonen>
annevk: commented
11:11
<annevk>
if you have a range from x to y, is there a better way to calculate all possible positions than y-x+1?
11:11
<annevk>
the +1 is kind of ugly
11:11
<roc>
you mean a way to write "y - x + 1" that's less ugly?
11:12
<Ms2ger>
y + 1 - x?
11:12
<Ms2ger>
- x + y + 1?
11:12
<annevk>
:)
11:13
<Ms2ger>
(x�-xy+x)/x?
11:14
<annevk>
haha okay
11:14
<roc>
make your ranges closed at the start and open at the end
11:15
<roc>
that usually simplifies code
11:15
<annevk>
not sure what I was thinking of, I just happen to forget the +1 a lot
11:15
<zcorpan>
+1
11:16
<annevk>
roc: yeah that could work, except with encodings if the lead byte is from 0x81 to 0xFE, using 0xFF everywhere is kind of counter-intuitive too
11:28
<hsivonen>
annevk: c < 0xFF is way more intuitive than c <= 0xFE or c + 1 <= 0xFF
11:28
<hsivonen>
these are integers after all
12:19
<oal>
Do I have to pass an ImageData object along with a message to my web worker? new ImageData(61, 61, new CanvasPixelArray()) doesn't seem to work. Also, could I just be using a Uint8Array for this?
12:21
<annevk>
hsivonen: c < FE + 1 is what I have iirc
12:22
<hsivonen>
annevk: eww
12:22
<annevk>
well
12:22
<hsivonen>
annevk: please make that c < 0xFF
12:22
<annevk>
(FE - A1 +1) or some such
12:23
<gsnedders>
oal: A CanvasPixelArray in modern browsers should be a ClampedUint8Array
12:23
<gsnedders>
oal: and you can pass that to/from worker fine
12:23
<annevk>
could make it FF -A1 I guess, dunno
12:23
<Ms2ger>
ImageData doesn't have a constructor, though
12:24
<oal>
Aha, thanks! Let me give it a shot
12:25
<Ms2ger>
Also, Uint8ClampedArray, no?
12:26
<gsnedders>
Ms2ger: Yeah yeah! :P
12:26
<Ms2ger>
Yay, www-style people still consider SGML boolean attributes
12:27
gsnedders
ended up passing around a CanvasPixelArray if possible, otherwise Array.prototype.slice.call(data), earlier
12:27
<oal>
Hmm, I get "Uncaught ReferenceError: ImageData is not defined", Chromium 17.
12:27
<Ms2ger>
<Ms2ger> ImageData doesn't have a constructor, though
12:28
<gsnedders>
The fall-back doesn't really work in low memory situations, though
12:28
<Ms2ger>
Also, not supported in workers
12:28
<oal>
Oh, I see. So, I should simply use an array with the correct length then?
12:29
<gsnedders>
You can pass around the CanvasPixelArray, not the ImageData.
12:30
<oal>
I'm starting out with an empty canvas anyway, so it wouldn't make much sense to pass that to the worker, then? All drawing will take place in the worker
12:46
<zcorpan>
time for a whatwg weekly?
12:48
<karlcow>
:)
12:52
<zcorpan>
karlcow: s/mentionn/mention/g
12:57
karlcow
tries to find the context :)
12:59
<zcorpan>
web platform weekly
13:08
<karlcow>
ah!!! French getting into the way
13:10
<karlcow>
zcorpan: fixed! thanks. ☺ will be online in a few minutes.
13:17
<scott_gonzalez>
MikeSmith: We're getting about 4-5 sec run times for the HTML lint scripts.
13:17
<scott_gonzalez>
Per file.
13:17
<scott_gonzalez>
Not sure how much of that is overhead of spawning a new process.
13:18
<scott_gonzalez>
How hard would it be to have the lint scripts accept multiple files?
13:19
<MikeSmith>
scott_gonzalez: hard
13:19
<scott_gonzalez>
hmm...ok
13:19
<MikeSmith>
and most of that is overhead of spawning a new process
13:19
<MikeSmith>
starting up the Java VM each time
13:20
<MikeSmith>
hmm
13:20
<scott_gonzalez>
So if we just had a wrapper around the linters in Java, it should take care of the performance problems?
13:21
<MikeSmith>
I don't know how you would do that
13:21
<scott_gonzalez>
What do the linters take as input?
13:22
<MikeSmith>
the tool that actually does the validation takes a schema file and a HTML file as input
13:22
<scott_gonzalez>
Keep in mind I know nothing about Java...
13:22
<MikeSmith>
well, this isn't doing anything through Java directly
13:22
<MikeSmith>
it's just calling that command-line tool
13:22
<scott_gonzalez>
Right, I'm wondering if we could do it directly through Java and just call whatever the CLI calls internally.
13:23
<scott_gonzalez>
Of course, that would only work if the CLI is really simple and just passes the data off to some other class.
13:24
<MikeSmith>
even then I don't see any way to do it simply that would not require starting up the jre each and every time
13:24
<MikeSmith>
this is why validator.nu runs as a web service
13:24
<MikeSmith>
well, part of way
13:24
<MikeSmith>
I would really, really like to help you guys set up an instance of the validator.nu backend and have you use that
13:25
<MikeSmith>
you will for most cases see run times of 100ms or so per file, probably
13:25
<scott_gonzalez>
If it were small and simple to include in the jquery-ui repo, we would.
13:26
<MikeSmith>
it just amounts to a bunch of jar files
13:26
<MikeSmith>
if you would be wiling to have the jar files in the rep
13:26
<MikeSmith>
*repo
13:26
<scott_gonzalez>
What kind of total filesize would we be looking at?
13:27
<MikeSmith>
lemme check and see
13:30
<MikeSmith>
for the validator code itself, it would be 4MB
13:30
<MikeSmith>
8 jar files
13:31
<MikeSmith>
I'll check in the size of the 3rd-party dependencies
13:34
<MikeSmith>
28 3rd-party jar files
13:34
<MikeSmith>
checking the size total now
13:36
<MikeSmith>
actually, only 16 3rd-party files
13:39
<MikeSmith>
12MB for the 3rd-party files
13:39
<MikeSmith>
so 16MB total
13:39
<MikeSmith>
scott_gonzalez: ↑
13:42
<scott_gonzalez>
Ok, let's try it out and see how it works.
13:43
<scott_gonzalez>
Can you work with jzaefferer to get us set up with that?
13:43
<MikeSmith>
scott_gonzalez: yeah, absolutely
13:44
<scott_gonzalez>
jzaefferer = Jörn, the other dev lead for jQuery UI
13:44
<MikeSmith>
oh
13:44
<MikeSmith>
OK
13:44
<MikeSmith>
what time zone is he in?
13:44
<jzaefferer>
MikeSmith: would be great if you could put together a build that we can include
13:44
<MikeSmith>
hey jzaefferer
13:44
<scott_gonzalez>
GMT+1, but I'm pretty sure he doesn't sleep :-P
13:44
<MikeSmith>
heh
13:44
<MikeSmith>
jzaefferer: yeah, I'm sure I can put something together for you
13:44
<jzaefferer>
Planning to put that into an npm module, that we'll then include into our grunt build
13:45
<MikeSmith>
ah, OK
13:45
<MikeSmith>
there are a couple of minor changes I want to make to the validator code to make it more portable
13:45
<MikeSmith>
I will try to get those done tomorrow
13:45
<jzaefferer>
Whatever the binary ends up looking like, as long as we can somehow pass a list of files to validate and it doesn't take as long, that should work
13:45
<MikeSmith>
pending review from hsivonen
13:45
<MikeSmith>
yeah, we can do that
13:46
<jzaefferer>
OR we implement relaxNG in node/javascript ;)
13:46
<MikeSmith>
heh
13:46
<MikeSmith>
you don't want to do that :)
13:46
<jzaefferer>
yeah...
13:47
<jzaefferer>
well, I'll stick around here, let me know
13:47
<MikeSmith>
and anyway, validator.nu is doing far more than relaxng is capable of on its own
13:47
<MikeSmith>
OK
13:47
<MikeSmith>
to be clear, this will require having a process running and listening on a particular port
13:47
<MikeSmith>
port 8888 by default
13:47
<MikeSmith>
just for the duration of the test run
13:47
<jzaefferer>
okay
13:48
<MikeSmith>
so I will aim to have it all ready for you guys by end of next week
13:48
<jzaefferer>
as long as that doesn't need any actual network outside of the local machine, that's fine
13:48
<MikeSmith>
yeah, it will all be local
13:49
<jzaefferer>
cool
13:49
<MikeSmith>
there are some things that it normally tries to download from remote hosts when it first starts up, but we already have an option in place to have it use cached copies instead
13:49
<jzaefferer>
nice
13:49
<MikeSmith>
those copies are inside one of the jars
14:01
<MikeSmith>
hsivonen: if/when you're around and have a minute, wanted to ask you for a sanity check on a couple changes to make it possible to run the validator just from the jar files only, without needing to look for any files on the filesystem
14:02
<MikeSmith>
one is just to have it not look for the validator/log4j.properties but instead set the properties in the code directly
14:03
<MikeSmith>
the other is to have it not look for the local copies of the www.iana.org and wiki.whatwg.org on the filesystem but instead get them from the local-entities jar file
14:04
<MikeSmith>
if you don't have time I'll just e-mail you the actual patches
14:05
<MikeSmith>
immediate reason for the changes is to make it possible for the JQuery UI team to run their tests from just using the jar files
14:05
<MikeSmith>
but more generally to let anybody else be able to do that too
14:06
<Ms2ger>
MikeSmith, Chrome got into an infinite loop again: http://w3c-test.org/framework/results/web-storage-dev/
14:07
<MikeSmith>
no clues
14:07
<MikeSmith>
maybe ping Berjon about it
14:07
<Ms2ger>
And segfaulted now, yay Chrome!
14:08
<MikeSmith>
oh man
14:10
Ms2ger
blames Google
14:11
<Ms2ger>
Hrm
14:11
<Ms2ger>
That doesn't explain why Opera has the same issue, though
14:12
<MikeSmith>
same issue?
14:12
<MikeSmith>
the loop problem?
14:12
<Ms2ger>
Yep
14:13
<Ms2ger>
Seems there's something wrong with the "run in most-needed order"
14:13
<jarek>
should there be classList property on SVG elements?
14:13
<jarek>
Firefox implements it, but Chrome does not
14:13
<Ms2ger>
Yes
14:14
<Ms2ger>
It's on Element in DOM Core
14:14
<jarek>
but SVGElement.prototype.classList is not standardized, right?
14:14
<jarek>
it's in DOM Core? I though I have seen it in HTML5 spec
14:14
<Ms2ger>
Sure
14:14
<Ms2ger>
It used to be in HTML
14:40
<annevk>
why would you want to operate on local name?
14:40
<annevk>
everything that ignores namespaces operates on name thus far
14:40
<Ms2ger>
Say what?
14:40
<annevk>
context: https://www.w3.org/Bugs/Public/show_bug.cgi?id=16563
14:41
<Ms2ger>
smaug____,
14:43
<annevk>
hmm WHATWG Weekly
14:43
<annevk>
okay, if I can write it in 40 min
14:43
<annevk>
so
14:43
<smaug____>
annevk: if you set attribute
14:43
<annevk>
lots of canvas
14:43
<smaug____>
you don't care about prefix
14:43
<smaug____>
you care about namespace and localName
14:43
<annevk>
smaug____: setAttribute("xlink:href", "test")
14:43
<annevk>
try it
14:44
<annevk>
if the element has an attribute xlink:href in the xlink namespace declared...
14:45
<smaug____>
so ?
15:20
<annevk>
rough draft: http://blog.whatwg.org/weekly-canvas-v5
15:25
<annevk>
smaug____: well it works with name there, not local name...
15:25
<smaug____>
and the question I had is, so ?
15:25
<smaug____>
:)
15:26
<annevk>
everything that ignores namespaces operates on name thus far
15:26
<annevk>
seems kind of weird to have that different here
15:26
<MikeSmith>
annevk: s/devices as that the vast/devices, as the vast/
15:27
<smaug____>
if you are handling namespaces, you really don't want to care of the prefixes
15:27
<smaug____>
you have namespace and localName
15:27
<annevk>
thanks MikeSmith
15:27
<smaug____>
(but I'm just in middle of something else...)
15:28
<annevk>
that's true enough, but I thought we didn't care about namespaces?
15:28
<annevk>
but I guess then we should not have attributeNamespace either hmm
15:28
<annevk>
annoying
15:29
<smaug____>
oh yes, namespaced attributes are very annoying
17:18
<dglazkov>
good morning, Whatwg!
17:18
<dglazkov>
and good night, Ms2ger
17:18
<Ms2ger>
Morning, dglazkov
17:19
<dglazkov>
now you're just messing with me
17:40
<TabAtkins>
Ms2ger: What's this about SGML boolean attributes?
17:43
<Ms2ger>
http://lists.w3.org/Archives/Public/www-style/2012Mar/0667.html
17:43
<TabAtkins>
Note: Christoph is not part of the WG. He's one of the many contributors, and sometimes gets strange ideas.
17:50
<Ms2ger>
Note: I said "www-style", not "The Cabal"
17:50
<hober>
Hixie: in http://lists.w3.org/Archives/Public/public-html/2012Mar/0739.html rubys asked me to "obtain and incorporate any feedback you feel is necessary from the editor" on my counter proposal on the web+ prefix issue: http://www.w3.org/html/wg/wiki/User:Eoconnor/ISSUE-189
17:50
<hober>
Hixie: so, yeah. let me know if you have any thoughts on that.
17:55
<Ms2ger>
So, when doing for (var p in obj), where obj supports both indexed and named properties, which values should p take?
17:55
<gsnedders>
Ms2ger: For WebIDL?
17:55
<Ms2ger>
Hmm?
17:57
<gsnedders>
Ms2ger: A WebIDL-defined object, or a general ES one?
17:57
<Ms2ger>
Former
18:03
<gnarf>
hey WG guys... newz2000 over on #html5 was bringing up a feature that could be pretty handy in the future... Some way to detect/convey the current user's locale preferences in JavaScript
18:03
<Ms2ger>
No
18:03
<Ms2ger>
That's a privacy bug, not a feature
18:04
<gsnedders>
Already sent over HTTP, though
18:04
<gnarf>
sent on EVERY http connection
18:04
<gnarf>
privacy my ass
18:04
<gnarf>
(sorry)
18:05
<newz2000>
hi, sorry I missed the first part of the discussion
18:05
<newz2000>
I see in gecko 5+ the first value of the user's preferred lang is available in navigator.language
18:05
<newz2000>
that's an awesome improvement
18:05
<newz2000>
I suspect it only returns the first value because of backwards compatibility
18:06
<newz2000>
and it's not in the same format as the http header
18:06
<gsnedders>
The sensible format would surely be an array of language tags?
18:07
<newz2000>
that would be better than the string format that gets sent as part of the http header
18:07
<newz2000>
the http header includes a weighting value
18:08
<newz2000>
even if we only had the string value though it would be an improvement, it's pretty easily parsed.
18:09
<newz2000>
This was annoying a couple years ago, but in recent times client side templating is becoming more common
18:09
<newz2000>
and therefore localization of some resources can be done client side, except that you've got to use tricks to go to the server and find out what language is being sent in the http header
18:10
<newz2000>
I'd be happy to file bugs or some thing else to start productive conversation of the issue
18:10
<newz2000>
what is the best process?
18:20
<TabAtkins>
newz2000: This isn't a good room to discuss Gecko specifics, except insofar as it's relevant to specs.
18:20
<TabAtkins>
newz2000: But if you want to file bugs or something, go for it.
18:20
<newz2000>
well, my hope is to get all browsers to provide a common way
18:20
<newz2000>
none give all the info but a recent version of ff gives a little info and I hear IE does too.
18:21
<TabAtkins>
Oh, I see. I skimmed past your wall of text. ^_^
18:21
<newz2000>
Yeah, maybe a mailing list post would be better, though it looks to be a pretty high volume list
18:25
<TabAtkins>
Just send a post to whatwg⊙wo
18:25
<newz2000>
ok.
18:25
<newz2000>
Thanks for the encouragement TabAtkins
18:34
<kennyluck>
Perhaps I shouldn't say this but from time to time Christoph's mails do make me laugh.
18:37
<TabAtkins>
He's clearly on the "theoretical" side of the specturm.
19:35
<annevk>
Ms2ger: hmm yeah
19:35
<annevk>
Ms2ger: the whole named property business needs a careful look
19:37
<Ms2ger>
Yeah
19:37
<Ms2ger>
No spec that I know of actually defines the order
20:10
<annevk>
http://calculist.org/blog/2012/03/29/synchronous-module-loading-in-es6/ because script scheduling was not complicated enough just yet?
20:10
<annevk>
kind of makes importScripts obsolete though I guess
20:11
<annevk>
s/though//
20:13
<MikeSmith>
http://www.belshe.com/2012/03/29/comments-on-microsofts-spdy-proposal/
20:14
<Ms2ger>
I like how the one comment talks about "HTML + Mobility"
20:34
<eseidel>
Curious if anyone here has knowledge of <iframe seamless=true>. Either attempted implementing it, or worked on the spec?
20:34
<eseidel>
(besides Hixie of course)
20:35
<MikeSmith>
eseidel: no browser projects have attempted to implement it yet, afaik
20:35
<MikeSmith>
eseidel: btw, that sentence you cite seems grammatical to me
20:35
<MikeSmith>
though long
20:35
<eseidel>
MikeSmith: it took my little brain quite a while to parse
20:35
<eseidel>
MikeSmith: I'm not doubting it's english :)
20:35
<eseidel>
(or gramatical)
20:35
<MikeSmith>
heh
20:35
<Ms2ger>
<iframe seamless>, you mean, I guess
20:35
<eseidel>
just infinite
20:36
<MikeSmith>
en-US-hixie
20:36
<eseidel>
MikeSmith, Ms2ger are either of you familiar with the spec, enough to field questions?
20:36
<eseidel>
I'm looking (briefly) at what it would take in WebKit
20:36
<Ms2ger>
I'm not familiar, but feel free to bat me a question :)
20:36
<TabAtkins>
I'm roughly familiar with the spec.
20:37
<MikeSmith>
eseidel: https://bugzilla.mozilla.org/show_bug.cgi?id=631218 fwiw
20:37
<eseidel>
MikeSmith: k
20:38
<eseidel>
MikeSmith: it appears https://bugs.webkit.org/show_bug.cgi?id=45950 is ours
20:40
<eseidel>
TabAtkins: first question: re: the CSS parts. I assume it's only that the "root style" of the inner document as it would be for a child of the iframe's parent. NOT that global styles from the parent docuemnt apply to the inner document? (such as a body { } selector?)
20:40
<Ms2ger>
I believe you assume wrong
20:41
<Ms2ger>
Or I may be parsing you wrongly :)
20:41
<TabAtkins>
eseidel: Selectors never match across the boundary.
20:41
<eseidel>
good
20:41
<TabAtkins>
Inheritance crosses the boundary, and user stylesheets ae cloned across the boundary.
20:41
<Ms2ger>
Or I'm plain wrong
20:41
<annevk>
I thought that was the whole point
20:41
<eseidel>
but, all selectors that might apply to the <iframe> or it's kids, are part of the style inherited by the inner-doucment's root
20:41
<annevk>
that Selectors cross the boundary
20:42
<TabAtkins>
(Wholely cloned, not haing their selectors apply across.)
20:42
<TabAtkins>
Selectors targetting the <iframe>'s children do nothing.
20:42
<TabAtkins>
The nested document inherits from the <iframe> element itself only.
20:42
<eseidel>
iframe:first-child { color: red } would not target the inner doc?
20:42
<Ms2ger>
You means iframe > foo?
20:43
<eseidel>
if, so that makes things super easy
20:43
<TabAtkins>
eseidel: Correctly.
20:43
<Ms2ger>
Because that wouldn't make sense
20:43
<eseidel>
from a CSS perspective
20:43
<TabAtkins>
Or rather, "iframe:first-child" would, because that still targets the iframe.
20:43
<eseidel>
OK, so it sounds like the CSS side is simple
20:43
<Ms2ger>
body {} would match the inner document's body, no?
20:43
<TabAtkins>
But "iframe > :first-child" doesn't.
20:43
<TabAtkins>
Ms2ger: No.
20:43
<TabAtkins>
Go read the spec. ^_^
20:43
<eseidel>
the spec only really enumerates what it does do :)
20:43
<eseidel>
the first two points state the 2 CSS parts
20:44
<TabAtkins>
eseidel: Yes, and thus it doesn't do anything else.
20:44
<Ms2ger>
In a CSS-supporting user agent: the user agent must add all the style sheets that apply to the iframe element to the cascade of the active document of the iframe element's nested browsing context, at the appropriate cascade levels, before any style sheets specified by the document itself.
20:44
<eseidel>
http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-seamless
20:44
<TabAtkins>
Ms2ger: Oh, duh, now I understand your question. Yes.
20:44
<Ms2ger>
Then why did you say No?
20:44
<TabAtkins>
The stylesheet gets cloned over into the iframe's document, so yeah, a "body" selector in the outer document will also match the <body> in the ref'd document.
20:44
<eseidel>
ok, so I misunderstood too then
20:44
<eseidel>
ok
20:44
<TabAtkins>
Ms2ger: Because I thought you were saying something else.
20:44
<eseidel>
so that's a bit weird
20:45
<Ms2ger>
I wonder what you managed to read into that, then :)
20:45
<eseidel>
and may be difficult
20:45
<TabAtkins>
Ms2ger: I"m not sure.
20:45
<eseidel>
TabAtkins: are these stylesheets accessible from teh inner document?
20:45
<eseidel>
TabAtkins: are they cloned?
20:45
<TabAtkins>
eseidel: No.
20:45
<TabAtkins>
They just apply in the cascade before the doc's own stylesheets.
20:45
<eseidel>
TabAtkins: are they live? such that modification to them by the outer document effects the inner?
20:45
<TabAtkins>
But they're not visible.
20:45
<TabAtkins>
Yes, they're live.
20:46
<eseidel2>
TabAtkins: sorry, irc cloud is being stupid
20:46
<eseidel2>
TabAtkins: I was asking:
20:46
<eseidel2>
eseidel> TabAtkins: are these stylesheets accessible from teh inner document?
20:46
<eseidel2>
1:46 PM <eseidel> TabAtkins: are they cloned?
20:46
<eseidel2>
1:46 PM <eseidel> TabAtkins: are they live? such that modification to them by the outer document effects the inner?
20:47
<Ms2ger>
<TabAtkins> eseidel: No.
20:47
<Ms2ger>
<TabAtkins> They just apply in the cascade before the doc's own stylesheets.
20:47
<Ms2ger>
<eseidel> TabAtkins: are they live? such that modification to them by the outer document effects the inner?
20:47
<Ms2ger>
<TabAtkins> But they're not visible.
20:47
<Ms2ger>
<TabAtkins> Yes, they're live.
20:47
<TabAtkins>
Thanks, Ms2ger .
20:47
<eseidel2>
ok
20:47
<Ms2ger>
Np
20:47
<eseidel2>
so that's easier
20:47
<TabAtkins>
Tehy're not literally cloned, just spammed into the cascade.
20:47
<ojan>
TabAtkins: what are the use-cases for :empty? Could we just make :empty match nodes that only contain non-significant whitespace?
20:47
<ojan>
TabAtkins: alternately, i guess we could add a :collapsed pseudo
20:47
<TabAtkins>
ojan: I really don't know what the use-case was.
20:47
<eseidel2>
TabAtkins: yeah, that's fine
20:48
<annevk>
I think :empty might have been for empty table cells
20:48
<ojan>
annevk: oh, could be
20:49
<eseidel2>
so TabAtkins , it seems the second bullet does not support the iframe:first-child { } selector matching anything in the inner document
20:49
<eseidel2>
TabAtkins: that's your interpretation, correct?
20:49
<TabAtkins>
ojan: I suspect that "insignificant white-space" would be okay for :empty, fi the spec was changed.
20:49
<eseidel2>
TabAtkins: that iframe:first-child { } matches nothing in the inner document (unless of course there is an iframe in that inner document with a child)
20:49
<TabAtkins>
eseidel2: Your selector is wrong. ^_^ If you meant "iframe > :first-child", then yes.
20:49
<TabAtkins>
Yes.
20:49
<eseidel2>
TabAtkins: my little CSS brain can't parse that anymore. long since paged out all mys elector knowledge
20:50
<eseidel2>
TabAtkins: that's a defendant of :first-child ?
20:50
<TabAtkins>
iframe:first-child means "an iframe who is a first child".
20:50
<eseidel2>
decendant
20:50
<eseidel2>
oh, you're right
20:50
<eseidel2>
I want, first child of the frame
20:50
<eseidel2>
so iframe > :first-child then?
20:50
<TabAtkins>
Yeah, that won't "cross over" and select the first element in the ref'd doc.
20:50
<eseidel2>
ok, good
20:51
<TabAtkins>
Ooh, interesting diversion here. What happens with @seamless and a <style scoped> on an ancestor?
20:51
<eseidel2>
TabAtkins: so the 3rd bullet is just saying that the root element of the inner doc inherits from the iframe's style
20:51
<TabAtkins>
yup
20:52
<TabAtkins>
Actually, I answered my own question. The scoped stylesheet is just spammed into the cascade as normal, without carrying over any scoping semantics.
20:52
<TabAtkins>
Which will be weird with :scope selectors or whatever.
20:53
<TabAtkins>
I should raise an issue.
20:53
<Ms2ger>
And take over editing this stuff ;)
20:53
<eseidel2>
TabAtkins: so iframe still remains a replaced element
20:54
<eseidel2>
TabAtkins: it just magically acts like a block
20:54
<eseidel2>
in a manual hacky way
20:54
<TabAtkins>
eseidel2: Yes.
20:55
<eseidel2>
TabAtkins: so it behaves like a hacky inline-block of sorts?
20:55
<eseidel2>
i guess not quite
20:55
<eseidel2>
since inline block doesn't have width: auto?
20:55
<eseidel2>
I don't' remember, actually
20:56
<TabAtkins>
inline-block's width:auto translates to 'fit-content'.
20:56
<TabAtkins>
While block's width:auto translates to 'fill' or whatever.
21:00
<MikeSmith>
http://www.w3.org/News/2012#entry-9404
21:00
<MikeSmith>
publication announcement for the HTML WG TR drafts
21:01
<Ms2ger>
This month?!
21:01
<hober>
whooo!
21:02
<paul_irish>
\o/ MikeSmith
21:02
<Ms2ger>
Yay for having a slightly less obsolete document on TR/!
21:02
<MikeSmith>
heh
21:04
<MikeSmith>
it would be good to use this to give web developers a heads-up about the updates to the APIs section of the diff-from-HTML4 document
21:04
<MikeSmith>
http://www.w3.org/TR/2012/WD-html5-diff-20120329/#apis
21:05
<MikeSmith>
zcorpan added all kinds of awesome to that
21:06
<MikeSmith>
along with massively detailed section about what's changed over the last 12 months
21:06
<MikeSmith>
http://www.w3.org/TR/2012/WD-html5-diff-20120329/#changes-2011-05-25
21:06
<MikeSmith>
or 10 months
21:20
<karlcow>
→ curl -sI http://hansmuller-webkit.blogspot.ca/2012/03/css-transform-origin-coming-to-svg.html | grep Content-Type
21:20
<karlcow>
Content-Type: text/html; charset=UTF-8
21:20
<karlcow>
I wonder why blogspot call that HTML
21:20
<karlcow>
it is barely HTML
21:21
<karlcow>
there is a tendency to send big JSON files packages in an pseudo HTML UI
21:21
<karlcow>
jux.com does that too
21:23
<gsnedders>
Old New Twitter.com did too, not looked at source of New New Twitter
21:24
<karlcow>
really silly for blog posts.
21:24
<karlcow>
You do a save as of the page
21:24
<karlcow>
save it as html
21:24
<karlcow>
then try to load it in your browser later on
21:24
<karlcow>
BLANK PAGE
21:24
<karlcow>
nothing
21:29
<karlcow>
as a matter of facts the most reliable way to access the content seems to be the feed http://hansmuller-webkit.blogspot.ca/feeds/posts/default
21:29
<TabAtkins>
karlcow: The most reliable way to save a page is to open up developer tools, right click on the <html> element, and select "copy as html". Then paste into a text file yourself.
21:30
<TabAtkins>
Add a doctype yourself.
21:30
<karlcow>
not really user friendly
21:33
<eseidel2>
TabAtkins: ok, so talk to me about testing
21:34
<TabAtkins>
?_?
21:34
<eseidel2>
TabAtkins: do you know if we have any seamless tests? Or should I start writing? :)
21:34
<TabAtkins>
Since we don't have an impl, I doubt we ahve tests.
21:34
<eseidel2>
k
21:34
<eseidel2>
TabAtkins: well, thanks for your thoughts :)
21:34
<TabAtkins>
Welcome!
21:51
<eseidel>
TabAtkins: talk to me about selection
21:52
<eseidel>
TabAtkins: would you be expected to be able to select across a seamless frame?
21:52
<eseidel>
I suspect you'll say yes... to which I'll reply "you're nuts"
21:52
<eseidel>
:)
21:52
<eseidel>
rniwa: ^^^
21:52
<rniwa>
eseidel: ?
21:53
<rniwa>
eseidel: any frame should be treated as an atomic element.
21:53
<rniwa>
eseidel: i.e. you either select the entire frame or not selecting the frame.
21:53
<eseidel>
rniwa: lets wait for TabAtkins to reply. my understanding is <iframe seamless> is supposed to act basically like it's a <div> :)
21:53
<rniwa>
eseidel: there's no way for us to allow selection that crosses frame boundary
21:54
<eseidel>
basically fake not being a replaced element
21:54
<eseidel>
rniwa: that was my understanding, thank you for confirming
21:54
<eseidel>
(hence my "you'r nuts" comment above"
21:55
eseidel
looks forward to TabAtkins's return
21:55
<rniwa>
eseidel: somehow chrome & colloquy are interfering with each other today :\
21:56
<rniwa>
maybe it's m-18 thing
21:56
<eseidel>
rniwa: donno
21:56
<rniwa>
it stops responding when I'm running both of them at the same time
21:56
<rniwa>
they stop*
21:56
<eseidel>
rniwa: I've seen colloquy have trouble today too
21:56
<eseidel>
rniwa: but I normally use irccloud
21:56
<rniwa>
eseidel: chrome m-18 was just pushed yesterday
21:56
<eseidel>
rniwa: I can invite you if you're interested
21:57
<rniwa>
eseidel: not interested, but thanks
22:00
<rniwa>
huh... it seems like different processes keep dead-locking :(
22:00
rniwa
reboots his machine
22:12
<TabAtkins>
Whoops, back.
22:13
<TabAtkins>
rniwa is right.
22:13
<TabAtkins>
Seamles iframes are still iframes. They have only the effects listed in the spec.
22:22
<eseidel>
TabAtkins: I'm just tryign to interpret the last bullet in the spec:
22:22
<eseidel>
User agents should, in general, act as if the active document of the iframe's nested browsing context was part of the document that the iframe is in, if any.
22:22
<eseidel>
TabAtkins: you believe that does not apply to selection
22:23
<eseidel>
or isn't trying to, rather
22:23
<eseidel>
(since donig so would be very very difficult in webkit)
22:28
<eseidel>
TabAtkins: my follow-up questions are about if this should affect form-control tab ordering, as well as form submission (I assume that form elements in the child don't some how magically end up in forms of the parent)
22:29
<eseidel>
TabAtkins: i'm not suggesting it should, but just making sure that that last bullet doesn't pull in anything too weird
22:29
<eseidel>
TabAtkins: trying to anticipate the craziness before I start writing code
22:30
<TabAtkins>
Hm. I'd ask Hixie for clarification on those points.
22:30
<TabAtkins>
But he's gone until next week.
22:31
<eseidel>
TabAtkins: so hixie is our obi-wan here?
22:31
<eseidel>
TabAtkins: no one else has worked on the seamless stuff? :)
22:31
<TabAtkins>
Well, he knows what he intended when he wrote that, presumably.
22:31
<eseidel>
ok
22:32
<eseidel>
well, I'll just write it down in my "possible issues" list and start testing
22:32
<eseidel>
TabAtkins: thanks
22:39
<eseidel>
TabAtkins: seamless is going to be weird
22:39
<eseidel>
TabAtkins: because if you try to make somethign small, you'll have to constrict the size of your <html>
22:39
<eseidel>
TabAtkins: as normally <body> would fill the entire width, no?
22:39
<eseidel>
TabAtkins: for example, say you had an iframe with a div in it which was 100x100, and you assumed that was your content size
22:39
<eseidel>
TabAtkins: it would look that way when you viewed it independently
22:40
<eseidel>
TabAtkins: but when you tried to make it seamless in your doc, wouldn't the html/body force it to be full width?
22:40
<eseidel>
or am I mis-remembering my CSS?
22:40
<TabAtkins>
Why would it be forced to full width? The iframe just changes from "default to a width of 300" to "default to a width of 'fill'".
22:41
<eseidel>
TabAtkins: I see, the iframe doesn't take the width of the child content, only the height
22:42
<eseidel>
In visual media, in a CSS-supporting user agent: the user agent should set the intrinsic width of the iframe to the width that the element would have if it was a non-replaced block-level element with 'width: auto'.
22:42
<TabAtkins>
Yeah, it acts more or less like a normal block element.
22:42
<eseidel>
good
22:44
<eseidel>
TabAtkins: you know of no way to access the "intrinsic" height of an element from JS, right? that's only used in width calculations internally, correct?
22:44
<eseidel>
I believe we only expose the computed width/height
22:47
<TabAtkins>
yes
22:49
<eseidel>
TabAtkins: so seamless iframes are still replaced elements, and still inline, they just have funny intrinsic width as though they were blocks, correct?
22:49
<TabAtkins>
yes
22:49
<eseidel>
TabAtkins: (once again, I appreciate your consultation on this)
22:54
<TabAtkins>
np
23:12
<roc>
I've implemented part of 'seamless' for Gecko, although the patch hasn't landed
23:12
<roc>
the layout bits
23:12
<roc>
not the style bits
23:38
<eseidel>
TabAtkins: am I reading http://www.whatwg.org/specs/web-apps/current-work/#sandboxed-seamless-iframes-flag correctly, that the flag name has not yet been defined?
23:38
<eseidel>
TabAtkins: it's mentioned, but not given a name...
23:38
<eseidel>
(making it difficult to test! :)
23:41
<TabAtkins>
The flag is called "the sandboxed seamless iframes flag". There's no value you can put in @sandbox to control it, though.
23:43
<eseidel>
TabAtkins: I see, so I just have to use <iframe sandbox> to set all the flags :)
23:43
<TabAtkins>
yeah
23:44
<eseidel>
TabAtkins: well, this will make things interesting to test