Options:
- # Session Start: Mon May 14 00:00:00 2007
- # Session Ident: #whatwg
- # [00:24] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [00:33] * Joins: zcorpan_ (n=zcorpan@esk-ba-1-nomad.net.mdh.se)
- # [00:44] * Joins: zcorpan__ (n=zcorpan@84-216-42-41.sprayadsl.telenor.se)
- # [00:49] * Quits: zcorpan (n=zcorpan@84-216-40-20.sprayadsl.telenor.se) (Read error: 110 (Connection timed out))
- # [00:49] * Philip`_ is now known as Philip`
- # [00:58] * zcorpan__ is now known as zcorpan
- # [00:59] * Quits: zcorpan_ (n=zcorpan@esk-ba-1-nomad.net.mdh.se) (Read error: 110 (Connection timed out))
- # [01:35] * Quits: bzed (n=bzed@dslb-084-059-108-031.pools.arcor-ip.net) ("Leaving")
- # [02:20] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [02:31] * Quits: kingryan (n=kingryan@dsl081-240-149.sfo1.dsl.speakeasy.net)
- # [02:53] * Parts: zcorpan (n=zcorpan@84-216-42-41.sprayadsl.telenor.se)
- # [02:58] * Joins: mikeday (n=mikeday@CPE-60-224-50-129.vic.bigpond.net.au)
- # [03:20] * Joins: tantek (n=tantek@dsl081-245-070.sfo1.dsl.speakeasy.net)
- # [03:29] * Philip` wonders if there could be getImageData(sx, sy, sw, sh, hires) where hires=true makes it return the full-resolution backing bitmap with width!=sw, otherwise it scales the bitmap down and returns with width==sw
- # [03:29] <Philip`> so people who don't know or don't care can just do getImageData(sx, sy, sw, sh) and get what looks like sensible pixels, whereas people who really want to do high-quality filters can set hires and take more care
- # [03:30] <Philip`> (It's compatible with existing browsers and content, too...)
- # [03:31] <othermaciej> Philip`: putImageData would have to have the same flag
- # [03:31] <othermaciej> Philip`: then the get/put invariant would hold only in hires mode
- # [03:32] <Philip`> Yep
- # [03:32] <Philip`> so people who just want to assume canvas pixels are really pixels can do so, and they'll get some visual degradation if they start doing get/putImageData, but it'll do what they expect
- # [03:34] <Philip`> (Most people aren't going to do anything with ImageData, so normal canvas code will look high-res and fine)
- # [03:56] <othermaciej> yeah
- # [04:09] * Joins: rob1n (n=rob1n@unaffiliated/rob1n)
- # [04:27] * Quits: rob1n (n=rob1n@unaffiliated/rob1n) ("Leaving")
- # [04:36] * Quits: h3h (n=w3rd@cpe-66-75-149-197.san.res.rr.com)
- # [05:00] * Joins: marcosc_ (n=chatzill@131.181.148.226)
- # [05:27] * Quits: tantek (n=tantek@dsl081-245-070.sfo1.dsl.speakeasy.net)
- # [05:30] * Quits: mikeday (n=mikeday@CPE-60-224-50-129.vic.bigpond.net.au) ("-")
- # [05:33] * Joins: weinig (n=weinig@c-24-7-121-96.hsd1.ca.comcast.net)
- # [06:06] * Joins: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [06:12] * Joins: aroben_ (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [06:12] * Quits: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net) (Read error: 104 (Connection reset by peer))
- # [06:16] * Quits: aroben_ (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net) (Read error: 104 (Connection reset by peer))
- # [06:18] * Quits: YaaL (i=yaal@hell.pl) (Read error: 110 (Connection timed out))
- # [06:23] * Joins: h3h (n=w3rd@cpe-66-75-149-197.san.res.rr.com)
- # [06:24] * Joins: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [06:25] * Quits: jdandrea_ (n=jdandrea@ool-44c0a58f.dyn.optonline.net)
- # [06:25] * Quits: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net) (Read error: 54 (Connection reset by peer))
- # [06:25] * Joins: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [06:27] * Joins: aroben_ (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [06:42] * Quits: dolphinling (n=chatzill@rbpool4-60.shoreham.net) (Read error: 110 (Connection timed out))
- # [06:42] * Quits: aroben_ (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net) (Read error: 54 (Connection reset by peer))
- # [06:43] * Quits: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [06:43] * Joins: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [06:45] * Joins: dolphinling (n=chatzill@rbpool1-4.shoreham.net)
- # [06:50] * Quits: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [07:00] * Quits: theoros (n=theoros@ACC8D244.ipt.aol.com) ("Leaving")
- # [07:00] * Quits: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca)
- # [07:04] * Quits: mpt (n=mpt@canonical/launchpad/mpt) ("This computer has gone to sleep")
- # [07:04] * Joins: theoros (n=theoros@ACC8D244.ipt.aol.com)
- # [07:04] * Quits: marcosc_ (n=chatzill@131.181.148.226) (Read error: 110 (Connection timed out))
- # [07:16] * Joins: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [07:22] * Joins: aroben_ (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [07:22] * Quits: aroben_ (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net) (Read error: 104 (Connection reset by peer))
- # [07:23] * Joins: aroben_ (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [07:26] * Quits: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net) (Read error: 60 (Operation timed out))
- # [07:32] * Quits: weinig (n=weinig@c-24-7-121-96.hsd1.ca.comcast.net)
- # [08:08] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [08:09] * Quits: dbaron (n=dbaron@c-71-198-189-81.hsd1.ca.comcast.net) ("8403864 bytes have been tenured, next gc will be global.")
- # [08:10] * aroben_ is now known as aroben
- # [08:10] * Quits: h3h (n=w3rd@cpe-66-75-149-197.san.res.rr.com)
- # [08:31] * Joins: ROBOd (n=robod@86.34.246.154)
- # [08:36] * Quits: theoros (n=theoros@ACC8D244.ipt.aol.com) (Remote closed the connection)
- # [08:45] * Joins: mikeday (n=mikeday@CPE-60-224-50-129.vic.bigpond.net.au)
- # [08:55] * Joins: bzed (n=bzed@dslb-084-059-096-203.pools.arcor-ip.net)
- # [08:55] * Quits: mpt (n=mpt@canonical/launchpad/mpt) ("This computer has gone to sleep")
- # [09:22] <annevk> A hires flag could work. Or maybe we should keep that as an option for future extensions...
- # [09:24] <hsivonen> Roger Johansson's way of saying that I win makes me think that he thinks I said something so crazy that it isn't worth talking about.
- # [09:24] * Quits: jruderman (n=jruderma@c-67-169-183-228.hsd1.ca.comcast.net)
- # [09:25] <hsivonen> http://www.456bereastreet.com/archive/200705/is_html_5_a_slippery_slope/#comment26
- # [09:28] <annevk> Hah, only entity declarations... Guess he didn't read the specification very carefully then
- # [09:28] <annevk> XML parsing can be very simple. You simply have to ignore the hard parts.
- # [09:28] <annevk> (At that point error handling comes almost for free.)
- # [09:42] <mikeday> heh
- # [09:44] <othermaciej> html parsing is also easy if you ignore the hard parts
- # [09:45] <annevk> yeah
- # [09:45] <annevk> HTML is easy to understand if you don't go down the rabbit hole
- # [09:55] <mikeday> For any X, X is easy if you ignore the hard parts of X.
- # [09:57] <othermaciej> for some X, it's all hard parts
- # [10:00] <mikeday> right, but ignoring them reduces it to the empty set, which sounds pretty easy :)
- # [10:06] * Joins: ddfreyne (n=ddfreyne@d51A5CE12.access.telenet.be)
- # [10:07] <mikeday> Here is a question: in the US-ASCII encoding, is 0x7F a legal octet?
- # [10:08] <othermaciej> ASCII 0x7F is the control character DEL
- # [10:09] <mikeday> so basically any 7-bit code is fine, only high bit set is garbage
- # [10:09] <othermaciej> also known as ^?
- # [10:10] <othermaciej> 0x00 - 0x1F and 0x7F are not printable but they are defined
- # [10:11] <mikeday> that's fine then
- # [10:12] <mikeday> presumably in Latin1, 0x80 to 0x9F are garbage and need to be turned to U+FFFD?
- # [10:12] <mikeday> or passed through as is for compatibility with Windows-1252? :/
- # [10:16] <othermaciej> web pages that claim to be latin-1 have to be processed as windows-1252
- # [10:17] <othermaciej> in fact, you even have to treat pages that claim to be unicode w/ range 0x80-0x9f treated as the win-latin1 characters
- # [10:17] <annevk> yeah
- # [10:17] <annevk> and all character references in that range too
- # [10:18] <annevk> HTML5 hasn't defined that yet
- # [10:18] <othermaciej> so yes, the unicode spec is universally violated on the web
- # [10:18] <annevk> it should just be redefined...
- # [10:18] <annevk> that would be nice, actually
- # [10:18] <othermaciej> Unicode5!
- # [10:19] <othermaciej> unfortunately, I think that would probably break non-web uses of unicode
- # [10:19] <annevk> this would also only apply to text/html I suppose?
- # [10:19] <othermaciej> (though maybe not, depending on how other Microsoft apps handle it)
- # [10:19] <othermaciej> in Safari I think we apply it to XML, but perhaps there is no need to
- # [10:20] <othermaciej> well, I guess actually someone should test it in XHR in IE
- # [10:20] <othermaciej> at least you can make a web browser without violating the TCP or IP standards
- # [10:20] <othermaciej> but I think you have to violate just about everything else in the protocol / format stack
- # [10:21] * Joins: BenWard (i=BenWard@nat/yahoo/x-2b3c72e144d92d42)
- # [10:23] <othermaciej> actually, I don't know if the control characters are used for anything so it might not be incompatible in practice
- # [10:23] <annevk> interesting
- # [10:23] <mikeday> hmm, so even 0x80-0x9f encoded in UTF-8 need to be passed through, that's cute
- # [10:24] <othermaciej> mikeday: yes, or UTF-16, or UTF-32 -- it is deeply lame
- # [10:24] <annevk> we should just update several encoding / decoding standards :)
- # [10:24] <mikeday> in Prince we have a hack to handle mislabelled pages that claim to be Latin1 but are actually Windows-1252
- # [10:25] <mikeday> because fonts won't have glyphs for control codes, so we fallback to the Windows-1252 character instead
- # [10:25] <mikeday> eg. we can't find a glyph for 0x85, so we fallback to U+2026
- # [10:25] <mikeday> which is what 0x85 maps to in Windows-1252
- # [10:25] <mikeday> that way the hack fits in at the font / glyph layer rather than the UNICODE layer; dunno if that's any better though.
- # [10:26] <annevk> it would fail people doing scripting etc.
- # [10:26] <othermaciej> that depends - if you have JavaScript support, it won't be sufficient
- # [10:26] <annevk> or support for :contains()
- # [10:26] <annevk> it would also fail attribute selectors etc.
- # [10:26] <othermaciej> we do our hack at the character set decoding layer
- # [10:27] <othermaciej> (and in the tokenizer when decoding entities)
- # [10:27] <annevk> html5lib only has the tokenizer bit atm
- # [10:29] <othermaciej> I think the entity bit is done only by our html parser
- # [10:30] <mikeday> good points, especially :contains(), which we support
- # [10:30] <mikeday> none of the sites that screw up the encoding use :contains(), thankfully :)
- # [10:30] * annevk points out that :contains() has been dropped
- # [10:30] <annevk> I believe the latest proposal is foo[#text^="X"]
- # [10:31] <annevk> and td[#column=2]
- # [10:31] <annevk> it might be that I'm mistaken though
- # [10:31] <mikeday> nice to drop it after we've had it implemented for years
- # [10:31] <mikeday> td[#column=2] { display: none }
- # [10:31] <annevk> the problem is that nobody else did
- # [10:32] * mikeday grins
- # [10:32] <annevk> and I suppose it's significantly easier to support in a UA that doesn't do scripting
- # [10:32] <mikeday> right
- # [10:32] <annevk> (#column would be on the semantic level btw, not based on display:table-* crap)
- # [10:33] <mikeday> ?
- # [10:33] <mikeday> td { display: table-cell } is how we determine what a table cell *is*
- # [10:34] <annevk> in this case you would need to have some knowledge about the HTML namespace aiui
- # [10:34] <othermaciej> is #column meant to be the more CSS-ish way to do <col> styling?
- # [10:34] <mikeday> oh, great.
- # [10:34] <annevk> othermaciej, yeah, think so
- # [10:35] <annevk> but so far I haven't seen much more than just that
- # [10:35] <othermaciej> but column position is determined by HTML markup only?
- # [10:35] <annevk> it was planned for Selectors 2 or something
- # [10:35] <othermaciej> I guess that makes sense, to make it work with CSS tables, you would need computed style to determine matching
- # [10:35] <annevk> othermaciej, iirc, yes
- # [10:35] <annevk> or any other table markup language you support for that matter
- # [10:35] <othermaciej> it is funny how often the issue that selectors can't depend on computed style comes up
- # [10:36] <annevk> :hover
- # [10:36] <annevk> and :bound-element come to mind
- # [10:38] * Joins: MikeSmith (n=MikeSmit@139.100.140.34)
- # [10:39] <othermaciej> how does it relate to :hover?
- # [10:41] * Joins: YaaL (i=yaal@hell.pl)
- # [10:42] <mikeday> :hover { display: none } is rather confusing
- # [10:43] <annevk> for instance
- # [10:43] * othermaciej is now known as om_sleep
- # [10:45] * Quits: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [10:45] <mikeday> hmm, seems like the most annoying thing about parsing is buffer management
- # [10:46] <annevk> ah, that sounds like something we didn't have to worry about :)
- # [10:46] <annevk> will your parser have an open source license btw?
- # [10:46] * MikeSmith waves to mikeday
- # [10:46] <mikeday> hi MikeSmith
- # [10:46] <MikeSmith> hei
- # [10:47] <mikeday> annevk, yes, that way I can steal code from you guys, and the rest of the world :)
- # [10:47] * mikeday examines inputstream.py
- # [10:48] <annevk> well, in theory you can rip html5lib apart and exploit it in some given that the license is MIT
- # [10:48] <annevk> but, cool!
- # [10:48] <annevk> s/given/way, given/
- # [10:48] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [10:48] <mikeday> it would be nice if there were common open source libraries for HTML parsing, though
- # [10:49] <mikeday> it's something that many applications could benefit from
- # [10:49] <annevk> yes, so go for it! :)
- # [10:49] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (Remote closed the connection)
- # [10:49] <mikeday> screen scrapers, search engines, unconventional browsers
- # [10:49] <mikeday> AI projects
- # [10:49] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [10:49] <mikeday> PDF formatters *cough*
- # [10:49] <annevk> having an open source HTML parser is vital for the web
- # [10:50] <mikeday> pity no one thought of that back in 1996 hey :)
- # [10:50] <annevk> having one separate from browsers is very nice
- # [10:54] <gsnedders> mikeday: Netscape did in '98 :P
- # [10:55] <mikeday> ?
- # [10:55] <mikeday> you mean Mozilla? :)
- # [10:55] <gsnedders> mikeday: Netscape Communicator.
- # [10:55] <mikeday> did the HTML parser make it through the big rewrite?
- # [10:56] <gsnedders> mikeday: I don't think so
- # [10:56] <gsnedders> mikeday: the reason for the rewrite was the lack of quality of the source base, in part
- # [10:56] <mikeday> heh, gotta love that
- # [10:56] <mikeday> release something open source, to prompt people to develop a new thing from scratch
- # [10:56] <gsnedders> mikeday: arguably it was Moz though, as Mozilla was the codename for Netscape Navigator all the time :P
- # [10:57] <gsnedders> mikeday: the decision to rewrite was made after the open sourcing it. the plan when it was open soruced was to release a Netscape 5 based on that codebase
- # [10:57] <mikeday> yeah
- # [10:57] <mikeday> fair bit of work went into it before the decision to rewrite it, right?
- # [10:58] <gsnedders> mikeday: http://wp.netscape.com/newsref/pr/newsrelease558.html
- # [10:59] <mikeday> gawd, that's sad reading today
- # [10:59] <mikeday> "seed the market for Netcenter" indeed
- # [10:59] <mikeday> "unprecedented levels of innovation in the browser market"
- # [10:59] <mikeday> yep, the innovation was pretty unprecedented after 1998
- # [11:00] <gsnedders> mikeday: looking it up, it seems as if they spent a year just getting out all the parts that they didn't have IP of
- # [11:01] <gsnedders> mikeday: shortly after they did that, it was scrapped
- # [11:01] <mikeday> whole thing reeks of desperation, but I guess it all worked out alright in the end
- # [11:01] <mikeday> and by 2008, the web will be slightly improved over the web of 1998 :)
- # [11:01] <mikeday> more Flash and less Java, anyway :)
- # [11:01] <gsnedders> it's questionable if Gecko isn't overly bloated like Netscape before it
- # [11:02] <gsnedders> as far as OSS goes, WebKit and KHTML have _far_ smaller codebases, yet their standards compliance isn't lacking
- # [11:03] <mikeday> right
- # [11:03] <gsnedders> but Mozilla 2 is meant to work on cutting that down
- # [11:03] <mikeday> and the cycle continues
- # [11:04] <gsnedders> once there starts to be browsers based off WebKit for other OSes, Gecko may start simply being forced to being smaller and quicker to keep marketshare
- # [11:04] <mikeday> anyone in the mood for a "why are people still developing applications in C++" rant? :)
- # [11:04] <gsnedders> ergh. no.
- # [11:04] <gsnedders> :P
- # [11:04] <mikeday> good :)
- # [11:06] <mikeday> what is the relationship between Mozilla 2 and Firefox, exactly?
- # [11:07] <gsnedders> mikeday: "Mozilla" nowadays is mostly all the frameworks
- # [11:07] <mikeday> so Firefox 2 is using Mozilla 1.x?
- # [11:08] <gsnedders> yes
- # [11:08] <gsnedders> Firefox < 4 is using Mozilla 1.x
- # [11:09] <gsnedders> but Fx4 isn't expected till '09
- # [11:09] <mikeday> groovy
- # [11:10] <gsnedders> and the question is whether they can keep up while needing to change so much
- # [11:10] <mikeday> is Firefox migrating to be a JavaScript/XUL based application?
- # [11:11] <gsnedders> huh? surely it already is?
- # [11:11] <mikeday> I thought it still had some C++ components?
- # [11:11] <gsnedders> well, sure, but the UI is all XUL
- # [11:12] <mikeday> right
- # [11:12] <gsnedders> but that's what an XML User Interface Language should be used for :P
- # [11:12] <mikeday> I just thought the idea was to have more JavaScript, less C++
- # [11:13] <gsnedders> I'm not sure how much there is for Fx4 yet
- # [11:13] <mikeday> and less XPCOM
- # [11:13] * mikeday shrugs
- # [11:13] <gsnedders> my understanding was more standard C++ and less XPCOM
- # [11:13] <mikeday> ah, like exceptions and RTTI?
- # [11:14] <gsnedders> no idea
- # [11:14] <mikeday> oh well :)
- # [11:14] * gsnedders has zero knowledge of C++
- # [11:14] <Philip`> Is it just me, or are they totally crazy for planning to do automated refactoring of C++ with highly experimental tools?
- # [11:14] <mikeday> live fast, die young
- # [11:14] <Philip`> It might work, but I still think it's totally crazy
- # [11:14] <gsnedders> Philip`: probably yes. but I guess that's why they need so many branches in VCS :P
- # [11:15] <mikeday> might as well go all the way and write a C++ -> JavaScript converter
- # [11:15] <Philip`> I'm fairly sure they've been planning that too
- # [11:15] <gsnedders> here's JIT compiling for JS2… but I can't remember seeing anything about actually moving to JS
- # [11:16] <Philip`> (at least for things that don't need the performance and don't need access to non-JS-interfaced objects)
- # [11:17] <Philip`> http://wiki.mozilla.org/Mozilla_2 - "Semi-automated refactoring work: ... identification of C++ ripe for conversion to JS2" - hmm, maybe not automatically doing the actual conversion
- # [11:18] <Philip`> Oh, but: http://wiki.mozilla.org/Static_Analysis - "Identify C++ to convert to JS2... ... and translate it automatically. C++ candidate code uses only scriptable interfaces, strings, primitives."
- # [11:19] <mikeday> hmm, so it also depends on JavaScript 2, which is relatively new...
- # [11:19] <mikeday> all sounds rather risky :)
- # [11:19] * Philip` wonders if it's sensible to be worried that JIT compiling won't exactly improve Mozilla's memory usage situation
- # [11:20] <mikeday> anyone remember that Java version of Netscape?
- # [11:20] <gsnedders> but the memory usage should go down in other parts by not having so much code, often reimplemented where OS libraries can be used
- # [11:25] <Philip`> http://wiki.mozilla.org/Grendel ?
- # [11:27] <mikeday> yeah, that's the one
- # [11:28] <mikeday> I guess some things do change
- # [11:28] <mikeday> no one in 1998 would have believed that the browser would be *implemented* in JavaScript
- # [11:28] <mikeday> and that Java would be used to implement *server* applications
- # [11:28] <mikeday> we're through the looking glass now :/
- # [11:29] <Philip`> Java doesn't seem to have the best track record of making desktop applications that aren't frustratingly slow and ugly
- # [11:30] <mikeday> indeed.
- # [11:31] <Philip`> (I think it's a really boring language but it seems to work well enough for other types of application)
- # [11:32] <mikeday> funny how Java is boring now
- # [11:32] <mikeday> when it was introduced it was hot! exciting! applets! coffee!
- # [11:32] <mikeday> first programming language with a major marketing campaign
- # [11:33] <mikeday> 'scuse me
- # [11:33] * mikeday is now known as mikeday|away
- # [11:35] <Philip`> C++ templates are 'interesting' and let you write compile-time Turing machines and parser generators and stuff; Java's generics look similar but merely add type restrictions and add zero extra power to the language, which is boring :-(
- # [11:36] <Philip`> I must admit I did make a web page with animated wobbling coloured text in a Java applet about ten years ago and thought it was great, though
- # [11:46] <mpt> Anyone remember Corel Office for Java?
- # [11:46] <mpt> That was awesome
- # [11:46] <mpt> Launch it, go make lunch, come back, and ooh, the splash screen's up already
- # [11:47] <Philip`> I think I managed to avoid ever hearing about it
- # [11:47] <Philip`> which was probably fortunate :-)
- # [11:51] <Philip`> http://www.somis.dundee.ac.uk/pub/corelindex.htm - I wonder if that version works
- # [11:51] <Philip`> (Don't have a Java-enabled browser to test with, though...)
- # [11:53] * Philip` installs one
- # [11:54] <Philip`> "Loading Java Applet Failed" - aha, that must be the "Write once, run anywhere" feature
- # [11:58] * Joins: maikmerten (n=maikmert@Lba47.l.pppool.de)
- # [11:59] <Philip`> http://www.acm.org/pubs/citations/journals/cacm/1999-42-10/p72-cusumano/ - oh, I didn't know Netscape even made their own Java VM
- # [12:20] * nickshanks_ is now known as nickshanks
- # [12:21] * mikeday|away is now known as mikeday
- # [12:24] * Joins: webben (i=benh@nat/yahoo/x-0e4e858810869da9)
- # [12:25] <mikeday> what does charStack[-1] mean in Python? last item in charStack?
- # [12:25] <Dashiva> yes
- # [12:26] <mikeday> thanks :)
- # [12:27] <Philip`> unless charStack is a dict, in which case it's the entry with key -1
- # [12:27] <Philip`> but a dict called charStack would not seem like a sensible idea
- # [12:28] <mikeday> it's a good test of a language in a way, how much of it can you understand if you don't know it
- # [12:29] <Philip`> By the way, I'd be quite interested in a fast (e.g. C(++)) version of html5lib since I've been complaining about how it takes ages to parse files in Python :-)
- # [12:30] <mikeday> does "be quite interested in" translate to "willing to help code a"? :)
- # [12:30] * Joins: hendry (n=hendry@82.153.198.82)
- # [12:31] <mikeday> just out of interest, how long does it take to parse files with html5lib?
- # [12:31] <Philip`> I have approximately no time for the next three weeks, but I should be freer after then, so then I'd probably be willing and able :-)
- # [12:32] * Joins: zcorpan (n=zcorpan@esk-ba-1-nomad.net.mdh.se)
- # [12:32] <mikeday> sounds good, as the task should take at least 3+n weeks
- # [12:33] <annevk> once you got something running it would be nice if you could host it online like on code.google.com or something
- # [12:33] <annevk> if I can find some time I'd be interested in learning some C and looking into it :)
- # [12:34] <mikeday> will do
- # [12:34] <mikeday> annevk, you read the whole file into a string, use regexp to do line conversion
- # [12:34] <mikeday> that's just cheating :)
- # [12:35] <mikeday> also, I think I found a typo: # Normalize new ipythonlines and null characters
- # [12:35] <mikeday> s/new ipythonlines/newlines/ ?
- # [12:35] <annevk> mikeday, htmlinputstream.py is not my job
- # [12:36] <Philip`> mikeday: For me parsing the HTML5 spec with html5lib, it takes 16 seconds normally, and 11 seconds with Pysco
- # [12:36] <annevk> jgraham, care to look at that?
- # [12:36] <Philip`> s/Pysco/Psyco/
- # [12:36] <annevk> I think in C it should take less than a second
- # [12:37] <mikeday> libxml2 HTML parser takes 0.3s
- # [12:37] <Philip`> Bonus points if it works as a chtml5lib module that you can plug in to Python to replace html5lib with zero effort :-)
- # [12:38] <annevk> mikeday, there you go :)
- # [12:38] <mikeday> the html5lib code is rather elegant
- # [12:38] <mikeday> it would be nice if it could be compiled efficiently rather than hand optimising it
- # [12:40] <mikeday> hmm, the inputstream has a queue of characters that have been read and then putback
- # [12:40] <mikeday> however, the queue will never have more than 1 character on it
- # [12:41] <annevk> sometimes it will
- # [12:41] <annevk> the way we use it anyway
- # [12:41] <mikeday> if charsUntil is called multiple times...
- # [12:42] <annevk> some code appends to the queue
- # [12:42] <annevk> if we're talking about the same thing
- # [12:42] <mikeday> oh, outside of inputstream
- # [12:42] <mikeday> and here's me thinking it was a private variable :)
- # [12:43] <annevk> searching for self.stream.queue in tokenizer.py should give you an idea
- # [12:43] <mikeday> yeah
- # [12:44] <mikeday> I was expecting some kind of putback method
- # [12:44] <zcorpan> annevk: i found out that you fail http://simon.html5.org/test/css/magic-body/overflow/004.htm too (updated the table)
- # [12:45] <mikeday> that's a clever test
- # [12:49] <mikeday> hmm, parsing is easier when you load the entire document into memory first
- # [12:49] <mikeday> but not every application is going to like that.
- # [12:50] <Philip`> Are you going to attempt to handle <script> and document.write, so the application can modify the input stream while it's being parsed?
- # [12:50] <mikeday> eventually.
- # [12:50] <mikeday> obviously full support would require a JavaScript interpreter
- # [12:51] <mikeday> but you could always start with a hack that just handles trivial document.write calls, for testing
- # [12:51] <zcorpan> spidermonkey
- # [12:51] <mikeday> not every app will care about JavaScript
- # [12:51] * mikeday nods
- # [12:51] <mikeday> just make it an optional dependency
- # [12:51] * Quits: webben (i=benh@nat/yahoo/x-0e4e858810869da9) (Read error: 110 (Connection timed out))
- # [12:51] <Philip`> The script interpreter could just be offloaded into the application that's using the HTML parser, with some way it can be notified of document modifications and then modify the input stream back again, rather than building any scripting into the parser library itself
- # [12:52] <mikeday> can <script> do DOM manipulation when the entire document is not yet loaded?
- # [12:53] <mikeday> (please say no)
- # [12:53] <zcorpan> yes
- # [12:53] <zcorpan> (sorry)
- # [12:53] <Lachy> if it couldn't, that would affect the ability to do incremental rendering
- # [12:53] <mikeday> oh dear :)
- # [12:53] <annevk> do you mean loaded or parsed?
- # [12:54] <mikeday> I mean parsed
- # [12:54] <zcorpan> still a yes
- # [12:54] <mikeday> ie. the document text has not yet finished loading
- # [12:54] <Philip`> You could just make it a parser for script-is-disabled UAs, since real web browsers are probably going to be writing their own new parsers anyway and not many other people need scripting inside HTML :-)
- # [12:54] <annevk> the moment </script> is emitted script is executed and affects the input stream
- # [12:54] <mikeday> what happens if it starts mucking about with the root element? is that well defined?
- # [12:54] <Lachy> unless there's a defer attribute
- # [12:55] <annevk> mikeday, I think everything should work ok...
- # [12:55] <mikeday> what if it writes out a <script> element, like a self-reproducing element?
- # [12:55] <annevk> although I'm not entirely sure what would happen if it just removed the entire tree...
- # [12:56] * zcorpan tested this before but can't remember what happens
- # [12:56] <mikeday> suicide scrips
- # [12:56] <mikeday> ts
- # [12:57] <zcorpan> iirc the rest of the element that was removed will not be inserted into the document, but i'll test it again
- # [12:57] <mikeday> so you could have a long page, then a script at the bottom that deletes all preceding content, then a second totally different page
- # [12:58] <Philip`> data:text/html,<script>function f(){document.write('<script>' + f + ' f()<'+'/script>Ha ')};f()</script>
- # [12:58] * Joins: webben (i=benh@nat/yahoo/x-b6e88d37d25727cb)
- # [12:58] <Philip`> In Firefox it's seemingly limited to 20 invocations
- # [12:59] <Philip`> In Opera it kind of loops forever
- # [12:59] <mikeday> lovely :)
- # [13:00] <Philip`> In IE6 it's limited to 4
- # [13:00] <Philip`> (or 5, depending on whether you count the initial one)
- # [13:00] * Philip` wonders if that counts as a DOS bug in Opera
- # [13:01] <annevk> it's not like we freeze
- # [13:01] <annevk> I'll file a bug anyway to be on the safe side
- # [13:02] <annevk> btw, it seems that Firefox on my machine does way more invocations...
- # [13:02] <Philip`> Ah, that's true
- # [13:02] <Philip`> though it still eats ~5MB of memory a second
- # [13:02] <zcorpan> firefox doesn't add the rest of the element. opera does (and it will end up at the parent node relative to if the script didn't run). ie7 shows aborts and shows an error page...
- # [13:02] <mikeday> eventually will trigger the OOM killer and potentially kill X-Windows
- # [13:03] <mikeday> anyway, it's a beautiful document, makes the billion laughs attack look tame by comparison
- # [13:04] <Philip`> I'm not sure if I'm looking at the wrong numbers but it doesn't seem like Opera is freeing the half a gigabyte it used up while I had that page open...
- # [13:04] <annevk> seems to be fixed in more recent versions of Opera
- # [13:04] <annevk> they show a single "Ha"
- # [13:04] <Philip`> Ah, Firefox 2 goes up to 100
- # [13:05] <Philip`> Actually, it goes down from 100
- # [13:05] <Philip`> (data:text/html,<script>var i=1;function f(){document.write('<script>' + f + ' f()<'+'/script> '+(i++))};f()</script>)
- # [13:06] <Philip`> (FF3 goes down from 21, IE6 goes down from 6)
- # [13:07] <Lachy> you don't need to write out ' + f + ' each time, just <script>f()</script> is sufficient
- # [13:07] <mikeday> what's the trigger for cutting off execution, would you need to track how many script blocks were created by the original script block?
- # [13:07] <mikeday> a bit like tracking recursion depth, but for script elements...
- # [13:07] <Philip`> Oh, that's true... This way is more quine-like, though :-)
- # [13:07] <zcorpan> http://simon.html5.org/test/html/parsing/dom-mutations/
- # [13:08] <mikeday> if you just blindly added the document.write text to the input stream,
- # [13:08] <mikeday> I don't see how you'd keep track of who created it
- # [13:08] <Lachy> this version loops 125 times in FF data:text/html,<script>var i=1;function f(){document.write(i++ + '<br><script>f()<\/script>')};f();</script>
- # [13:09] <Lachy> using the live DOM viewer, IE stops after 6
- # [13:09] <zcorpan> 21 times for me in firefox3
- # [13:10] <Lachy> I'm testing FF2
- # [13:12] <Philip`> (Opera doesn't like the \ in that address)
- # [13:12] <Lachy> well, try %-encoding it then
- # [13:13] * Philip` just used '+' instead
- # [13:14] * Quits: mpt (n=mpt@canonical/launchpad/mpt) ("This computer has gone to sleep")
- # [13:17] * Joins: zcorpan_ (n=zcorpan@esk-ba-1-nomad.net.mdh.se)
- # [13:18] <mikeday> hmm, be nice if C had coroutines, or python-style generators
- # [13:19] <mikeday> then if you run out of input halfway through parsing, you could just suspend and wait for more
- # [13:20] * Quits: ROBOd (n=robod@86.34.246.154) ("http://www.robodesign.ro")
- # [13:21] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [13:21] <Philip`> http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html - not exactly elegant, unfortunately, but that's what you get for using C
- # [13:22] <mikeday> hah, already reading that page
- # [13:22] <mikeday> cuter than setjmp/longjmp,
- # [13:22] <mikeday> but you can't use local variables, and only works for one single function
- # [13:23] <Philip`> Bah, who needs locals?
- # [13:23] <mikeday> gcc labels as values would also work nicely
- # [13:23] * Joins: zcorpan__ (n=zcorpan@84-216-42-41.sprayadsl.telenor.se)
- # [13:23] <mikeday> and allow the use of switch statements as well I suppose
- # [13:23] <mikeday> at the cost of making the code gcc-specific
- # [13:23] * Philip` doesn't like GCC-specific code
- # [13:23] <mikeday> right
- # [13:23] <mikeday> or just make the code block on read
- # [13:24] <mikeday> and let applications use multiple threads if they care so much
- # [13:24] <mikeday> or callback on read, so the application can handle it and abort
- # [13:24] <Philip`> (I'm not entirely sure why I don't like it, but I guess it's just because portable standard code seems nicer)
- # [13:24] <mikeday> that's what pretty much every other library does
- # [13:25] * Quits: webben (i=benh@nat/yahoo/x-b6e88d37d25727cb) (Client Quit)
- # [13:25] <mikeday> annoying for application developers, but "that's what you get for using C"! :)
- # [13:26] <Philip`> Could something similar to libpng work?
- # [13:26] <mikeday> libpng is callbacks
- # [13:26] <mikeday> you say read, it reads by calling your provided read function
- # [13:27] <mikeday> hmm, it uses setjmp/longjmp too
- # [13:27] <mikeday> but only for error handling
- # [13:27] <Philip`> Its setjmp/longjmp is a bit nasty when you want to use it in C++ :-(
- # [13:27] <mikeday> jpeglib uses callbacks, but I think has I/O suspension as well,
- # [13:27] * Joins: webben (i=benh@nat/yahoo/x-f99e3d18b7a50380)
- # [13:28] <mikeday> so you can pause a read and go and do something else
- # [13:28] <Philip`> Do HTML parsers need to abort and return errors?
- # [13:28] <mikeday> I think error handling shouldn't require setjmp hackery
- # [13:28] <mikeday> libpng is a bit exceptional in that regard (hah!)
- # [13:29] <mikeday> I was just hoping to avoid I/O callbacks if possible
- # [13:29] <mikeday> as it's not polite for a library to take over the main loop in that way
- # [13:30] * Quits: ddfreyne (n=ddfreyne@unaffiliated/ddfreyne) ("k lol plz thx bai")
- # [13:30] <mikeday> doesn't seem possible without some funky code though.
- # [13:30] * Quits: zcorpan (n=zcorpan@esk-ba-1-nomad.net.mdh.se) (Read error: 110 (Connection timed out))
- # [13:32] <Philip`> Hmm, you'd want something more like "while (some external loop getting data from the network) { parser->heres_some_more_data(buf, size); while (! parser->needs_more_data() && ! ui_needs_to_be_more_responsive()) parser->do_some_parsing(); if (is_finished()) hooray(); }" ?
- # [13:32] * Quits: webben (i=benh@nat/yahoo/x-f99e3d18b7a50380) (Client Quit)
- # [13:32] <mikeday> right, something like that
- # [13:32] <mikeday> although I probably wouldn't update the UI in the same thread
- # [13:33] * zcorpan__ is now known as zcorpan
- # [13:33] <mikeday> parser.open(), parser.write(), write, write, parser.close()
- # [13:34] <mikeday> requires the parser to be able to suspend itself rather carefully when it runs out of data though
- # [13:34] <mikeday> which complicates the parser code
- # [13:34] <mikeday> just as demonstrated on that coroutines page
- # [13:35] <Philip`> Could it be useful to copy libxml2's interface, so the HTML5 parser could just fit in as a new input source there and users use libxml2 like they normally do?
- # [13:35] <mikeday> I would rather not to be honest, as libxml2 doesn't need to be any bigger
- # [13:35] <mikeday> or any more complex
- # [13:36] <mikeday> two different SAX interfaces, a DOM interface, the reader interface, etc.
- # [13:36] * Philip` has never actually used libxml2
- # [13:36] <mikeday> and too many XML-specific assumptions, which make the current libxml2 HTML parser fit rather awkwardly
- # [13:36] <Philip`> though I have used Xerces-C, so I know what giant over-engineered XML libraries feel like
- # [13:36] <mikeday> it's great for what it does, but it's grown by accretion and now it can't throw anything away
- # [13:36] <mikeday> for example, I'd much rather that it didn't have its own HTTP implementation
- # [13:37] <mikeday> and just provided stubs for interfacing with curl, or whatever
- # [13:37] <Philip`> Okay, that sounds like convincing reasons to stay away from it :-)
- # [13:37] <mikeday> there is some good code in there for specific tasks though, that's worth learning from
- # [13:38] <mikeday> but a HTML specific library could be slightly simpler, as well as implementing more of HTML.
- # [13:38] <mikeday> oh well, I'll have to stop procrastinating and get some of the ugly code written
- # [13:39] <mikeday> once you accept that it's going to be ugly, and stop trying to make it elegant, you get it done quicker.
- # [13:43] <Philip`> (Hmm, Xerces is a third of a million lines, and the .dll has half a megabyte just for the exported symbol names... All I wanted was a simple plain XML parser)
- # [13:45] <mikeday> libxml2 is < 200k lines of source
- # [13:45] <mikeday> about 220k including headers
- # [13:46] <mikeday> includes a fair bit of stuff though, XPath, some XSD schema and RELAX NG, etc.
- # [13:47] <mikeday> and HTML and DocBook parsers :/
- # [13:48] * Quits: zcorpan_ (n=zcorpan@esk-ba-1-nomad.net.mdh.se) (Read error: 110 (Connection timed out))
- # [13:49] <Philip`> Maybe I should use TinyXml, since that's only six thousand lines...
- # [13:50] <mikeday> actually, libxml2 also can be configured to be smaller, eg. --without-xpath, --without-schemas
- # [13:50] <mikeday> handy when you need a small footprint
- # [13:50] <mikeday> (I quite like libxml2, generally speaking :)
- # [13:55] <Philip`> I think the project I'm working on actually has three XML parsers already, since it uses a couple of external libraries that come with expat and libxml2. Plus there's a XML-converted-to-some-fast-binary-format loader, since XML parsing was too slow. Actually there's two of those (since I wanted to load some game's different binary XML format too), and also two separate XML writers. But it all works, which is enough to keep me happy
- # [13:56] <mikeday> heh
- # [13:56] <mikeday> we end up linking to expat indirectly as well, because fontconfig uses it
- # [13:57] <mikeday> feels a bit strange using two different parsers, but memory is cheap.
- # [13:57] <mikeday> anyway, must go
- # [13:57] * mikeday waves
- # [13:57] <Philip`> Bye :-)
- # [13:57] * Quits: mikeday (n=mikeday@CPE-60-224-50-129.vic.bigpond.net.au) ("-")
- # [14:05] * Joins: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca)
- # [14:11] * Joins: jdandrea (n=jdandrea@ool-44c0a58f.dyn.optonline.net)
- # [14:32] * Joins: webben (i=benh@nat/yahoo/x-6916bb5bdef29a01)
- # [14:59] * Joins: ROBOd (n=robod@86.34.246.154)
- # [15:07] * Quits: webben (i=benh@nat/yahoo/x-6916bb5bdef29a01) (Client Quit)
- # [15:32] * Quits: zcorpan (n=zcorpan@84-216-42-41.sprayadsl.telenor.se) (Read error: 110 (Connection timed out))
- # [15:33] <annevk> Hixie, postMessage() is not the only member of Document with relaxed settings: open(), write(), writeln(), close(), location have that too
- # [15:34] <annevk> Hixie, as such, moving postMessage() doesn't make much sense to us
- # [15:37] * Joins: jdandrea_ (n=jdandrea@ool-44c0a1fe.dyn.optonline.net)
- # [15:38] * Joins: weinig (n=weinig@c-24-7-121-96.hsd1.ca.comcast.net)
- # [15:39] * Joins: jcgregorio (n=chatzill@adsl-072-148-043-048.sip.rmo.bellsouth.net)
- # [15:40] * Joins: met_ (n=Hassman@b14-4.vscht.cz)
- # [15:55] * Quits: jdandrea (n=jdandrea@ool-44c0a58f.dyn.optonline.net) (Read error: 110 (Connection timed out))
- # [16:10] * Joins: h3h (n=w3rd@cpe-66-75-149-197.san.res.rr.com)
- # [16:11] * Quits: h3h (n=w3rd@cpe-66-75-149-197.san.res.rr.com) (Client Quit)
- # [16:27] * Quits: weinig (n=weinig@c-24-7-121-96.hsd1.ca.comcast.net)
- # [16:30] * Quits: mpt (n=mpt@canonical/launchpad/mpt) ("This computer has gone to sleep")
- # [16:44] * Joins: billmason (n=billmaso@ip156.unival.com)
- # [16:44] * Parts: billmason (n=billmaso@ip156.unival.com)
- # [16:50] * Joins: jdandrea (n=jdandrea@ool-44c0a58f.dyn.optonline.net)
- # [16:52] * Joins: hasather (n=hasather@81-235-209-174-no62.tbcn.telia.com)
- # [17:01] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [17:03] * Quits: jdandrea_ (n=jdandrea@ool-44c0a1fe.dyn.optonline.net) (Read error: 110 (Connection timed out))
- # [17:06] * Quits: MikeSmith (n=MikeSmit@139.100.140.34) ("Get thee behind me, satan.")
- # [17:06] * Quits: syp (n=syp@photpc17.epfl.ch) (Read error: 104 (Connection reset by peer))
- # [17:06] * Joins: syp (n=syp@photpc17.epfl.ch)
- # [17:14] * Quits: YaaL (i=yaal@hell.pl) (Remote closed the connection)
- # [17:15] * om_sleep is now known as othermaciej
- # [17:35] * Quits: KevinMarks (n=Snak@pdpc/supporter/active/kevinmarks) ("bye")
- # [17:44] * Joins: theoros (n=theoros@ACC8D244.ipt.aol.com)
- # [17:57] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [18:03] * Joins: YaaL (i=yaal@hell.pl)
- # [18:05] * Joins: zcorpan (n=zcorpan@84-216-41-242.sprayadsl.telenor.se)
- # [18:08] * Joins: dbaron (n=dbaron@c-71-198-189-81.hsd1.ca.comcast.net)
- # [18:19] * Quits: met_ (n=Hassman@b14-4.vscht.cz) ("Chemists never die, they just stop reacting.")
- # [18:21] * Quits: hendry (n=hendry@82.153.198.82) ("out")
- # [18:22] * Joins: aroben (n=adamrobe@17.203.15.208)
- # [18:49] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [18:51] * Quits: BenWard (i=BenWard@nat/yahoo/x-2b3c72e144d92d42)
- # [18:52] * Joins: KevinMarks (i=KevinMar@nat/google/x-4f257f1062098948)
- # [18:57] * Joins: csarven- (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca)
- # [19:00] * Quits: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca) (Read error: 110 (Connection timed out))
- # [19:08] * Quits: hasather (n=hasather@81-235-209-174-no62.tbcn.telia.com) (Read error: 110 (Connection timed out))
- # [19:09] * Joins: othermaciej (i=mjs@nat/apple/x-339a92b0dff40a07)
- # [19:13] * Joins: tantek (n=tantek@corp.technorati.com)
- # [19:15] * Quits: csarven- (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca) (Read error: 104 (Connection reset by peer))
- # [19:30] * Joins: ddfreyne (n=ddfreyne@d51A5CE12.access.telenet.be)
- # [19:31] * Joins: JonT (n=10hahaha@ti221110a080-10885.bb.online.no)
- # [19:42] * Joins: jruderman (n=jruderma@c-67-169-183-228.hsd1.ca.comcast.net)
- # [19:49] * Joins: psa (n=yomode@posom.com)
- # [19:56] * Joins: kingryan (n=kingryan@corp.technorati.com)
- # [19:57] * Joins: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca)
- # [20:13] * Quits: dbaron (n=dbaron@c-71-198-189-81.hsd1.ca.comcast.net) ("8403864 bytes have been tenured, next gc will be global.")
- # [20:17] * Quits: aroben (n=adamrobe@17.203.15.208)
- # [20:28] * Parts: theoros (n=theoros@ACC8D244.ipt.aol.com) ("Leaving")
- # [20:33] * Joins: dbaron (n=dbaron@corp-242.mountainview.mozilla.com)
- # [20:33] * Quits: ianloic (n=ian@71.5.56.162.ptr.us.xo.net) ("Leaving")
- # [20:39] * annevk ponders about the text/xsl discussion
- # [20:43] <JonT> ponders?
- # [20:44] <ddfreyne> v., -dered, -der·ing, -ders. To weigh in the mind with thoroughness and care.
- # [20:44] <ddfreyne> but "/me weighs in the mind with thoroughness and care" sounds so much cooler than "/me ponders"
- # [20:45] <JonT> thanks ddfreyne
- # [20:46] <Philip`> "ponder, n. Obs. 1. A weight; spec. one used with a scale or balance. Hence in extended use: anything weighty, esp. a weighty attack or blow."
- # [20:52] * nickshanks ponders Philip around the lug 'ole ;-)
- # [21:00] * Quits: virtuelv (n=virtuelv@pat-tdc.opera.com) ("Leaving")
- # [21:06] <annevk> lol
- # [21:06] * Quits: ROBOd (n=robod@86.34.246.154) ("http://www.robodesign.ro")
- # [21:08] <annevk> Hixie, see a bit further up btw about postMessage()
- # [21:10] <Hixie> as far as i can tell you are wrong
- # [21:10] <Hixie> you can't document.write() to another domain
- # [21:10] <Hixie> that would be all kinds of dangerous
- # [21:12] <annevk> They have a different policy from some of the other members, anyway
- # [21:15] <Hixie> not in, e.g., safari, at least
- # [21:17] * Quits: dbaron (n=dbaron@corp-242.mountainview.mozilla.com) ("8403864 bytes have been tenured, next gc will be global.")
- # [21:17] <annevk> even document.location?
- # [21:18] * Joins: met_ (n=Hassman@r5bx220.net.upc.cz)
- # [21:20] <Hixie> yup
- # [21:20] <Hixie> (you can get to it via window.location)
- # [21:23] * Joins: tantek_ (n=tantek@corp.technorati.com)
- # [21:24] * Quits: maikmerten (n=maikmert@Lba47.l.pppool.de) ("Leaving")
- # [21:24] <annevk> so contentDocument.location throws but contentWindow.location doesn't?
- # [21:24] <Hixie> yah
- # [21:24] <Hixie> i believe so
- # [21:24] <Hixie> test it
- # [21:24] <Hixie> actually it's contentDocument that throws
- # [21:24] <Hixie> not contentDocument.location
- # [21:24] * Quits: tantek (n=tantek@corp.technorati.com) (Read error: 104 (Connection reset by peer))
- # [21:26] <Hixie> bbiab, work
- # [21:26] <annevk> I get an exception for both contentDocument.location and contentWindow.location ...
- # [21:26] <Hixie> ah maybe "location" isn't one of the safe ones; try history
- # [21:26] <Hixie> anyway
- # [21:27] <Hixie> really. on. my. way. to. work. really.
- # [21:28] <annevk> contentDocument doesn't throw in Opera
- # [21:28] <annevk> or Firefox
- # [21:28] * tantek_ is now known as tantek
- # [21:28] <annevk> tested using
- # [21:28] <annevk> data:text/html,<iframe src=http://www.google.com></iframe>x<script> alert(document.getElementsByTagName('iframe')[0].contentDocument) </script>
- # [21:34] * Quits: jruderman (n=jruderma@c-67-169-183-228.hsd1.ca.comcast.net)
- # [21:41] * Quits: Lachy (n=Lachlan@203-217-95-91.dyn.iinet.net.au) (Read error: 54 (Connection reset by peer))
- # [21:43] * Joins: Lachy (n=Lachlan@203-217-95-91.dyn.iinet.net.au)
- # [21:44] * Quits: KevinMarks (i=KevinMar@nat/google/x-4f257f1062098948) ("The computer fell asleep")
- # [21:45] * Quits: annevk (n=annevk@pat-tdc.opera.com) (Read error: 60 (Operation timed out))
- # [21:55] * Joins: ianloic (n=ian@71.5.56.162.ptr.us.xo.net)
- # [22:04] * Joins: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
- # [22:06] * Joins: dbaron (n=dbaron@corp-242.mountainview.mozilla.com)
- # [22:09] * Quits: jdandrea (n=jdandrea@ool-44c0a58f.dyn.optonline.net)
- # [22:14] * Joins: jdandrea (n=jdandrea@ool-44c0a58f.dyn.optonline.net)
- # [22:29] * Quits: ddfreyne (n=ddfreyne@unaffiliated/ddfreyne) ("k lol plz thx bai")
- # [22:41] * Joins: zcorpan_ (n=zcorpan@84-216-41-242.sprayadsl.telenor.se)
- # [22:41] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [22:55] * Quits: zcorpan (n=zcorpan@84-216-41-242.sprayadsl.telenor.se) (Read error: 110 (Connection timed out))
- # [23:00] * Quits: kingryan (n=kingryan@corp.technorati.com) (Remote closed the connection)
- # [23:01] * Joins: kingryan (n=kingryan@corp.technorati.com)
- # [23:03] <Hixie> Jeffrey Zeldman follows the WHATWG twitter feed
- # [23:04] * Joins: hasather (n=hasather@81-235-209-174-no62.tbcn.telia.com)
- # [23:04] <hasather> http://jeremiahgrossman.blogspot.com/2007/05/html-5-in-works.html
- # [23:05] * Quits: dbaron (n=dbaron@corp-242.mountainview.mozilla.com) ("8403864 bytes have been tenured, next gc will be global.")
- # [23:07] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (Read error: 110 (Connection timed out))
- # [23:11] <Hixie> right!
- # [23:11] <Hixie> lunch is eaten, e-mail is looked at, though not read
- # [23:11] <Hixie> time to do some editing!
- # [23:11] <zcorpan_> have fun :)
- # [23:17] * Parts: JonT (n=10hahaha@ti221110a080-10885.bb.online.no)
- # [23:28] * Quits: met_ (n=Hassman@r5bx220.net.upc.cz) ("Chemists never die, they just stop reacting.")
- # [23:30] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [23:35] * Joins: dbaron (n=dbaron@corp-242.mountainview.mozilla.com)
- # [23:36] * Quits: kingryan (n=kingryan@corp.technorati.com) (Remote closed the connection)
- # [23:37] * Quits: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
- # [23:37] * Joins: kingryan (n=kingryan@corp.technorati.com)
- # [23:43] * Joins: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
- # [23:43] * Joins: KevinMarks (n=KevinMar@207.47.11.9.static.nextweb.net)
- # Session Close: Tue May 15 00:00:00 2007
The end :)