00:00
<a-ja>
speaking of w3c validator....think its handling of script documentation comments is fubar
00:27
<Hixie>
well, i've found where my e-mail is going
00:27
<Hixie>
some sort of spam filter is moving them into a spam folder
00:27
<Hixie>
but none of my spam filters are configured to move spam there
00:27
<Hixie>
so... wtf
00:27
<Philip`>
A spam filter moving spam to a spam folder? That's crazy
00:32
<Dashiva>
Philip`: The crazy part is that some of the mail makes it through
00:33
<othermaciej>
yeah I don't care that much about what you call a "resource" - in WebKit internals we don't really draw any distinction between the resource and the resource representation (for example you use a ResourceHandle to talk to a resource, and cache the result as a CachedResource)
00:33
<TabAtkins>
Yeah, they'll have to fix that.
00:33
<TabAtkins>
Hixie shouldn't be receiving any email.
00:33
<othermaciej>
I only got involved because it makes me worry that we'll be buried in word choice bikesheds
00:33
<TabAtkins>
You worry?
00:33
<Hixie>
it tells you how much e-mail i receive that about 1500 e-mails got filtered to a spam folder over a period of about a month, 6 weeks, and it took me that long to notice
00:33
TabAtkins
thought we were already there.
00:34
<othermaciej>
well, ones that are tied to an ISSUE and therefore require the WG and particularly the chairs to expend some effort to resolve
00:34
<TabAtkins>
Ah, makes sense. Yes, those are worrying.
00:51
<TabAtkins>
Hixie, can I talk privately for a sec?
03:02
<boblet>
I want to display a code sample to copy & paste in something like a form textarea. Given it’s not going to be submitted, is using textarea wrong?
03:08
<Hixie>
whether it's submitted or not doesn't really matter
03:11
<othermaciej>
<textarea> will have the helpful effect that Select All will select only its contents
03:11
<othermaciej>
dunno if other ways of making a scrollable area do that
03:11
<othermaciej>
(I guess an iframe does but that requires either an external resource or script to fill)
04:23
<boblet>
Hixie, othermaciej: thanks!
08:12
<annevk42>
Hixie, you should read my specs more, a bunch of that "other stuff" on the wiki is covered by CSSOM View
08:12
<Hixie>
cool
08:12
<Hixie>
i just pasted it in without really looking to be honest
08:12
<Hixie>
it comes from the XXX markers at the bottom of html5
08:13
<Hixie>
most were written in the WF2 days
08:17
<annevk42>
ah yeah, I remember reading that
08:26
<Hixie>
http://pimpmyspec.net/ seems to be down
08:26
<Hixie>
that's gonna put a crimp in my style
08:32
<annevk42>
whoa, bug count went up to twenty from minus one?
08:32
<annevk42>
pretty sure I didn't file twenty bugs
08:35
<Hixie>
-1?
08:36
<annevk42>
your issue tracker page displayed that
08:36
<annevk42>
I think because the bug column was empty
08:38
<Hixie>
oh right, it'll show that when bugzilla is down, which it was
08:42
<Hixie>
jgraham!
08:42
<Hixie>
http://pimpmyspec.net/ is down
08:43
<Hixie>
oh it works now
08:43
<Hixie>
never mind!
08:53
<annevk42>
Hixie, where you talk about the default action of the event you should not use "must" at all
08:53
<annevk42>
Hixie, the algorithm is already required to be followed
08:54
<hsivonen>
we have quite a few WONTFIX bugs in the W3C bugzilla. those are all potential escalation material :-(
08:54
<hsivonen>
I hope the chairs won't make the WG debate 96 escalated ISSUEs
08:55
<annevk42>
hsivonen, looking forward to TPAC already
09:15
<jgraham>
Hixie: Yeah it seems that the server died or something
09:15
<Hixie>
annevk2: it is?
09:28
<annevk2>
Hixie, yeah, from other parts in the spec
09:41
<zcorpan_>
hmm... window.window=1;alert(window.window) // [object Window] in opera, webkit and firefox
09:41
<zcorpan_>
window.self=1;alert(window.self) // 1 in webkit and firefox, [object Window] in opera
09:41
<zcorpan_>
html5 just says readonly attribute
09:42
<zcorpan_>
so i guess according to html5, both should throw on setting?
09:42
<zcorpan_>
what happens in ie?
09:44
<zcorpan_>
and what should happen in a WorkerGlobalScope when setting self.self ?
09:46
Philip`
thought readonly was just ignored on setting
09:46
<Philip`>
(rather than throwing)
09:46
<zcorpan_>
"It is language binding specific whether assignment is simply disallowed by the language, ignored or an exception is thrown."
09:47
<Philip`>
Where is the language binding specified?
09:49
<zcorpan_>
"If the attribute is declared readonly, the property has attributes { DontDelete, ReadOnly }. Otherwise, the property has attributes { DontDelete }."
09:50
<zcorpan_>
ReadOnly in javascript means nothing happens on setting, right?
09:50
<zcorpan_>
i guess firefox and webkit have [Replacable] for window.self
09:51
Philip`
tries to look at ES5, but can't work out what it's saying
09:52
<Philip`>
*That* is a spec designed solely for implementors, not users
09:52
<zcorpan_>
"when the ReadOnly attribute for a property is set to true, any attempt by executed
09:52
<zcorpan_>
ECMAScript code tochange the value of thepropertyhas noeffect." says ecma262
09:52
<zcorpan_>
though that might be non-normative...
09:53
<Philip`>
ES5 says "any attempt by executed ECMAScript code to change the value of the property fails", which is less helpful because I don't know what "fails" means
09:53
<Philip`>
(Also it probably varies in strict mode, whatever that is)
09:54
<hsivonen>
what's the purpose of the ES5 "strict mode"?
09:54
<Philip`>
Helping programmers write code with fewer bugs?
09:54
<Philip`>
like a lint tool but at runtime
09:54
<hsivonen>
is the non-strict mode of ES5 compatible with existing ES3 scripts?
09:54
<zcorpan_>
"The property is a read-only property. Attempts by ECMAScript code to write to
09:54
<zcorpan_>
the property will be ignored." ... "An i mpl ement at i on of ECMAScr i pt must behave as i f i t pr oduced and
09:54
<zcorpan_>
oper at ed upon i nt er nal pr oper t i es i n t he manner descr i bed her e." ...is probably the normative part
09:55
<jgraham>
In ES5 [[Put]] can either throw or not throw
09:55
<Philip`>
Yay PDF copy-and-paste
09:55
<zcorpan_>
Philip`: yeah
09:55
<jgraham>
IIRC it is called with throw=false for the normal case of property setting
09:55
<hsivonen>
Philip`: If I have an ES3 browser and I say "use strict" and write non-strict code, will my code run on the ES3 browser but fail in an ES5 browser?
09:55
<hsivonen>
or will the ES5 browser just warn to console or something?
09:56
<zcorpan_>
hsivonen: it will fail
09:56
<zcorpan_>
hsivonen: some things throw in strict mode
09:56
<zcorpan_>
hsivonen: like arguments.caller
09:56
<hsivonen>
zcorpan_: but won't fail in ES3?
09:56
<zcorpan_>
right
09:57
Philip`
uses JSOPTION_STRICT when embedding SpiderMonkey in non-web things, because it helps detect some bugs
09:57
<hsivonen>
seems like a disaster if people start using "use strict" as a shiny thing before upgrading to an ES5 browser
09:57
<Philip`>
(but I think that option only results in warnings, never changes to behaviour)
09:57
<zcorpan_>
hsivonen: indeed
09:57
<jgraham>
It seems to very with strict mode
09:58
<jgraham>
See the PutValue algorithm for the normative description
09:58
<zcorpan_>
hsivonen: although apparently "use strict" allows for some optimizations
09:58
<hsivonen>
zcorpan_: ok. that makes more sense
09:59
<jgraham>
hsivonen: ES5 is not absolutely backwards compatible with ES3
09:59
<jgraham>
even in non-strict mode
09:59
<hsivonen>
jgraham: are browsers expected to ship only an ES5 engine or to sniff between ES3 and ES5 behavior somehow?
10:00
<Hixie>
zcorpan_: if i need to add [Replaceable] to 'self' let me know
10:00
<jgraham>
Ship only an ES5 engine
10:00
<hsivonen>
jgraham: I see
10:00
<jgraham>
(the differences are things like regexp literals evaluating to different objects rather than always the same object)
10:01
<jgraham>
(which would can observe through the lastIndex property)
10:01
<zcorpan_>
http://www.google.com/codesearch?q=self+lang%3Ajs&hl=en&btnG=Search+Code
10:01
<zcorpan_>
hmm, first hit has var self = arguments.callee :(
10:01
<jgraham>
s/would/you/
10:03
<zcorpan_>
hmm but that works in opera
10:03
<jgraham>
AFAICT the main motivators for strict mode are 1) a desire to make more substantial language cleanups then you can make without breaking backward compatibility b) a desire to have a language better suited to Caja and other such security subsets 3) Maybe some potential for optimization
10:03
<jgraham>
s/b/2
10:04
<Philip`>
Does ES5 not have any of the new keywords that JS1.n (n >= 6) added?
10:04
<jgraham>
iirc it hasn't added any new keywords yet
10:04
<jgraham>
They keep talking about it for ES6 though
10:05
<zcorpan_>
what's the plan to not break compat in ES6?
10:06
<jgraham>
Well theoretically most of the new keywords are future reserved words. But I don't know if they are in the intersection of the future reserved words that are actually reserved by all browsers
10:06
<jgraham>
Or even in the union
10:06
<zcorpan_>
yield isn't a reserved word in browsers, right?
10:07
<Philip`>
'let' and 'yield' aren't listed as future reserved words in ES5
10:07
<Philip`>
(at least the draft I'm looking at)
10:07
<Philip`>
but it says "The identifiers ‗let‘, and ‗yield‘ may be used in a future version of this standard.
10:07
<Philip`>
"
10:07
<jgraham>
Oh. Well that shows how useful that list was
10:08
<hsivonen>
Philip`: are those used in anything but Firefox chrome?
10:08
<jgraham>
(I only remember enough about the list of future reserved words to remember that it is basically fiction)
10:09
<jgraham>
Oh, let and yield are future reserved words in strict mode only
10:09
<jgraham>
]and they seem to have cut down the list in non-strict mode since I last checked
10:09
<Philip`>
hsivonen: http://canvex.lazyilluminati.com/3dmodel/example0.html uses 'yield'
10:10
<Philip`>
Doubt it's used much in real content, though
10:10
<hsivonen>
Philip`: are they supported by engines other than SpiderMonkey?
10:11
<Philip`>
hsivonen: No, as far as I'm aware
10:14
<zcorpan_>
are TC39 aware of the Web EcmaScript wiki page?
10:14
<Philip`>
http://www.kpmg.de/Themen/7771.htm is the only page I see with version=1.[6789] in <script type>
10:14
<jgraham>
zcorpan_: Not as far as I'm aware
10:15
<zcorpan_>
maybe someone should bring their attention to it, or at least to the issues it tries to cover
10:17
jgraham
cannot imagine anything good soming of it
10:17
<jgraham>
*coming
10:17
<hsivonen>
Philip`: and it seems to use it only for the purpose of recording the version recognized by the browser for tracking purposes
10:18
<zcorpan_>
Philip`: that page just checks that version is not 1.0 or 1.1
10:21
<Philip`>
Indeed
10:24
<annevk2>
Hixie, I also filed another bug about fallback and online whitelist namespace being matched by something more complicated than just a prefix match
10:24
<hsivonen>
are ES5 browsers supposed to modify behavior on version=1.1 or version=1.2, etc.?
10:25
<hsivonen>
what about e4x=1?
10:25
<zcorpan_>
hsivonen: i would guess that opera will modify behavior of version=1.1 and not support e4x
10:27
<hsivonen>
zcorpan_: I see. Does ES5 specify what the delta is when version=1.1 is specified?
10:28
<zcorpan_>
don't know
10:28
<zcorpan_>
but i doubt it :)
10:28
<zcorpan_>
it probably says what the delta is compared to ecma262
10:28
<jgraham>
ES5 says nothing about any of this
10:29
<hsivonen>
jgraham: is there a spec that specifies this part of the interoperable platform?
10:30
<jgraham>
hsivonen: Not unless HTML5 says something about it
10:31
<hsivonen>
hmmkay
10:31
<jgraham>
In general ES5 is silent about how scripts are loaded
10:31
<hsivonen>
is version=1.1 truly version 1.1 or the latest plus a specific delta?
10:31
<Philip`>
I didn't think any current browsers (except Firefox for versions >= 1.6) changed behaviour on version at all
10:32
<zcorpan_>
in opera version=1.1 is the same as version=1.5, i think
10:33
<Philip`>
See https://bugzilla.mozilla.org/attachment.cgi?id=167555 and/or http://philip.html5.org/demos/js/jstype.html
10:33
<Philip`>
Oh, don't bother with the latter one, it doesn't show old version numbers
10:35
Philip`
tweaks
10:35
<Philip`>
Now it does
10:49
<Hixie>
annevk2: what does http://www.w3.org/Bugs/Public/show_bug.cgi?id=7760 mean?
10:51
<annevk2>
Hixie, the summary table suggests error is the last event you get while after that noupdate is dispatched
10:51
<annevk2>
though I later realized that maybe noupdate was not dispatched to the same place as where error was dispatched, but did not check
10:52
<annevk2>
I also think it would be helpful to have separate event summaries for different scenarios
10:52
<zcorpan_>
which is right? regexp matches string, or string matches regexp?
10:52
<Hixie>
right, it either sends noupdate or error
10:53
<Hixie>
trying to describe summaries for different scenarios is reallllly hard
10:53
<Hixie>
because there's a bazillion different scenarios
10:53
<Philip`>
zcorpan_: Depends what your favourite programming language does
10:53
<Hixie>
i had that problem with drag and drop too
10:53
<annevk2>
the multi-window scenario is most interesting I suppose; where the other window is doing the update but you're receiving events too, but less
10:54
<Philip`>
$str =~ /regexp/ vs regexp.match(str) etc
10:54
<Philip`>
zcorpan_: (I don't think it matters much in practice since it's unambiguous either way)
10:55
<annevk2>
because if you split those it is more clear why noupdate can come directly after checking without downloading
10:55
<Hixie>
annevk2: sounds like something lachy should document in his doc
10:56
<annevk2>
devil's advocate, but shouldn't the authoring details be just as clear as the impl details?
10:56
<zcorpan_>
Philip`: yeah. i guess different people have different mental models
10:58
<annevk2>
in general it seems that event details are not very author friendly
10:59
<annevk2>
e.g. dispatching of online and offline events is impl-protected
10:59
<zcorpan_>
i think all elements and objects should have an author box saying which events are fired and when
11:00
<zcorpan_>
video has it
11:00
<zcorpan_>
but other things don't
11:01
<Hixie>
annevk2: every time i've written detailed information for the author side that is just informative, i've regretted it. So I'd really rather not include any tutorial-like stuff in the spec until at least mid-CR.
11:02
<annevk2>
if you want to do it eventually then it works for me
11:02
<annevk2>
i agree that such authoring fluff is annoying; I haven't done it for XHR either
11:03
<annevk2>
though I have to say that appcache is a bitch to review
11:04
<annevk2>
Hixie, is it too late to change names of appcache events?
11:06
<Hixie>
why would we change the names?
11:07
<Hixie>
for http://www.w3.org/Bugs/Public/show_bug.cgi?id=7769 btw do you mean align on deletion, or on making the content attribute text be updated when the IDL attribute is updated?
11:07
<annevk2>
make the content attribute updated; because otherwise deletion wouldn't work
11:08
<Hixie>
what should it be set to if the event handler is set to a java method?
11:08
<annevk2>
so with cached it's clear it ends a phase; but obsolete doesn't match that; it would have to be obsoleted, notupdated, etc.
11:09
<annevk2>
Hixie, I'm fine with restricting this to ECMAScript
11:09
<annevk2>
in fact, I'd be fine with not exposing on* in any other scripting language
11:09
<Hixie>
annevk2: file a bug, i guess. i dunno who has implemented the events.
11:10
<Hixie>
annevk2: so what should onfoo="" be set to if onfoo is set to function () { } ?
11:10
<annevk2>
every function has a toString() no?
11:11
jgraham
notes that function.toString() can be overridden
11:12
<Hixie>
annevk2: so what if toString() throws an exception?
11:12
<zcorpan_>
annevk2: lunch
11:13
<annevk2>
Hixie, not sure :/
11:13
<annevk2>
Hixie, if you want me to figure it out more I can have a look
11:13
<Hixie>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/249 suggests your description of firefox is wrong
11:14
<annevk2>
zcorpan_, you got it
11:14
<annevk2>
Hixie, yeah, I couldn't reproduce what hallvord told me either; I'll look into it some more and update the bug report
11:14
<annevk2>
back in a bit
11:27
<othermaciej>
does anyone here know PHP?
11:27
<othermaciej>
(and would forgive me for asking a dumb question?)
11:27
hsivonen
used to know PHP but has avoided it for the last 5 or so years
11:28
<othermaciej>
how do you get the HTTP request body?
11:28
<othermaciej>
the script I am trying to modify gets the request method thus: $_SERVER['REQUEST_METHOD']
11:29
<hsivonen>
I don't know/recall. I always used facilities that didn't require me to access the request body directly and parsed it for me.
11:31
<Hixie>
the request body in CGI scripts is text on stdin
11:31
<Hixie>
dunno how that helps in php
11:32
<othermaciej>
I could get it if I could read stdin I guess
11:33
<Philip`>
I don't think PHP typically runs as CGI
11:34
<Philip`>
since it uses mod_php instead
11:34
<jgraham>
$request_body = @file_get_contents('php://input'); according to google
11:35
<jgraham>
or maybe http_get_request_body() if you have the right extension module installed
11:35
<Philip`>
http://www.daniweb.com/code/snippet216846.html does that
11:36
hsivonen
is amused by the IANA-incompliant URI used to address an HTTP *request* body
11:36
<Philip`>
I guess it's conceptually equivalent to reading STDIN
11:36
<Philip`>
rather than being intended for HTTP request bodies in particular
11:37
<hsivonen>
Philip`: sure but still
11:37
hsivonen
is easily amused
11:37
<Philip`>
Oh, I guess wrong
11:37
<Philip`>
php://stdin is for stdin
11:38
<Philip`>
'php://input allows you to read raw POST data. It is a less memory intensive alternative to $HTTP_RAW_POST_DATA and does not need any special php.ini directives. php://input is not available with enctype="multipart/form-data".'
11:38
<Philip`>
I guess you could use $HTTP_RAW_POST_DATA, then
11:38
<Philip`>
Oh, except for the php.ini stuff
11:38
<othermaciej>
I want the raw post data and I don't care about memory, this is for a regression test
11:39
<Philip`>
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com";);
11:39
<Philip`>
That looks fun
11:41
<Dashiva>
I never understood why PHP was so restrictive about raw post data on regular form submits
11:41
<Philip`>
Maybe because PHP itself automatically reads all the data and outputs it to files, and then the raw post data is no longer available because it's all been read
11:42
<Philip`>
(and they don't want to buffer all the megabytes of file uploads just in case somebody might want to access the post data again later)
11:42
<othermaciej>
none one php://input, php:/stdin or $HTTP_RAW_POST_DATA seems to work
11:43
<othermaciej>
(reading stdin hangs, other two seem to get nothing)
11:43
<othermaciej>
tcpdump confirms I an indeed sending an http body
11:43
<Philip`>
What content-type are you sending?
11:44
<othermaciej>
ah, I seem to be dropping the request Content-Type
11:45
<othermaciej>
that's probably my bug
12:02
<othermaciej>
OK, I'm now sending Content-Type: application/x-www-form-urlencoded
12:02
<othermaciej>
a non-PHP test case works but this PHP one still does not
12:02
<othermaciej>
I am doing <?php @file_get_contents('php://input') ?>
12:03
<Hixie>
well i was hoping to do microdata tonight
12:03
<hsivonen>
does PHP always intercept application/x-www-form-urlencode ?
12:03
<Hixie>
but i'm getting too tired to work on it
12:03
<Dashiva>
othermaciej: Isn't that supposed to work only when you _don't_ use x-www-form-urlencoded?
12:03
<Hixie>
so i'll go to bed instead
12:03
<Hixie>
nn
12:04
<hsivonen>
nn
12:04
<othermaciej>
Dashiva: I think what it does not like is "multipart/form-data"
12:05
<Dashiva>
Hum
12:06
<Philip`>
othermaciej: Don't you need to use 'print' or 'echo' or something?
12:07
<othermaciej>
Philip`: ah
12:07
<Philip`>
Also, what does the '@' do?
12:08
<Dashiva>
No error reporting
12:08
<Philip`>
Oh
12:08
<Philip`>
I guess you don't want that
12:09
<zcorpan_>
doesn't php require a semicolon?
12:10
<othermaciej>
Philip`: thanks for all your help
12:11
<Philip`>
Of course what you should do is replace all the PHP with Perl
12:11
<Philip`>
print "Content-type: text/plain\n\n", <>; or whatever
12:12
<othermaciej>
I should, but that's beyond the scope of this bug fix
12:12
<othermaciej>
now that I did this I can get back to implementing HTML5 elements (tomorrow)
12:25
<Lachy>
Wondering if I should just give in to the requests to change :reference back to :scope as many people are requesting and live with the less than ideal name?
12:26
<zcorpan_>
:reference is a bit long
12:26
<Dashiva>
Is there a third name that would serve as a compromise that annoys everyone equally?
12:27
<zcorpan_>
:ref is shorter
12:27
<zcorpan_>
but i'd be happy with :scope too
12:27
<Lachy>
I once called it :context, but people didn't like htat
12:27
<Lachy>
*that
12:28
<jgraham>
Dashiva: :lachyForKing would annoy almost everyone equally
12:28
<zcorpan_>
what's wrong with :scope?
12:28
<Lachy>
I considered :ref, but all other pseudo-classes in use full, non-abbreviated words, so I decided against it for consistency
12:29
<Lachy>
zcorpan_, it's only a semi-accurate name for a limited set of the use cases.
12:30
<Lachy>
since the elements it matches don't necessarily define any sort of scope.
12:30
<Lachy>
although it does in scoped stylesheets and queryScopedSelector, it doesn't with matchesSelector or with querySelectorAll("...", refNodes);
12:31
<zcorpan_>
there's a queryScopedSelector?
12:31
<Lachy>
there is now
12:31
<Lachy>
http://dev.w3.org/2006/webapi/selectors-api2/
12:35
<zcorpan_>
Lachy: doesn't web idl use in optional foo bar instead of [, foo bar] ?
12:35
<zcorpan_>
Lachy: also, shouldn't "Any" be lowercase?
12:37
<zcorpan_>
are :this or :self bad names?
12:37
<Dashiva>
I'd say so
12:38
<zcorpan_>
why
12:38
<Lachy>
because there's more than one and it doesn't necessarily match the context node
12:38
<Dashiva>
Scoped stylesheets
12:39
<Philip`>
Have two different names which have exactly the same effect, then people can choose whichever one fits best
12:39
<Lachy>
all the names previously considered, that I can remember are: :scope, :this, :self, :context, :reference, :context-node
12:40
<Dashiva>
:center-of-attention
12:41
<Lachy>
Dashiva, it's a little short, don't you think?
12:41
<Dashiva>
Wait, I got it
12:41
<Dashiva>
:important
12:44
<Philip`>
:!
12:44
<zcorpan_>
::
12:45
<Philip`>
:D
12:45
<zcorpan_>
:lol:
12:45
<Lachy>
hah
12:45
<Lachy>
that would be cool having an emoticon as a pseudo-class.
12:45
<Dashiva>
:S for scope
12:46
<Philip`>
Selectors are too dull and unemotional
12:46
<Philip`>
If all the symbols were replaced with emoticons, you'd have an exciting rollercoaster ride of feeling as you read the selector
12:46
<Lachy>
:p would be best, if we could think of something for it to stand for
12:47
<Philip`>
It should match paragraphs
12:47
<Philip`>
(in the HTML5-defined sense, not just <p>s)
12:49
<Lachy>
:-^)>
12:50
<Lachy>
:-^)>-<
13:00
<Lachy>
http://dev.w3.org/2006/webapi/WebIDL/#idl-any
13:00
<Lachy>
It says 'Its type name is “Any”. ' But then in the grammar http://dev.w3.org/2006/webapi/WebIDL/#dfn-type-name it uses "any"
13:00
<Lachy>
I'm confused.
13:01
<Lachy>
heycam, ^
13:16
<hsivonen>
http://blog.piraattipuolue.fi/2009/09/sananvapaustuomio-tekijanoikeuden-varjolla/
13:16
<hsivonen>
oops. wrong window
13:17
<hsivonen>
(summary: parody that made a politically relevant point got a sentence of copyright infringement to its creator)
13:30
<remysharp>
I assume someone knows that the multipage spec url doesn't work atm: http://www.whatwg.org/specs/web-apps/current-work/multipage/
13:30
<hsivonen>
maybe related to the PMS problem earlier today?
13:32
<remysharp>
Erm, not sure if that's a joke or serious, but the multi page was a useful resource :)
13:32
remysharp
hopes it comes back to life
13:33
<hsivonen>
remysharp: PMS is pimpmyspec.net that Hixie uses to generate the spec from the source file
13:33
<remysharp>
nice!
13:34
<remysharp>
my old company, we managed to produce a system called: Multi Infrastructure List Framework
13:35
<remysharp>
it took 6 months before the CTO flagged up the documentation - by which point it was way too late to change all the references to MILF
13:56
<zcorpan_>
opera has a framework called WTF
13:56
<zcorpan_>
(widget testing framework)
13:57
<remysharp>
there needs to be a wiki for those sneaky things that get in.
13:57
<remysharp>
WTF is superb.
13:57
<Rik|work>
zcorpan_: webkit has WTF too
13:57
<Rik|work>
Web Template Framework IIRC
14:11
<Philip`>
http://www.whatwg.org/specs/web-apps/current-work/multipage/stderr.txt
14:11
<Philip`>
I hope that's not my bug
14:12
<Philip`>
but my machine that runs the splitter seems to be currently offline so I can't do much about it now :-(
14:12
<Philip`>
(I don't see how it'd get that error unless some id was in the TOC but not in the spec, which should be impossible unless the spec was truncated)
14:22
<annevk2>
hmm, the bug list is back to zeor
14:22
<annevk2>
time to file new bugs
14:24
hsivonen
wishes the www.cnn.com came with minimized test cases that hit all the same bugs only once
14:24
<hsivonen>
s/wishes the/wishes/
14:24
<jgraham>
hsivonen: Debugging real world websites is fun, no?
14:25
<hsivonen>
"fun"
14:25
<jgraham>
Yeah, scare quotes implied
14:26
jgraham
wonders if anyone has written a tool for nicely formatting javascript
14:27
<jgraham>
Particularly to use on stuff that has been minimized
14:27
<Philip`>
Firefox has
14:27
<Philip`>
uneval()
14:27
<Philip`>
(Wrap the code in a function and then uneval the function, in particular)
14:27
jgraham
also wonders how much js-minimization actually helps given gzip and caching
14:28
<jgraham>
Philip`: Ah, should have thought of that
14:28
<hallvors>
jgraham: there are a number of tools for formatting JS
14:29
<hallvors>
http://hallvord.com/opera/scriptformatter.php
14:29
<hallvors>
http://jsbeautifier.org/
14:29
<Philip`>
jgraham: Seems like a very easy thing to test
14:29
<hallvors>
http://elfz.laacz.lv/beautify/
14:29
<hallvors>
I mostly use the first one :-p
14:29
<jgraham>
Philip`: The caching part is harder to test
14:30
<hsivonen>
so... I'm getting a document.write() that implies document.open() and it's not even a defer script
14:30
<hsivonen>
hmm.
14:30
<gsnedders>
The latter two both run in JS, and are rather slow on, e.g., Gmail :P
14:30
<Philip`>
jgraham: On an ancient version of jQuery, minimisation saves ~50% on the gzipped size
14:31
<jgraham>
hallvors: Nice. I will remember those when the unenviable day comes that I have to grapple with a large minimized script
14:31
<hallvors>
(yeah, given all the string manipulation you need to do I'm not surprised that all of them probably are slow)
14:31
<gsnedders>
hallvors: It'd be nice to use a C++ tokenizer and work from that… but for me to write that I'd have to learn C++ :P
14:31
<jgraham>
Philip`: What about if you strip comments only from the unminimized version
14:31
<hallvors>
in Opera, viewing source of the script, taking it through the formatter, and re-loading from cache gives you an entirely new debugging experience
14:31
Philip`
hopes the "string manipulation" consists of something like a parser, not just a load of regexps
14:32
jgraham
is always somewhat nbervous of that
14:32
<hallvors>
Philip`: mine does. Can't speak for the others, though I think the elfz.laacz.lv one is quite similar to mine
14:32
<hallvors>
jsbeautifier.org has bugs.. It tends to break complex scripts.
14:33
<gsnedders>
hallvors: Until you hit an inline script in a page that cannot be cached, which means you can't edit it and use Dragonfly.
14:33
<hsivonen>
hallvors: thanks. Those could have been useful when figuring out the MySpace XMLSerializer silliness
14:33
<hallvors>
gsnedders: in that case, use the user JS equivalent :)
14:33
<Philip`>
jgraham: Original .js is about 26KB (gzipped), packed is 14KB, non-packed but removing comments (in particular just running it through 'cpp') is 17KB
14:33
<hallvors>
http://hallvord.com/opera/scriptformatter.js
14:33
<gsnedders>
hallvors: That's a pain :)
14:34
<hallvors>
why? :)
14:34
<hsivonen>
http://jsbeautifier.org/ doesn't work with an HTML5 parser, so that one is problematic for me
14:34
<gsnedders>
hallvors: Means editing another file :)
14:34
<hallvors>
put scriptformatter.js in your user js folder and Dragonfly will see all source code nicely formatted
14:34
<gsnedders>
ooo…
14:34
<jgraham>
Philip`: I would have thought that 3Kb would be pretty unnoticable on most sites
14:35
gsnedders
hopes he remembers that until he gets back to work on Monday
14:35
<hallvors>
..or use Fiddler's autoresponse feature on the formatted source (which is what you have to do to debug formatted code in other browsers anyway)
14:35
<Philip`>
jgraham: Probably true, but if you're already going through all the effort of stripping comments and having separate development vs deployment versions of your scripts, why not save a few extra KB at the same time?
14:36
<Philip`>
Also it makes it harder for people to steal your code
14:36
<gsnedders>
hallvors: Who says I use Windows? :)
14:36
<jgraham>
Philip`: Because browser makes will hate you?
14:36
<jgraham>
*makers
14:36
<hallvors>
hsivonen: you're welcome. Hope you find it useful and do complain about any bugs that break scripts after formatting
14:36
<Philip`>
jgraham: That's just payback
14:36
<gsnedders>
jgraham: Browser vendors will hate them for having horrible JS to start with anyway.
14:36
<Philip`>
They'll be so fed up with stupid browser bugs that they'll be happy to make your lives as miserable as possible
14:36
<jgraham>
gsnedders: Not all sites have horrible js
14:37
<gsnedders>
jgraham: Most do.
14:37
<hallvors>
gsnedders: well, find a windows box to use Fiddler on then, and proxy your traffic through it :-p
14:37
gsnedders
hopes jgraham doesn't find out what book he's reading at the moment, as then he'll really hate him
14:37
<jgraham>
What, Twilight?
14:38
gsnedders
nods
14:38
<jgraham>
You suck
14:38
<gsnedders>
Actually, the second one.
14:38
<Philip`>
You're reading Noddy?
14:38
<gsnedders>
It's so badly written, but I've fallen in love wit it nevertheless.
14:39
<gsnedders>
Philip`: No, "New Moon"
14:39
<Philip`>
Oh, right, you were agreeing with jgraham, not giving a hint
14:40
gsnedders
finds a photo so over-exposed the face in it is white even turning exposure all the way down on the RAW photo…
14:41
<jgraham>
gsnedders: YOu only have 12bits of luminance information. If it clips it's gone
14:41
<gsnedders>
Right, I know.
14:42
<gsnedders>
I don't think I've ever had it clip on the subject of the photo before, though I have on the sky.
14:42
<jgraham>
You don't own a flash?
14:43
<gsnedders>
No
14:43
<gsnedders>
(The background light for the photo where the face is over-exposed was done in perfectly fine lighting outdoors, a flash wouldn't have helped)
14:43
<gsnedders>
(I guess the sun came out from behind the clouds at the instant I took it)
14:44
<gsnedders>
(Everything else I have from those few minutes is fine)
14:46
<gsnedders>
(Well, apart from some chromatic aberrations in a couple)
14:47
<jgraham>
No I meant if you had a flash you would be used to overexposed foregrounds
14:47
<gsnedders>
Ah.
14:47
<jgraham>
And my point earlier was more that it is usually obvious when things have clipped without adjusting anything in the RAW (indeed the software can tell you)
14:48
gsnedders
doesn't mention anything else that has happened this month that jgraham will disagree with
14:48
<hsivonen>
nice. it seems the problem I had was related to running a fragment parser in the context of a document that has an active network stream parse going on
14:49
<hsivonen>
and the document confused innerHTML with document.write code and ran some document.write finalization code
14:49
<jgraham>
gsnedders: Now I want to know
14:50
<gsnedders>
jgraham: You don't think I was teasing you or anything?
14:51
<jgraham>
No. You would never do that
14:52
<gsnedders>
jgraham: Because someone downstairs (there) said I was, "a very nice, a bit humble and easy going person"?
14:54
<jgraham>
I thought that was just to get you an apartment contract :p
14:54
<gsnedders>
Well, yeah :P
14:58
<TabAtkins>
Philip`, you break XML-for-real blogs for fun, right? I've got a friend who wants some examples, as he's interested in the theory.
14:58
<krijn>
Why is http://krijnhoetmer.nl/zooi/html/document-write-js.html not allowed by HTML5?
14:59
<krijn>
While http://krijnhoetmer.nl/zooi/html/test2.html is
15:09
<Philip`>
TabAtkins: Yes
15:09
<Philip`>
"fun"
15:09
<TabAtkins>
Hehe.
15:11
<Philip`>
TabAtkins: http://diveintomark.org/archives/2008/03/09/no-fury-like-dracon-scorned#comment-11442 had some links
15:11
<Philip`>
to examples
15:11
<Philip`>
Otherwise, read the IRC log to find more examples :-)
15:12
<TabAtkins>
Philip`, hah.
15:13
krijn
should scrape the logs for links
15:15
<Philip`>
TabAtkins: I'm not sure what "the theory" is
15:16
<TabAtkins>
Dunno, he was a bit vague.
15:16
<jgraham>
I guess "the theory" is the bits of XML 1.0 + XML NS 1.0 that are most commonly incorrect
15:17
<jgraham>
(ly implemented)
15:17
<Philip`>
It basically just involves putting U+0000 and U+FFFF into query strings until something breaks
15:17
<TabAtkins>
Makes sense.
15:17
<TabAtkins>
His exact phrasing was "I'd love some examples/references. Breaking websites is fun, and useful now that I'm writing some of my own."
15:18
<Philip`>
or into comments, if you want to break the page for everybody who looks at it
15:19
<zcorpan_>
or in trackbacks
15:20
<Philip`>
Bonus points if you prevent people using the admin interface to clean up your mess
15:20
<zcorpan_>
/404%00
15:21
<TabAtkins>
Yeah, I regaled him with tales (I think I cribbed it from diveintomark) of the draconian-error advocate who got a bad trackback and was unable to fix it because it killed his backend.
15:23
Philip`
wonders how vulnerable Google Wave will be to XML well-formedness issues
15:23
<Philip`>
(Someone should give me an invite :-p )
15:31
<heycam>
Lachy, use "any" in the idl
15:31
<Lachy>
heycam, why is the spec confusing?
15:31
<heycam>
the "type name" is a string used for other purposes
15:31
<heycam>
maybe i should rename that definition
15:32
<Lachy>
also, do I need to make the module dom explicit? Can I leave that out of the IDL?
15:33
<heycam>
no as currently written i believe you can leave out the module dom
15:34
<Lachy>
ok. I will remove it later
15:39
<zcorpan_>
why is ErrorEvent's .filename not called .source for consistency with <body onerror>?
15:47
<aroben>
http://www.whatwg.org/specs/web-apps/current-work/multipage/ seems broken
15:48
<Philip`>
Known issue
15:48
<Philip`>
I blame Hixie and/or jgraham
15:48
<Philip`>
and/or my ISP
15:48
<Philip`>
so it can't be fixed yet
15:49
<aroben>
ok, thanks
16:19
<miketaylr>
just noticed that opera defines a validity object for input elements
16:19
<miketaylr>
is this documented anywhere, does anyone know?
16:20
<annevk2>
yes, HTML5
16:20
<miketaylr>
:S
16:20
miketaylr
fails
16:20
<miketaylr>
thx annevk2
16:20
<Dashiva>
I'd link it, but Philip` broke the spec
16:23
<Philip`>
:'-(
16:24
<Philip`>
You could link to the single-page version
16:24
<Philip`>
or the W3C version
16:24
<Dashiva>
I wouldn't link my enemies to the single-page version, much less an innocent stranger ;)
16:25
<miketaylr>
heh. no need for a link, i've been there plenty. ;)
16:26
<miketaylr>
ok found it in 4.10.16.3 The constraint validation API, thanks again annevk2
16:29
<annevk2>
anytime
16:55
<zcorpan_>
let's see if that's controversial...
16:56
<jgraham>
zcorpan_: +1
17:27
<ROBOd>
i am another user of the spec who is missing http://www.whatwg.org/specs/web-apps/current-work/multipage/
17:27
<ROBOd>
could someone fix that?
17:27
<annevk2>
come back tomorrow
17:27
<Philip`>
I would fix it if my computer that generated the multipage spec wasn't suffering from a lack of internets
19:49
<zcorpan_>
hmm, http://jsbeautifier.org/ has <script>...<!--...</script>
19:49
<zcorpan_>
and doesn't use quirks mode
19:53
<zcorpan_>
it would break with my idea of handling it, because one </script> gets eaten, causing the script to not compile and the next script to be ignored, too
19:54
<zcorpan_>
it would work with hsivonen's idea though, because the <!-- is not only preceded by whitespace
20:01
<zcorpan_>
oh actually
20:01
<zcorpan_>
it doesn't fail
20:01
<zcorpan_>
yay
20:02
<zcorpan_>
because it doesn't have "<script" after the <!--
20:06
zcorpan_
writes down a slightly different idea in http://wiki.whatwg.org/wiki/CDATA_Escapes#Proposal_.232
20:07
<Philip`>
Proposal 232? Must be a pretty hard problem
20:08
<zcorpan_>
proposal .232
20:09
<zcorpan_>
Philip`: any idea on how to test the different ideas againt content?
20:10
<zcorpan_>
i guess one thing that's simple to test is whether there are pages with the end tag in an escaped text span for (r)cdata elements other than script
20:11
<zcorpan_>
whether they need the escapedness or would be better off without it
20:11
<Philip`>
Get someone to implement them all, run them all against lots of pages, find which pages produce different DOMs with the different methods, and then manually check what seems to be the best behaviour in each case?
20:11
<Philip`>
(assuming there is a finite list of proposals)
20:22
<jgraham>
You should really test against reparsing since that is the current behaviour
20:26
<jgraham>
(so proposals that fail to match reparsing in a significant number of cases are a no-go)
20:28
<zcorpan_>
so who feels like implementing reparsing and proposal #2 and #3 in html5lib or v.nu?
20:28
<zcorpan_>
maybe there's a simpler way to find out if they are workable
20:29
<Philip`>
If someone implements it in html5lib, don't expect me to try running it on half a million pages :-p
20:30
<zcorpan_>
because html5lib is too slow?
20:30
<Philip`>
Yes
20:30
<zcorpan_>
ok
20:30
<Philip`>
and I don't fancy running it for days
20:32
<zcorpan_>
don't we have some data about <!-- in (r)cdata elements somewhere already?
20:33
<zcorpan_>
i mean list of pages
20:37
<zcorpan_>
http://philip.html5.org/data/pages-with-unclosed-comments.txt
20:38
<Philip`>
http://philip.html5.org/data/pages-with-unclosed-scripts-and-comment-stuff.txt
20:38
<Philip`>
Please don't ask me what that regexp does
20:39
<zcorpan_>
quite a few would break with proposal #2
20:39
<zcorpan_>
because they use <!-- as normal but have no --> at all
20:40
<zcorpan_>
but my idea seems to work
20:41
<Dashiva>
Philip`: It doesn't look that bad
20:42
<TabAtkins>
I find it odd that sites creating today still use the <!-- hack on their <script>s at all.
20:42
<TabAtkins>
We're *long* past the point where that was necessary.
20:44
<gsnedders>
Philip`: What does that regexp do?
20:44
<Philip`>
/ignore gsnedders
20:44
<Philip`>
Ask Dashiva what it does
20:44
<gsnedders>
Oh, I can see myself.
20:44
<Dashiva>
It finds <script followed by <!-- followed by </script> before any occurence of -->, and the ensures there's no later --> </script>
20:45
<gsnedders>
I just asked you because you said not to do so.
20:45
<gsnedders>
And I'm a bitch.
20:46
<zcorpan_>
ok so that leaves proposal #3
20:46
<zcorpan_>
go find a page that breaks with proposal #3
20:49
<gsnedders>
… Simon says, ordering his minions around :P
20:49
<Philip`>
Dashiva: I don't think that's right
20:50
<Philip`>
It ensures there *is* a later -->, but no later </script>
20:51
<Dashiva>
That's what I meant, yes
20:51
<Philip`>
so the comment has to be closed, but the <script> will not be closed because the only </script> was inside the comment
20:52
<zcorpan_>
that's still not right
20:52
<zcorpan_>
if there is a later -->, it ensures that there's no later </script>
20:53
<zcorpan_>
but there can be a later </script> without --> before
20:53
<zcorpan_>
or no --> at all
20:57
<Philip`>
It's like <script> <!-- {anything except -->} </script> {anything except </script>} --> {anything except </script>} {end of file}
20:57
<Philip`>
I think
20:58
<Dashiva>
The --> can be repeated
20:58
<Philip`>
Only because --> is anything except </script>
20:58
<Dashiva>
Maybe should've been ? instead of * at the end for clarity
20:59
<Philip`>
The * is just implementing the {anything except </script>}
20:59
<Philip`>
because it's zero-or-more characters that are not '<', or are '<' but not followed by '/script'
20:59
<Dashiva>
Oh, right
20:59
<Dashiva>
I misread the nesting
21:05
<zcorpan_>
it works for the mozilla bugs hsivonen referenced
21:05
<zcorpan_>
and it works for the pages in Philip`'s list
21:06
<zcorpan_>
and it works for <script><!-- document.write('<script></script>'); document.write('<script></script>'); </script>
21:06
<zcorpan_>
it does not work for <script><!-- document.write('<sc'+'ript></script>'); </script>
21:07
gsnedders
wonders where to eat on Sunday evening
21:07
<zcorpan_>
doesn't work for <script><!-- document.write('<sc'+'ript></script>'); --></script> either
21:08
<zcorpan_>
i wonder if people split the start tag but not the end tag in their d.write
21:08
<jgraham>
gsnedders: Which country will you be in?
21:08
<gsnedders>
jgraham: Sweden
21:09
<jgraham>
gsnedders: Why are you wondering?
21:09
<gsnedders>
jgraham: I can't get any of my stuff from the office until Monday, so I don't have a plate or anything useful…
21:09
<jgraham>
gsnedders: We can provide you with food, probaby
21:10
<gsnedders>
The second time in a month I've scrounged food off you in two months :)
21:10
<gsnedders>
s/two months/one month/
21:10
<gsnedders>
Huh…
21:10
<gsnedders>
That still makes no sense.
21:10
<jgraham>
indeed. But since the first attemp made my head explode
21:10
<gsnedders>
s/in one month/on a Sunday evening/
21:10
<jgraham>
there's no point in correcting it now
21:11
<gsnedders>
Sorry. I guess I won't get food if you're headless now.
21:11
<jgraham>
But yeah, let me know when you want to eat or something.
21:11
<jgraham>
(I guess you arrive on Sunday then?)
21:11
<gsnedders>
jgraham: I guess 7ish or later would suit me
21:11
<Dashiva>
Doesn't not splitting the end tag break?
21:11
<gsnedders>
jgraham: Yeah, I arrive 16:50 from Skavsta
21:12
<jgraham>
gsnedders: Sounds fine
21:12
<gsnedders>
jgraham: Should I just come over at 7ish then? I can call if anything happens which means that won't work.
21:13
<zcorpan_>
Dashiva: it breaks with my proposal but doesn't break today
21:14
gsnedders
goes back to the book that shall not be named
21:16
zcorpan_
writes down another potential thing that would break with his proposal
21:21
<zcorpan_>
hmm
21:22
<zcorpan_>
<script><!-- document.write('<scr'+'ipt></script>'); //--></script> might not be too uncommon on the face of it
21:30
<zcorpan_>
(?is)<script>\s*<\!--(([^-]|-(?!->)|([^<]|<(?!script[\s\/>]))*<\/script[\s\/>]
21:30
<zcorpan_>
is that correct?
21:30
<jgraham>
gsnedders: Yes
21:31
<zcorpan_>
Philip`, Dashiva ^
21:32
<zcorpan_>
basically i want to find pages that have </script inside escaped text span but without <script before it
21:49
<cying>
Hixie: looks like the html5 spec is missing: http://www.whatwg.org/specs/web-apps/current-work/multipage/
21:50
<Philip`>
cying: Known problem
21:50
<cying>
Philip`: ah thanks
21:50
<Philip`>
zcorpan_: It's not correct
21:51
<zcorpan_>
snap
21:51
<Philip`>
zcorpan_: e.g. you've effectively got [^-]|[^<]|... and every character is going to match that
21:52
gsnedders
thinks we should follow the OED's example and produce a "Compact Edition" in 4pt type
21:53
<Philip`>
Oh, good, my computer's back
21:53
Philip`
regenerates the spec
21:53
<Philip`>
cying: Should work now
21:54
<zcorpan_>
Philip`: oops
21:54
<zcorpan_>
Philip`: how about...
21:54
<zcorpan_>
(?is)<script>\s*<\!--(([^-]|-(?!->))|([^<]|<(?!script[\s\/>])))*<\/script[\s\/>]
21:57
<Philip`>
That seems to be effectively identical to the previous version
21:58
<zcorpan_>
really?
21:58
<Philip`>
because (x|y|z) and ((x|y)|z) are equivalent
21:58
<Philip`>
which is the only change I see
21:59
<zcorpan_>
so how do i write any sequence of characters except --> or <script followed by whitespace, slash or greater-than?
22:00
<Philip`>
I think you may want something more like ([^<-]|-(?!->)|<(?!script[\s/>]))
22:00
<zcorpan_>
ah
22:00
<zcorpan_>
ok
22:01
<Philip`>
([^x]|[^y] is not equivalent to [^xy], and you want the latter)
22:01
<zcorpan_>
yeah, makes sense
22:01
<Philip`>
Also you probably want to allow attributes in the first <script> tag
22:01
<zcorpan_>
oops
22:01
<Philip`>
Also you don't need to escape !
22:02
<Philip`>
Also you don't need the (?s) (it just affects the definitions of ^ and $)
22:02
<Philip`>
Also you don't need to escape /
22:02
<Philip`>
(...unless you're using it in a language with / as the regexp delimiter)
22:03
<Philip`>
(...but my grep stuff doesn't use delimited regexps, so it doesn't need to be escaped)
22:03
<Philip`>
Otherwise it looks fine :-)
22:04
<Philip`>
though I could be mistaken
22:05
<zcorpan_>
(?i)<script[\s/]?[^>]*>\s*<!--([^<-]|-(?!->)|<(?!script[\s/>]))*</script[\s/>]
22:06
<Philip`>
The [\s/]? is redundant with the [^>]*
22:07
<zcorpan_>
yeah
22:07
<zcorpan_>
could you try the regexp on a set of pages? :)
22:09
<Philip`>
(?i)<script[^>]*>\s*<!--([^<-]|-(?!->)|<(?!script[\s/>]))*</script[\s/>]
22:09
<Philip`>
Do you just want a list of pages, or also the matching substrings?
22:10
<zcorpan_>
matching substrings would be nice
22:11
<zcorpan_>
but not essential
22:13
<Philip`>
zcorpan_: Something like http://philip.html5.org/data/script-close-in-escape-without-script-open.txt ?
22:13
<Philip`>
(That's not the whole output, just the first small fraction)
22:14
<Philip`>
The formatting is pretty rubbish, but I don't know if that's okay
22:14
Philip`
can change it fairly easily
22:15
<zcorpan_>
it's ok
22:18
<zcorpan_>
hmm actually, the \s* doesn't have to be whitespace
22:21
<zcorpan_>
(?i)<script[^>]*>([^<]|<(?!/script[\s/>])*<!--([^<-]|-(?!->)|<(?!script[\s/>]))*</script[\s/>]
22:21
<zcorpan_>
could you rerun it with that instead?
22:21
<Philip`>
Hmm, odd, it seems to have finished already
22:21
<zcorpan_>
ah
22:21
<Philip`>
which is surprisingly quick
22:23
<Philip`>
zcorpan_: http://philip.html5.org/data/script-close-in-escape-without-script-open.txt is the old one
22:23
<Philip`>
Running again with the new one...
22:23
<Philip`>
Oh, syntax error
22:23
<Philip`>
I think you missed a )
22:24
<zcorpan_>
oops, yeah
22:24
<zcorpan_>
(?i)<script[^>]*>([^<]|<(?!/script[\s/>]))*<!--([^<-]|-(?!->)|<(?!script[\s/>]))*</script[\s/>]
22:26
<Philip`>
zcorpan_: Remind me to check this in five minutes
22:26
<zcorpan_>
sure
22:27
<zcorpan_>
the current output shows lots of examples that breaks with proposal #2
22:29
<zcorpan_>
did the google analytics boilerplate lack the --> at some point?
22:31
<zcorpan_>
www.grandparents.com/gp/content/expert-advice/family-matters/article/thatevildaughterinlaw.html has unescaped end tag in d.write :(
22:31
<zcorpan_>
document.write('<SCR' + 'IPT LANGUAGE=JavaScript1.1 SRC="' + OAS_url + 'adstream_mjx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '?' + OAS_query + '"></SCRIPT>
22:38
<zcorpan_>
Philip`: reminder
22:39
<Philip`>
http://philip.html5.org/data/script-close-in-escape-without-script-open-2.txt
22:40
<zcorpan_>
thanks!
22:42
<zcorpan_>
<script type="text/javascript">--><!--
22:42
<zcorpan_>
amazon_ad_tag = "go2urlcomtheu-20"; ... amazon_ad_include = "marketing";//-->
22:42
<zcorpan_>
<!-- </script>
22:42
<zcorpan_>
wtf?
22:43
<zcorpan_>
ok, that breaks with my proposal, too
22:43
<zcorpan_>
maybe it needs to be combined with the variant of proposal #2
22:44
<zcorpan_>
so that only <script>\s*<!-- starts escaped text span
22:44
Philip`
supposes some amount of breakage may be inevitable
22:44
<zcorpan_>
yeah
22:46
<zcorpan_>
oh wait, it doesn't break with my proposal
22:49
<zcorpan_>
wow having <!--</script> is actually pretty common in this set
22:49
<zcorpan_>
(or actually //--><!--</script>)
22:51
<zcorpan_>
www.celebrity-link.com/c106/showcelebrity_categoryid-10687.html breaks
22:56
<zcorpan_>
www2.solomoto.es/enviar-noticia.asp?noti=44557&pag=noticia has the same snippet as grandparents.com
22:58
<zcorpan_>
me.yaplog.jp/viewBoard.blog?boardId=975 breaks too
23:09
<zcorpan_>
maybe the parser should look at "document.write" instead
23:10
<zcorpan_>
and ignore "</script" until the next ")"
23:20
<zcorpan_>
hmm, i guess that would break pages that put the string in a variable and then do document.write(str)
23:21
<Philip`>
And pages that do var w=document.write; w("str")
23:22
<Philip`>
and it'd be an incredibly gross hack
23:33
<zcorpan_>
ok time to sleep
23:33
<zcorpan_>
nn
23:49
<hober>
http://lists.w3.org/Archives/Public/public-html/2009Sep/att-1216/MicrosoftDistributedExtensibilitySubmission.htm
23:52
<othermaciej>
time for someone to dig up Opera's old data
23:58
<Philip`>
"The proposal as stated closely matches behavior that Internet Explorer has had for a number of releases"
23:58
<Philip`>
That seems untrue
23:58
<Philip`>
because e.g. IE has never had proper Namespace-like DOM attributes