00:59
<MikeSmith>
Peter`: you around?
01:08
<MikeSmith>
othermaciej: hey
01:10
<othermaciej>
hi MikeSmith
01:11
<MikeSmith>
hey man
05:38
<annevk>
spotted: http://bitbucket.org/ms2ger/domparser
05:38
<annevk>
I guess I should link some stuff from the WHATWG wiki
05:41
<annevk>
added to http://wiki.whatwg.org/wiki/Companion_specifications
05:47
<annevk>
whoa, ISSUE-88 has been awaiting a decision since June 30
05:56
<annevk>
http://lists.w3.org/Archives/Member/w3c-ac-forum/2010JulSep/0025.html (W3C Member-only; also sad for other reasons)
07:47
<annevk>
where is ms2ger?
07:47
annevk
summons
07:50
<annevk>
does anyone know what kind of funny local names can be created by the HTML parser that createElement cannot create?
07:51
<annevk>
and whether browsers want to forbid "adopting" or "importing" those type of element nodes?
07:51
<Hixie>
what does createElement stop?
07:51
<annevk>
not matching XML Name
07:52
<Hixie>
oh
07:52
<Hixie>
well then
07:52
<Hixie>
HTML parser allows almost anything
07:52
<annevk>
great
07:52
<Hixie>
so it should be easy to find conflicts :-)
07:52
<Hixie>
just work out what XML Name doesn't allow
07:52
<annevk>
<x<> sweet
07:55
<zcorpan_>
http://dev.cmsmadesimple.org/bug/view/3154 is disappointing (cmsms gets escaping wrong in lots of places)
07:58
<cyberix>
annevk: Where is xhr2 blob support mentioned?
07:59
<annevk>
zcorpan_, seems like he failed to understand your bug report
07:59
<annevk>
zcorpan_, as he says, "Certain characters will be transformed into HTML entities (& to &amp;, < to &lt;, etc.) for security reasons", and you pointed out that does not work properly
08:00
<othermaciej>
hi everyone
08:00
<annevk>
cyberix, in the XMLHttpRequest Level 2 draft specification?
08:00
<annevk>
hey othermaciej
08:00
<annevk>
ooh ojan_ is here too
08:00
<annevk>
ojan_, fyi, you can remove the WRONG_DOCUMENT_ERR stuff from WebKit; most other browsers have already done it
08:01
<othermaciej>
annevk: you mean for inserting nodes into a document other than their owner document?
08:02
<othermaciej>
annevk: what is the state of other browsers on this point?
08:02
<zcorpan_>
annevk: feel free to reopen it and explain it better
08:03
<annevk>
IE throws, but not when using nodes from responseXML; Firefox and Opera do not throw and automatically adopt
08:03
<othermaciej>
we have a strange rule
08:03
<othermaciej>
we throw except in some particular cases where the node has not yet been inserted into its document
08:03
<annevk>
zcorpan_, yeah...
08:03
<othermaciej>
(can't remember if it's just new Image/new Option or all not-yet-inserted nodes)
08:04
<annevk>
WRONG_DOCUMENT_ERR was designed for Java
08:04
<othermaciej>
I think we added WRONG_DOCUMENT_ERR solely to pass more DOM tests
08:04
<othermaciej>
from the official dom test suite
08:04
<othermaciej>
in fact I think I might have been the one to add it
08:04
<othermaciej>
can't remember though, was years ago
08:04
<annevk>
where you can have independent DOM implementations that need specific adoption stuff for each other
08:04
<othermaciej>
sure, it's a dumb exception
08:04
<zcorpan_>
now you can change again to pass more tests from the inofficial dom test suite :)
08:05
<othermaciej>
we tried pretty hard to pass domts
08:05
<othermaciej>
we gave up on 100% passing it when the dom mailing list completely shot down my comments about getAttribute returning null for missing attributes
08:05
<RytoEX>
zcorpan_ & annevk: Hi there! I actually wrote the comment for http://dev.cmsmadesimple.org/bug/view/3154 after checking with SjG. If you'd like to discuss it further, feel free to comment on the bug.
08:05
<zcorpan_>
hey RytoEX
08:05
<othermaciej>
and I think there was one other thing that was wildly inconsistent with real-world web compat
08:06
<annevk>
othermaciej, yeah, that was insane
08:06
<othermaciej>
I'm trying to remember what the second thing was
08:06
<annevk>
there's a lot of weird stuff in the DOM though, I wish implementors had taken the approach they take today when implementing
08:06
<zcorpan_>
RytoEX: the source should say &amp; &amp;amp; &amp;amp;amp; to make it display properly, not have dataloss and be secure
08:07
<annevk>
which is objecting to bullshit
08:07
<cyberix>
annevk: I go to http://www.w3.org/TR/XMLHttpRequest2/ and do an in-page search for blob. Zero hits.
08:07
<othermaciej>
the leading implementors of the time were responsible for some of the bullshit :-(
08:07
<annevk>
cyberix, you want http://dev.w3.org/2006/webapi/XMLHttpRequest-2/
08:07
<RytoEX>
zcorpan_: Any thoughts on how to go about doing that code-wise?
08:07
<annevk>
cyberix, that draft is like old
08:08
<othermaciej>
annevk: hah, this is funny
08:08
<annevk>
othermaciej, yeah, dunno how that happened, I guess it was some kind of comittee disaster with the java guys
08:08
<othermaciej>
the other thing I complained about back then was WRONG_DOCUMENT_ERR
08:08
<zcorpan_>
RytoEX: replace & with &amp; and then < with &lt;
08:08
<cyberix>
annevk: thank you
08:09
<annevk>
othermaciej, yeah, they will be gone
08:09
<othermaciej>
wow, that was 2005
08:10
<annevk>
othermaciej, I hope implementors are interested in removing some of the other cruft too
08:10
<zcorpan_>
RytoEX: maybe currently there's an unescaping step followed by an escaping step, if so you should remove the unescaping step
08:10
<othermaciej>
I should read the draft some point
08:10
<othermaciej>
the top thing I find maddening about DOM Level 3 Core is the maddeningly vague language
08:10
<RytoEX>
zcorpan_: Isn't changing the source from what the user typed still problematic?
08:11
<annevk>
othermaciej, that'd be great; although it's not complete at this point it's prolly ready enough for a WD snapshot; that might give it some wider attention too I suppose
08:11
<annevk>
othermaciej, yeah, Web DOM Core is a complete rewrite to fix that
08:11
<zcorpan_>
RytoEX: why?
08:11
<annevk>
RytoEX, if you output text as HTML you need to escape it
08:12
<annevk>
RytoEX, if you always output it as HTML you might as well store the entered text as HTML
08:12
<annevk>
RytoEX, outputting text as HTML without escaping is a problem and gives dataloss for the scenario zcorpan_ outlined
08:12
<RytoEX>
So, the issue isn't about storing the data exactly as the user entered it, but that after being rendered in the browser it displays the same (regardless of whether the source matches the original input)?
08:13
<annevk>
the issue is that the input format is text and the output format is HTML and there is no conversion from one to the other
08:15
<zcorpan_>
annevk: actually it does escape (& becomes &amp; in the source) but it seems to first unescape (&amp; doesn't change in the source)
08:15
<zcorpan_>
so if i enter "& &amp;" the source becomes "&amp; &amp;" (and displays as "& &")
08:16
<zcorpan_>
personally i don't care how it's stored, so long as the end result matches the user input
08:16
<annevk>
oh weird
08:17
<annevk>
it's first parsed as if it were HTML?
08:17
<zcorpan_>
i haven't looked at the code
08:17
<RytoEX>
Okay, I think I'm getting a better idea of what you're describing. Sorry if I'm a little dense, it's past 3AM here, and I've had a pretty rough sleep schedule the past several days.
08:21
<zcorpan_>
hybi hasn't discussed the changes that got lost between -00 and -01
08:21
<annevk>
RytoEX, yeah... woke up at 4:30AM today
08:22
<annevk>
zcorpan_, hybi is off the rails :/
08:23
<annevk>
who told me again XML parsing for feeds was a great success?
08:23
<annevk>
Error: not well-formed
08:23
<annevk>
Source File: http://feeds.bbci.co.uk/news/rss.xml
08:23
<annevk>
Line: 1312, Column: 14
08:23
<annevk>
Source Code:
08:23
<annevk>
<title>Q&A: Tax letters</title>
08:24
<annevk>
BBC cannot even get ampersands right
08:24
<annevk>
XML is so not appropriate for the web
08:24
<annevk>
sylvia, if you are out there, take note ;)
08:24
<zcorpan_>
escaping ampersands is hard. let's go shopping.
08:35
<RytoEX>
zcorpan_: Okay, if I enter "0 < 10 &lt; 20" I get "0 < 10 < 20" currently. I'm still looking for exactly where the escaping/unescaping occurs. I may have to put this off until tomorrow, though, as I need to be at work in a few hours, and I'd like a nap.
08:46
<annevk>
othermaciej, I was trying to figure out from reading WebKit source code in what conditions nodes can be readonly but I cannot find the implementation of isReadOnlyNode()
08:47
<othermaciej>
./Node.h: bool isReadOnlyNode() const { return nodeType() == ENTITY_REFERENCE_NODE; }
08:47
<othermaciej>
I don't think we support entity reference nodes though
08:47
<annevk>
aah, so that is completely bogus
08:47
<annevk>
entity nodes are gone from Web DOM Core
08:49
<RytoEX>
zcorpan_: I've found the bits of code that unescape and escape stuff. See the following: function SetValue in FieldBase.class.php and function unmy_htmlentities in Form.class.php.
08:51
<zcorpan_>
RytoEX: skipping sleep anyway? :)
08:52
<RytoEX>
I ... get caught up in programming/debugging. It causes great rifts in my sleep schedule.
08:55
<RytoEX>
However, with that, I do need a nap. Got a 10 hour work day ahead of me and meetings after that. Please feel free to comment on the bug report or email me directly. If this can be fixed and the project admins don't have a problem with it, then hopefully we can work this out.
08:57
<zcorpan_>
cool
09:03
<zcorpan_>
annevk: "... return its local name. Then terminate these steps. (Continue if there was no such attribute.)" looks confusing
09:03
<zcorpan_>
annevk: maybe "... then return its local name and terminate these steps."
09:10
annevk
looks
09:11
<ojan_>
annevk: a bit late getting back to you, but yes, i plan to remove WRONG_DOCUMENT_ERR shortly. the initial patch i put up needed reworking, but i don't expect any real issues getting rid of it
09:11
<ojan_>
annevk: anyways, i gotta go, but i fully support getting rid of the cruft from the DOM core spec. thanks for taking this on.
09:12
<annevk>
ojan_, cool, ttyl then :)
09:12
<annevk>
zcorpan_, so it is easy for that one
09:12
<annevk>
zcorpan_, what about the other time I use that phrase?
09:13
<annevk>
(fixed this instance)
09:16
<zcorpan_>
annevk: i think it also looks confused, but i don't have a suggested replacement
09:17
<annevk>
i'll look at it
09:21
<annevk>
zcorpan_, fixed
09:33
<annevk>
I guess serializing and parsing should be out of scope for DOM Core
09:33
<annevk>
otherwise we'll get a HTML5 dependency
09:33
<annevk>
which seems bad
09:34
<annevk>
prolly need a DOM Parsing and Serialization spec that defines innerHTML, DOMParser, XMLSerializer
09:34
<annevk>
in great detail
09:34
<annevk>
that builds on DOM Core / HTML5
09:35
<annevk>
DOM Core would just define the tree model and the limitations of the tree model
09:41
<hsivonen>
annevk: it would be proper to have a spec that actually defines how an XML document is parsed into a DOM
09:42
<annevk>
if ms2ger does not turn his domparser notes into that i guess i could work on that after dom core unless cssom suddenly sees lots of interest
09:43
<annevk>
serializing stuff in an XML DOM also seems like lots of fun to define
09:43
<annevk>
harhar
09:43
<hsivonen>
annevk: do you mean for reconstructing namespace declarations?
09:44
<hsivonen>
other than that, it's relatively straight-forward
09:44
<annevk>
the namespace stuff, yes
09:44
<annevk>
and catching all the errors
09:44
<annevk>
but I guess it's not too hard
09:44
<zcorpan_>
it's almost already done in html5
09:45
<zcorpan_>
except it's a bit handwavy and not an algorithm
09:45
<annevk>
and it doesn't deal with the namespaces
09:45
<hsivonen>
I wonder if anyone (other than I) cares about how style sheets that block scripts behave if they are moved by a script between being parser-inserted and getting loaded
09:45
<hsivonen>
but for completeness, this should be defined!
09:45
<hsivonen>
and fixed in Gecko
09:46
<annevk>
fwiw, I think it's great that you're so thorough
09:46
<annevk>
hopefully we can easily reuse the tests you have for this
09:51
<hsivonen>
hmm. the whatwg lists don't send me list email if I'm listed in To or Cc
09:51
<hsivonen>
but when I go to the list settings, my settings say I've opted not to avoid duplicates
09:51
<hsivonen>
I tried checking the "set globally box" and submitting my settings
09:58
<annevk>
if you avoid duplicates you do not get list email if you are in the to or cc
09:58
<annevk>
otherwise you get duplicates
09:58
<annevk>
pretty simple
09:58
<hsivonen>
annevk: but the setting doesn't match the behavior I see. That's the problem.
10:01
<annevk>
hsivonen, are you saying you do get list email?
10:02
<annevk>
oh sorry, "not to avoid"
10:02
<hsivonen>
annevk: I'm saying I don't get list email when I'm listed in To or Cc
10:02
<annevk>
weird
10:03
<hsivonen>
I can't remember what the rationale for not hoisting <base> into <head> is.
10:04
<annevk>
some browsers did not do it
10:04
<annevk>
and we could remove it for everything else
10:04
<annevk>
so consistency
10:04
<hsivonen>
annevk: well, WebKit takes it into account when not hoisted
10:05
<hsivonen>
annevk: and IE8 doesn't implicitly open body for <foo:bar/> above <base>
10:06
<annevk>
i saw that bug
10:06
<annevk>
not sure why we restrict it to <head> personally; i guess because IE did that too
10:07
<hsivonen>
I think making it taken into account only in head makes more sense than not hoisting it there
10:07
<annevk>
to me it's the opposite :)
10:08
<hsivonen>
do we get some XSS defense in depth benefit from not hoisting?
10:08
<annevk>
the benefit is less crazy behavior in the parser
10:09
<hsivonen>
I've spent more time diagnosing site compat problems arising from this than I would have spent making the parser hoist into head
10:09
<zcorpan_>
injecting a <base> is also a bit scary
10:09
<hsivonen>
so far we've had three:
10:10
<hsivonen>
1) <basefont> above <base> implicitly opened <body> and broke a bank. Fixed by making <basefont> stay in <head>
10:10
<annevk>
:/
10:10
<hsivonen>
2) Hypelatex putting <base> after <body>. Treated as evang email to a dead project, because their stuff already broke in IE8
10:11
<annevk>
so would 1) have worked if <base> worked outside <head> or would the rendering still be broken?
10:11
<hsivonen>
3) <c:set ... /> above <base> breaking united.com check-in process and IE8 keeping <c:set ... /> in head
10:12
<hsivonen>
annevk: all of these would have worked either by taking <base> into account as a child of <body> or by hoisting <base> into <head>
10:12
<hsivonen>
I think our DOM-side code is now saner than it used to be
10:12
<hsivonen>
I don't want to support multiple <base>s
10:13
<zcorpan_>
can we make <base> apply in body while not supporting multiple <base>s
10:13
<hsivonen>
zcorpan_: that would be a possibility
10:13
<hsivonen>
even only considering children of <body> would be enought without considering descendants
10:14
<zcorpan_>
alternatively we could make tags with colon in them stay in head
10:15
<zcorpan_>
or unknown tags with />
10:16
<hsivonen>
I wonder how common this problem is
10:17
<hsivonen>
we could also just wait for United.com to fix themselves eventually
10:18
<zcorpan_>
yeah
10:19
<zcorpan_>
i think Hixie analyzed <base> compat around the time ie8 shipped, and concluded that there was some breakage with ie8's behavior
10:20
<annevk>
hsivonen, just use the first <base>
10:20
<annevk>
hsivonen, you already need to take into account multiple <base> (somehow) as that situation could also occur with just <head>
10:21
<annevk>
this <basefont> hack also sounds ugly
10:21
<zcorpan_>
making <basefont> stay in head isn't ugly
10:21
<annevk>
everyone hates mutation events
10:22
<annevk>
if mutation events are going to end up in DOM Core I might cry
10:22
<annevk>
DOM Core is ugly enough as it is
10:22
<zcorpan_>
wouldn't they be in dom events?
10:23
<zcorpan_>
or do you mean as part of appendChild etc?
10:24
<hsivonen>
annevk: is it feasible to collect use cases from rich text editor developers, design and implement an async alternative and remove support for mutation events?
10:29
<annevk>
hsivonen, dunno
10:29
<annevk>
zcorpan_, the latter
10:30
<annevk>
zcorpan_, imo events need to be defined where they happen, otherwise it is not predictable enough
10:36
<annevk>
hsivonen, I've seen people on webkit-dev suggest they are willing to remove mutation events and replace it with an async model
10:39
<jgraham>
The problem with removing mutation events is that it is likely to break sites
10:43
<hsivonen>
jgraham: only rich text editor libraries used on sites or site-specific code?
10:43
<jgraham>
hsivonen: Not sure
10:44
<jgraham>
If it breaks rich text editor libs that is a big deal
10:44
<jgraham>
We can't realisticly ship a product that breaks e.g. tinyMCE
10:44
<jgraham>
(no idea if tinyMCE uses mutation events)
10:44
<annevk>
but they can get updated over time
10:45
<hsivonen>
is it assumed that sites never update their copy of tinyMCE?
10:45
<annevk>
e.g. over the course of a year or maybe two years
10:45
<jgraham>
That is an ideal first order assumption
10:45
<jgraham>
This sounds dangerously close to idealism rather than pragmatism
10:46
<jgraham>
(I mean it is a good assumption that they never update)
10:46
<jgraham>
(and it is idealism to assume that we can remove large, ugly, features from the platform)
10:47
<annevk>
sure
10:47
<annevk>
I don't think some amount of idealism is bad
10:47
<jgraham>
I mean we could have an alterntaive model and hope that eventually people use that insteade
10:47
<jgraham>
But we would have to take the risk of having two models
10:48
<annevk>
if mutation events start generating lots of noise in error consoles and there's an alternative I think we might find that we can change it
10:48
<annevk>
especially since they're only (mostly?) used for editors
10:48
<jgraham>
Generating noise in error consoles hasn't worked so well for..l. well anything
10:49
<jgraham>
Firefox even has messages saying "this site is insecure" and "this property has no effect" and they get ignored
10:49
<othermaciej>
jgraham: one thing I proposed on webkit-dev is to only ever fire the DOMSubtreeModified mutation event, batch it, and possibly fire it async
10:50
<othermaciej>
jgraham: I am not sure if this would be compatible with content, but it is technically compliant with DOM Level 3 Events afaict
10:51
<annevk>
what the specs say doesn't matter much -- they can be fixed
10:51
<jgraham>
It is what content requires that is important
10:51
<annevk>
jgraham, it has for e.g. Gecko trying to remove proprietary APIs
10:51
<annevk>
(the error console trick)
10:51
<jgraham>
annevk: Really? Examples?
10:52
<annevk>
getBoxObject() or some such
10:52
<jgraham>
Hmm
10:53
<annevk>
I think you're too pessimistic
10:53
<annevk>
but anyway, this is only about trying, if it does not work out, it does not work out, no big deal
11:37
<karlcow>
http://jobs.bbc.co.uk/fe/tpl_bbc01.asp?newms=jj&id=35072&aid=10281
11:55
<MikeSmith>
hsivonen: thinking further about updates to the validator.nu build, Scons looks like non-maniacal build system (i.e., one that lacks the misfeatures of Ant and Maven)
11:55
<MikeSmith>
and it has built-in support for building Java apps
11:55
<MikeSmith>
http://www.scons.org/doc/0.96.1/HTML/scons-user/c2590.html
11:56
<MikeSmith>
not that there's anything broken in the current build script
11:57
Philip`
thought SCons became unfashionable several years ago
11:57
<MikeSmith>
oh?
11:57
<Philip`>
(at least for C++ - everyone's into CMake now)
11:58
<Philip`>
(Probably not relevant for Java though)
11:58
<MikeSmith>
I noticed Scons today because V8 uses it
11:59
<MikeSmith>
I didn't know anything about Scons until I checked out the V8 code and found a SConstruct file where I was looking for makefile
12:00
<MikeSmith>
anyway, I was thinking about it for the v.nu build case because the v.nu build is already using a Python-based build script
12:00
<MikeSmith>
it's just that it's an ad-hoc one
12:01
<MikeSmith>
and it's a script, not a make mechanism - that is, it rebuilds the entire tree every time you run it
12:01
<MikeSmith>
instead of just rebuilding particular targets whose dependencies have changed
12:01
<MikeSmith>
but that said, it builds very quickly anyway
12:02
<Peter`>
MikeSmith: pong
12:02
<MikeSmith>
but if we end up moving the sources from the current subversion hosting service they are at now to some git-based or mercurial-based hosting service, we are going to need to make changes to the build anyway
12:02
<MikeSmith>
Peter`: hey man
12:03
<MikeSmith>
I had just been pinging you to say thanks
12:03
<MikeSmith>
for the latest status writeup
12:03
<Peter`>
don't worry about it, hope the post can be a bit less techy next week
12:03
<Peter`>
cheers! :)
12:03
<MikeSmith>
I don't mind the techy bits
12:04
<MikeSmith>
but I guess focusing on some non-techy bits would get more people to read about it
12:04
<zcorpan_>
read what?
12:04
<Peter`>
Ideally I'd like the posts to put some more attention to the "usable" parts, standards, things they can try out by downloading a nightly, possibly even with examples
12:04
<Peter`>
zcorpan_: http://peter.sh/
12:06
zcorpan_
wasn't at the csswg meeting
12:16
<Craig`>
hey guys.
12:17
<Craig`>
http://pastie.org/1141746 for some reason the alert('executed'); is never being executed, so that would imply that the image is not being loaded? can someone help me please.
12:18
<zcorpan_>
if you insert the image to the document, does it load?
12:19
<Craig`>
i'll try
12:20
<Craig`>
Yeah it loads
12:20
<annevk>
Craig`, your drawImage call could also fail
12:21
<annevk>
oh
12:21
<annevk>
that really ought to work
12:23
<Craig`>
what should i do then? ;/
12:23
<Craig`>
i was wanting to do some pixel/color manipulation on an iamge
12:24
<zcorpan_>
do you have a <canvas> element in the document?
12:25
<annevk>
Craig`, file bugs :)
12:25
<zcorpan_>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/619 wfm
12:25
<Craig`>
yeah zcorpan_ i'll paste my html
12:27
<Craig`>
http://pastie.org/1143435
12:28
<zcorpan_>
does the script load?
12:28
<Craig`>
yep
12:28
<Craig`>
the canvas is 300x300
12:28
<Craig`>
and when i debugged by placing an alert
12:28
<Craig`>
it worked
12:29
<zcorpan_>
you sure you have the right path to the image?
12:29
<Craig`>
the image was origininally ../images/rs.png but that didn't work either so i placed it in the behaviour folder
12:29
<Craig`>
so my behaviour directory consists of base.js and rs.png
12:30
<Philip`>
The img.src is relative to the HTML page, not the .js file
12:30
<zcorpan_>
what Philip` said
12:30
<Craig`>
i actually just tried that
12:30
<Craig`>
but i'm sure it didn't wrork, i'll retry
12:31
<Craig`>
still doesn't work
12:31
<Craig`>
ignore that
12:31
<Craig`>
thanks.
12:32
<Craig`>
i spelled behaviour wrong
12:32
<Craig`>
haha :)
12:34
<Craig`>
do you think canvas has the potential for some serious colour manipulation? ie seeing if a colour exists in an x1,y1,x2,y2 environmentn, able to somehow create OCR etc etc?
12:35
<annevk>
people have done such things
12:35
<Craig`>
awesome
12:35
<annevk>
http://blog.mozbox.org/post/2009/04/12/Firefox-35%3A-a-new-experiment-with-Canvas-Video
12:36
<Craig`>
well what i'm wanting to do is game emulation, i've been told several times that i can't have javascript to emulate a mouse click on a java applet, but with getWindow (i think that's the name of the function) i could take a screenshot of the java applet as such then carry out manipulation on a canvas?
12:37
<annevk>
there's drawWindow() in Firefox but that is not exposed to web pages
12:37
<annevk>
also Java, boo
12:37
<Craig`>
yeah I know about Java, heh.
12:37
<Craig`>
it's a game so it's not my fault it's java :)
12:38
<zcorpan_>
port the game to canvas :)
12:38
<Craig`>
it's one of the biggest MMORPGS i doubt i can do that?
12:38
<MikeSmith>
http://twitter.com/pornelski/status/23228959072
12:38
<annevk>
so true
12:40
<Craig`>
i've been to `color clicking' communities in the past but they've used pascal and i'm more into web dev per se myself so i was hoping i could accomplish something as a project :) so thankfully it sounds like i can remake some if not all of the techniques they use it's just finding out how to emulate a click
12:41
<jgraham>
BBC are going to have a rep? That is awesome
12:43
<Craig`>
would you guys mind answering my questions when i have them? it's probably mostly code improvement and efficiency because if i'm to implemenet findColor(color, x1, y1, x2, y2) etc my version will surely be inefficient
12:45
<annevk>
this channel doesn't really have much rules so just ask and maybe you'll get an answer
12:51
<Craig`>
are there any books you advise me reading before attempting this project?
12:51
<Craig`>
or references
12:53
<Philip`>
You could try reading the HTML5 spec
12:53
<annevk>
well, if you continue with this Java thing I guess you will run into the problem that drawWindow() will not work in most browsers and in Firefox only runs for trusted content
12:53
<annevk>
but it really depends on what you want to know more about :)
12:56
<annevk>
zcorpan_, might end up removing your nodeType/nodeName/nodeValue table
12:56
<annevk>
zcorpan_, nodeValue can also be set
12:56
<Craig`>
well, if i'm honest i think i should get a brilliant javascript understanding before this, also i'd need to know colour algorithms and the like, but yeah, do you think what i'm wanting to do is somewhat possible? fair enough i may not be able to emulate a click with javascript but hopefully in the end i'll be able to have a scripts somewhat determine if some object is a tree or monster etc, by doing some advanced techniques
13:05
<zcorpan_>
annevk: i don't care for the table :)
13:09
<hsivonen>
sigh. is there a non-UTF-8 byte somewhere in html5lib .dat files...
13:11
<nessy>
Craig` thought about using svg?
13:13
<hsivonen>
yes, entities01.txt and entities02.txt aren't valid UTF-8
13:13
<hsivonen>
:-(
13:14
<hsivonen>
actually, it's just entities01.dat
13:14
<MikeSmith>
what is google bubbles?
13:15
<hsivonen>
and some other data file has a byte that's not valid Windows-1252
13:15
<hsivonen>
grr
13:23
<hsivonen>
hmm. or is gedit just incapable of handling Astral Planes?
13:23
<Craig`>
nessy: i've used svg in the past, but svg wouldn't be suited for this would it? I mean i'm wanting to do color manipulation on an image of a java applet
13:24
<nessy>
I missed the java applet part
13:24
<Craig`>
:)
13:24
<nessy>
how do you even get that into javascript?
13:25
<Craig`>
not even sure yet, i've been told getWindow but then i think someone mentioned it doesn't work if you have to confirm security
13:25
<Craig`>
or swomething
13:25
<nessy>
once you have it in javascript, you can use both canvas or svg to manipulate it - I just saw you needed mouse events, so svg would be more appropriate
13:26
<Craig`>
well i need to simulate a click on the applet
13:26
<nessy>
or do both, each for what it's better at :)
13:26
<nessy>
oh! that's a different problem altogether - good luck then!
13:26
<hsivonen>
Craig`: and you want to keep the Java code as an applet instead of porting it to the Open Web Platform using GWT?
13:26
<espadrine>
Hi, I'd like to know for sure if "new Image(undefined)" should trigger an error, as it does in Firefox, or be interpreted as "new Image(0)", as it does in Chrome, Webkit and Opera?
13:26
<Craig`>
could i do that?
13:26
<Craig`>
without the company knowing
13:27
<Craig`>
ignore the last message i said ;D
13:27
<hsivonen>
Craig`: I'd expect it to be hopeless to integrate <canvas> and an applet
13:28
<Craig`>
:/
13:28
<hsivonen>
Craig`: depending on how complex the applet is, you might be able to implement enough of the infrastructure it needs on GWT and compile the Java code into JS
13:28
<zcorpan_>
Craig`: maybe you can use Watir to read pixel data and emulate clicks on the applet
13:28
<hsivonen>
what's Watir?
13:28
<zcorpan_>
http://watir.com/
13:30
<Craig`>
i doubt i'll be able to convert it
13:30
<Craig`>
the source is obbed
13:30
<zcorpan_>
(related: http://my.opera.com/core/blog/2009/03/06/test-automation-with-operawatir )
13:31
<jarib>
if you want to do native clicks, webdriver would be a better choice
13:31
<Craig`>
so i can't do this wit purely javascript?
13:32
<zcorpan_>
don't think so, no
13:32
<zcorpan_>
jarib: i thought watir did "native clicks"
13:33
<Craig`>
i doubt i can convert the code like you said because it's been obscured
13:33
<Craig`>
(sorry forgottent he word)
13:34
<zcorpan_>
Craig`: GWT is automated conversion
13:34
<jarib>
zcorpan_: it does a DOM click() (through OLE)
13:35
<zcorpan_>
jarib: ah. then i guess OperaWatir is different
13:35
<Craig`>
oh cool
13:35
<jarib>
zcorpan_: incidentally, there's a watir wrapper for webdriver (http://github.com/jarib/watir-webdriver) :)
13:36
<Craig`>
i'm totally new to this so i'll probably be asking this many questions for a long time :)
13:36
<Craig`>
i just hope that it's possible :D
13:36
<jarib>
zcorpan_: also if you have any influence on the operawatir folks, you should make them to work on their webdriver implementation instead
13:37
<Craig`>
would it be considerably easier (or make it possible) if i converted the code
13:37
<jarib>
and they'll get the Watir API for free through my project :P
13:37
<Craig`>
just i didn't think you could do this because the game interacts with server so that you can not edit values etc
13:37
<Craig`>
well you can edit client side values that is, ie changing a value to make player black
13:37
<zcorpan_>
jarib: i probably have as much influence as you do
13:38
<jarib>
ok. you never know :)
13:42
<jgraham>
jarib: In what sense "work on"?
13:42
<jgraham>
We have a web driver implementation
13:44
<Craig`>
so yeah, i don't know whether to attempt this project or try and learn to make some canvas 2d/3d games ;/
13:44
<jarib>
jgraham: if the WD impl. was open source, we could write ruby bindings and it would "just work" with watir-webdriver
13:45
<jgraham>
jarib: You should speak to wilhelm
13:47
<jarib>
ok
13:48
<jarib>
i did chat with Andreas T. about this, he said they were basically working to just get things out the door (both OperaWatir + the webdriver bindings)
13:50
<annevk>
jarib, so what use is something like this outside browsers? some kind of website regression testing?
13:50
<jgraham>
annevk: Yeah, you automate your website in various browsers to check that it does what you expect under various actions
13:51
<zcorpan_>
or cheat in java games like Craig` is trying to do :)
13:51
<annevk>
ooh, everyone gets professional these days
13:54
<Craig`>
right i'm back had to do a few things, what should i start doing first then if i want to try this project?
13:57
<zcorpan_>
Hixie: http://www.w3.org/Bugs/Public/show_bug.cgi?id=10545 i think he's saying that the status annotations are annoying
13:59
<Craig`>
sorry does someone have the link for gwt? i've just googled, is this the page? http://code.google.com/webtoolkit/makinggwtbetter.html
14:00
<rimantas>
Craig`, more or less
14:00
<rimantas>
http://code.google.com/webtoolkit/overview.html
14:06
<Craig`>
i've got no idea how to even start using it, i mean to download the applet last time i think you had to build a `runner', ie writing some java code to trick the applet into thinking it was still on the webpage
14:08
<zcorpan_>
i guess you need the java source code for it to work
14:10
<Philip`>
I expect you'll have a very hard time if you're trying to do things that the applet developers specifically want to prevent
14:11
<Philip`>
and you'll make it far harder for yourself if you want to do it with web standards, rather than platform-specific hacks
14:11
<hsivonen>
basically, you are in the world of hurt if you want to do anything new and what you have now is an applet
14:14
<Craig`>
damn^
14:14
<Craig`>
meh i'm wanting to have some fun projects but web based, but everything i want to do web based (that is already done desktop based) is near enough impossible ;/
14:16
<Philip`>
Rather than taking something that's already done on the desktop and then doing it on the web, maybe you could try something that's inherently webby and not done on the desktop, and then it might be less painful :-)
14:19
<zcorpan_>
like making a web page?
14:19
<hsivonen>
implementing the applet APIs for GWT would gave great hack value, though
14:20
<Philip`>
Does the game use OpenGL APIs too?
14:22
<hsivonen>
it's a bit odd that there isn't a full implementation of the applet APIs and AWT for GWT yet
14:22
<hsivonen>
(or wasn't last time I looked)
14:23
<Philip`>
zcorpan_: Web pages are boring - I was thinking more of pointless flashy demos that use lots of dynamic content and third-party APIs and stuff, since web technology seems quite good at integrating things like that
14:28
<jgraham>
Like a 3D fish swimming in a stream of particles where each particle is a tweet and you can make the fish eat the tweets
14:30
<hsivonen>
jgraham: now you scared him off
14:30
<gsnedders>
jgraham: Be kind to the children.
14:30
<gsnedders>
Else they get annoyed and violent, even towards girls.
14:32
<jgraham>
You think he is going to go and beat people up because I imagined a demo? That is... interesting logic
14:33
<gsnedders>
You scared him.
14:34
<gsnedders>
It could have made consquences.
14:36
<jgraham>
gsnedders: Which language are you speaking today?
14:36
<jgraham>
It sounds like you are auto-translating to English
14:41
<gsnedders>
I spoke French
14:53
<MikeSmith>
jgraham: if you build an iPhone app along the lines you have described, I will pay you $3.99 for it
14:58
<jgraham>
MikeSmith: With that promise I would have a total expected revenue of $3.99
14:58
<KaOSoFt>
;_;
15:19
<annevk>
zcorpan_, yt?
15:19
<annevk>
so instead of legal hierarchy I was wondering about having a top-level section before "Nodes"
15:20
<annevk>
called "Nodes Model" or maybe "DOM Model" or whatever
15:20
<annevk>
that defines where nodes can occur relative to each other
15:20
<zcorpan_>
annevk: sure
15:20
<annevk>
e.g. there's one Document, it has exactly one child Element node
15:20
<annevk>
DocumentType needs to precede that Element node, blah die blah
15:21
<annevk>
and then have all mutating methods reference it
15:21
<annevk>
and throw when something is done that violates the model
15:21
<zcorpan_>
the list of conditions currently are always false
15:22
<zcorpan_>
since a node can't be both an attr and an element
15:23
<annevk>
kk, guess I won't preserve much of the current section
15:23
<annevk>
the new section will also say that defining how you get this structure from a byte/character stream is out of scope
17:10
<jgraham>
Is the Video MIME type thread still going on? Hasn't everything been said already?
17:11
jgraham
has not been closely following
17:58
<jwalden>
jgraham: everything has never been said
19:25
<Workshiva>
Is it too late to request a change so </sarcasm> doesn't cause a parse error due to missing start tag?
20:02
<hsivonen>
marking CDATA_SECTION_NODE historical is radical
20:03
<annevk>
yup
20:04
<annevk>
but it would be neat
20:27
<TabAtkins>
annevk: For CSSOM Values API, would the .values just be added to CSSStyleRule? If so, would that be added in general to all the places you can get a CSSStyleRule from?
20:28
<annevk>
it would be added to CSSStyleDeclaration
20:28
<annevk>
as specified in the draft
20:28
<TabAtkins>
Durp, right.
20:28
<annevk>
and it would always be there, yes
20:31
<TabAtkins>
What level is the Values API inserted at? Same as plain CSSOM, which means just setting the @style attribute?
20:34
<TabAtkins>
annevk: And if so, then what does it *get*?
20:36
<annevk>
lol http://twitter.com/dstorey/status/23262379450
20:37
<annevk>
TabAtkins, it depends on what you are manipulating
20:37
<annevk>
TabAtkins, could be @style, could be a rule in the style sheet, could be readonly (computed style)
20:38
<TabAtkins>
Okay, but if you're just doing el.style.values it's the @style attribute?
20:38
<annevk>
TabAtkins, same as CSSStyleDeclaration really
20:38
<annevk>
TabAtkins, yes, because el.style is the style attribute
20:38
<TabAtkins>
Cool, just patching up my mental model. I had a broken understanding of the plumbing here.
20:48
<annevk>
oh hey
20:48
<annevk>
geolocation is Last Call
20:48
<annevk>
euh, Candidate Recommendation
20:49
<TabAtkins>
annevk: Just making sure I'm sane: I'm floating the values api internally. Someone commented that they don't like that the setter and getter work at different levels (specified and used, respectively). That's not actually true, right? Both work on specified level, but getting might pass the value through a hidden conversion step which may rely on layout info, which essentially pushes it down into a used value?
20:49
<Craig`>
hey again.
20:50
<annevk>
TabAtkins, yeah, I'm not sure if we should really go there
20:50
<TabAtkins>
annevk: Hm? What do you mean?
20:50
<annevk>
TabAtkins, "someone" might actually be right that we should not do the conversion
20:50
<TabAtkins>
But that means I can't grab the pixel width of something that was specified in percents!
20:51
<annevk>
TabAtkins, you can if you get the computed value
20:51
<Craig`>
for those of whom i was talking to before about my java applet project would you suggest me attempting that or learning webgl? i'm really interested at the project i just don't know if *i* can acomplish it
20:51
<annevk>
TabAtkins, which is really the used value for some stuff
20:51
<annevk>
TabAtkins, but if it's just .style or CSSStyleRule that does not seem like a good idea
20:51
<TabAtkins>
annevk: That just means I have to screw around with a *third* interface. ;_;
20:52
<annevk>
computed values is not a new interface
20:52
<hsivonen>
Craig`: if you want to do 3D on the Web, WebGL is the thing to learn
20:52
<Craig`>
i'd like to do 3D on the web yes, it's just i don't know if i'm ready to learn webgl yet, that is if i'm capable.
20:52
<annevk>
there's a guy that's learning it as well and is writing his thoughts down as he goes
20:53
<Craig`>
i've always been interested in making my own automation bot for a game, and especially a web based one but the implications discussed before were....ah.
20:53
<TabAtkins>
Well, it's one more thing to screw around with for little apparent return on value.
20:53
<Craig`>
annevk: giles?
20:53
<annevk>
http://learningwebgl.com/blog/
20:54
<annevk>
TabAtkins, kind of depends on what you are after I guess
20:54
<annevk>
TabAtkins, we mostly want this API to avoid string manipulation
20:54
<Craig`>
bbl.
20:54
<TabAtkins>
Personally, I'm interested in a simple way to get at a value in whatever form I need, in as simple a way as possible.
20:55
<annevk>
if you just want the value why not use the computed style API?
20:55
<TabAtkins>
That returns me the px value of <length>s, though.
20:56
<annevk>
sure, but for computed styles we could convert I think
20:57
<annevk>
going from px to em is easy
20:57
<annevk>
that is always easy in fact, so that we could always allow
20:57
<annevk>
'ex' gets rather tricky though for the non-computed cases
20:58
<annevk>
though we could just say it means .5em in such scenarios if that would make people happy...
21:00
<TabAtkins>
So would you have some weird situation where el.style.values.px just didn't work (or threw an error or something) if the value was specified in percents?
21:05
<annevk>
yeah, basically
21:06
<annevk>
Hixie's original proposal had an exception, I'd prefer something more silent, but dunno really
21:06
<TabAtkins>
That sucks. ;_;
21:07
<annevk>
don't really know how else to do it
21:07
<TabAtkins>
With an implicit conversion step?
21:08
<annevk>
what if the element was not in the DOM?
21:08
<TabAtkins>
If you expose the current type of the value, and provide a measure() function for resolving lengths manually, people can work around cases where they don't want the automatic stuff.
21:08
<TabAtkins>
If it's not in the DOM it does something magic, whatever we'd like a measure() function to do in the same situation.
21:09
<annevk>
what if it's not rendered?
21:09
<annevk>
I don't think I want this measure()
21:09
<annevk>
we have enough layout APIs as it is
21:09
<TabAtkins>
Without measure(), you have to create fake elements just to do unit conversion.
21:10
<TabAtkins>
And by "you" I mean "several teams at Google, multiple times independently in the past".
21:10
<TabAtkins>
And probably other people too.
21:10
<annevk>
sure
21:10
Hixie
pokes his head in
21:10
<Hixie>
wassup
21:10
<TabAtkins>
Yo.
21:10
<annevk>
nothing much really
21:11
<annevk>
just explaining your old CSS values proposal from last decade
21:11
<annevk>
:)
21:11
<TabAtkins>
And I'm trying to poke it into something less clumsy than what Anne's envisioning.
21:12
<annevk>
yeah... "less clumsy" is not the words I would chose
21:12
<TabAtkins>
annevk: If the element's not being rendered (display:none or something), that's basically the same issue as if it's not in the document - there's just not sufficient information to resolve it. Some appropriate error should be thrown, probably the same in both cases.
21:13
<Hixie>
what's the problem y'all are trying to solve?
21:13
<Hixie>
specifically :-)
21:13
<TabAtkins>
I want units to interconvert transparently, so we dont' have to fap around with unit conversions in js code.
21:13
<annevk>
to obsolete DOM2Style completely implementations need an API for doing stringless CSS manipulation
21:14
<annevk>
that's my very minimal goal and I'd like to avoid making it much more complex, with undefined things like "implicit conversion"
21:14
<Hixie>
how would it not convert?
21:14
<TabAtkins>
Hixie: If you set el.style.width='50%' then ask for el.style.values.width.px, you have to grab layout information to do the conversion.
21:14
<TabAtkins>
annevk: What's undefined about it?
21:15
<Hixie>
oh, you mean unit conversion for units that have to go through layout
21:15
<Hixie>
fun
21:15
<annevk>
TabAtkins, why can't you just use clientWidth or some such?
21:15
<Hixie>
i'd recommend delaying until v2 before adding something that complex, we don't even know if the new API is any good yet
21:16
<annevk>
Hixie, glad we agree
21:16
<Hixie>
but v2 could be in a mere few months
21:16
<Hixie>
in the meantime you probably want to figure out how it would work
21:17
<Hixie>
so that you can put in NOT_IMPLEMENTED_ERR blocks in appropriate places
21:17
<Hixie>
so that people don't depend on it doing something else
21:17
<TabAtkins>
annevk: That kinda works for width specifically (though the various xWidth things all have their own specific quirks, and none actually reflect what I specify in 'width'), but it doesn't work at all for anything else that uses a <length>.
21:17
<ojan_>
meh. i still think explicit conversion functions are much clearer.
21:18
<Hixie>
what tab described isn't conversion as far as i can tell
21:18
<TabAtkins>
Hixie: It's a conversion from % to px.
21:18
<Hixie>
it's trying to read used values
21:18
<Hixie>
as another unit
21:18
<Hixie>
it probably shouldn't be in the same API as specified values
21:18
<Hixie>
since for many properties they're not really compatible
21:18
<annevk>
ooh
21:19
<annevk>
we might get ele.usedStyle or some such
21:19
<annevk>
if that is what you want...
21:19
<Hixie>
TabAtkins: no, it's a conversion from specified (as relative units) to used (as absolute units)
21:19
<ojan_sydney>
annevk: that would make much more sense to me
21:19
<TabAtkins>
Hixie: I'm... not sure what distinction you're trying to draw here between what you and I said.
21:20
<annevk>
there's a similar idea for ele.overrideStyle for animation and such
21:20
<annevk>
and something else, which I forgot
21:21
<annevk>
but the sense I got was that a stringless API had priority and then we could add that kind of functionality
21:21
<ojan_sydney>
annevk: not to get too off-topic, but i've often wanted cascadedStyle as well. (a la IE's currentStyle).
21:22
<Hixie>
TabAtkins: there doesn't need to be a unit conversion
21:22
<annevk>
ojan_sydney, that is the one I forgot :)
21:22
<annevk>
ojan_sydney, dbaron wants it too
21:22
<annevk>
ojan_sydney, and lots of other people I'm sure
21:22
<Hixie>
TabAtkins: you can set the right margin in pixels, for example, and yet get a used value that's a different number
21:22
<Hixie>
TabAtkins: but presumably you don't want the same API to expose used values yet set specified values
21:23
<TabAtkins>
Hm. In what situation would something like that happen? (setting margin-right in px and getting a different value back out)
21:23
<Hixie>
overconstrained block layout, table layout, flex layout, any number of things
21:24
<TabAtkins>
Ah, right.
21:25
<Hixie>
similarly if you want to read what font name was actually used, you can't do that from this kind of API -- you'd have to have an API that would let you inspect individual characters
23:30
<Hixie>
abarth: there's no point sending -1 e-mails to the whatwg list, i ignore them when responding and editing the spec
23:30
<Hixie>
(same with +1s)
23:31
<abarth>
ok
23:31
<abarth>
sorry for the noise
23:32
<Hixie>
not really sure what to do with that whole thread
23:33
<Hixie>
it really only matters on a per-media-type basis
23:35
<abarth>
i think folks just are upset at each other
23:35
<abarth>
and need to air their sadness
23:35
<Hixie>
well, the main offenders are microsoft, and they're not on the list
23:48
<Hixie>
can people test their favourite media players that support SRT and see what they do with http://www.hixie.ch/tests/adhoc/srt/018.srt ?
23:48
<Hixie>
I tested VLC on Mac, it displays cues 1 and 2, then all of the remainder except 7 as one cue, then later it shoes 7.
23:48
<Hixie>
shows even
23:55
<aho>
i like that the menu element is back :)