01:14
<rniwa>
AryehGregor: yt?
01:14
<rniwa>
AryehGregor: yt?
05:30
<rniwa>
AryehGregor: yt?
05:31
<rniwa>
AryehGregor: yt?
05:31
<rniwa>
or is there anyone else familiar with Callback in Web IDL?
05:31
<heycam>
rniwa, hey
05:31
<rniwa>
or is there anyone else familiar with Callback in Web IDL?
05:31
<heycam>
rniwa, hey
05:31
<rniwa>
heycam: hi
05:31
<rniwa>
heycam: do you know Callback?
05:31
<heycam>
rniwa, yeah
05:32
<rniwa>
heycam: hi
05:32
<rniwa>
heycam: do you know Callback?
05:32
<heycam>
rniwa, yeah
05:32
<rniwa>
heycam: so I thought I can turn http://rniwa.com/editing/undomanager.html#dom-domtransaction into a dictionary
05:32
<rniwa>
heycam: but it isn't so simple
05:33
<rniwa>
heycam: so I thought I can turn http://rniwa.com/editing/undomanager.html#dom-domtransaction into a dictionary
05:33
<rniwa>
heycam: but it isn't so simple
05:33
<rniwa>
heycam: because they're callback functions, they can't be GC'ed like other objects :(
05:33
<heycam>
rniwa, oh I see, since it's got Functions
05:33
<rniwa>
heycam: yeah...
05:33
<rniwa>
heycam: because they're callback functions, they can't be GC'ed like other objects :(
05:33
<heycam>
rniwa, oh I see, since it's got Functions
05:33
<rniwa>
heycam: yeah...
05:33
<heycam>
rniwa, so what I did when removing [Callback] from the spec was to replace it with two things
05:33
<heycam>
rniwa, one was the "callback Foo = returntype (args);" syntax
05:33
<heycam>
that's just for single functions
05:33
<rniwa>
heycam: kind of embarrassing story but I didn't realize that it won't work 'til I started to implement it
05:34
<heycam>
rniwa, so what I did when removing [Callback] from the spec was to replace it with two things
05:34
<heycam>
rniwa, one was the "callback Foo = returntype (args);" syntax
05:34
<heycam>
that's just for single functions
05:34
<rniwa>
heycam: kind of embarrassing story but I didn't realize that it won't work 'til I started to implement it
05:34
<heycam>
and the other is "callback interface Something { attribute whatever; void somefunction(); }"
05:34
<heycam>
and the other is "callback interface Something { attribute whatever; void somefunction(); }"
05:34
<heycam>
so I think you want the latter
05:34
<rniwa>
heycam: right.
05:34
<rniwa>
heycam: yeah, so I do want the latter
05:34
<rniwa>
heycam: but then I can't really get rid of the interface
05:34
<rniwa>
heycam: i.e. can't just do document.undoManager.transact({ executeAutomatic: function () {
05:34
<rniwa>
this.executeAutomatic = function () { alert('foo'); }
05:34
<rniwa>
alert('bar');
05:34
<rniwa>
}, undo: function () { alert('baz'); } }); // alerts 'bar'
05:35
<heycam>
so I think you want the latter
05:35
<rniwa>
heycam: right.
05:35
<rniwa>
heycam: yeah, so I do want the latter
05:35
<rniwa>
heycam: but then I can't really get rid of the interface
05:35
<rniwa>
heycam: i.e. can't just do document.undoManager.transact({ executeAutomatic: function () {
05:35
<rniwa>
this.executeAutomatic = function () { alert('foo'); }
05:35
<rniwa>
alert('bar');
05:35
<rniwa>
}, undo: function () { alert('baz'); } }); // alerts 'bar'
05:35
<heycam>
rniwa, no you can do that
05:35
<heycam>
rniwa, no you can do that
05:35
<rniwa>
heycam: really/
05:35
<rniwa>
heycam: does it support implicit instantiation?
05:35
<rniwa>
heycam: really/
05:35
<rniwa>
heycam: does it support implicit instantiation?
05:35
<heycam>
rniwa, yeah, for callback interfaces when it comes to convert the JS value into the "callback interface" value, it'll just inspect the properties on the JS Object for the attributes/methods
05:35
<rniwa>
heycam: okay.
05:35
<heycam>
rniwa, it should keep a reference to the JS Object ltself, not make a copy or anything, too
05:36
<heycam>
rniwa, yeah, for callback interfaces when it comes to convert the JS value into the "callback interface" value, it'll just inspect the properties on the JS Object for the attributes/methods
05:36
<rniwa>
heycam: okay.
05:36
<heycam>
rniwa, it should keep a reference to the JS Object ltself, not make a copy or anything, too
05:36
<rniwa>
heycam: maybe it's just that webkit's binding code doesn't support it then :\
05:36
<rniwa>
heycam: maybe it's just that webkit's binding code doesn't support it then :\
05:36
<rniwa>
heycam: right, that'll defeat the point of using callback interface
05:36
<heycam>
rniwa, there are rules in the spec about how attributes are read/written and operations are invoked on "user objects", which are JS objects that implement callback interfaces
05:36
<rniwa>
heycam: yeah, I was just reading that section
05:36
<heycam>
rniwa, hmm, so you *want* to make a copy of the properties on the object passed in?
05:37
<rniwa>
heycam: right, that'll defeat the point of using callback interface
05:37
<heycam>
rniwa, there are rules in the spec about how attributes are read/written and operations are invoked on "user objects", which are JS objects that implement callback interfaces
05:37
<rniwa>
heycam: yeah, I was just reading that section
05:37
<heycam>
rniwa, hmm, so you *want* to make a copy of the properties on the object passed in?
05:37
<rniwa>
heycam: no
05:37
<rniwa>
heycam: I do want to keep the original object
05:37
<rniwa>
heycam: no
05:37
<rniwa>
heycam: I do want to keep the original object
05:37
<rniwa>
heycam: but... not all functions need to be present on the object
05:37
<rniwa>
heycam: that's what makes it much more complicated
05:37
<rniwa>
heycam: DOMTransaction has 5 properties but any one of them can be omitted :(
05:38
<rniwa>
heycam: but... not all functions need to be present on the object
05:38
<rniwa>
heycam: that's what makes it much more complicated
05:38
<rniwa>
heycam: DOMTransaction has 5 properties but any one of them can be omitted :(
05:38
<heycam>
rniwa, ok -- at least the rules should convert the undefined you get from getting the properties into the null
05:38
<heycam>
rniwa, ok -- at least the rules should convert the undefined you get from getting the properties into the null
05:38
<rniwa>
heycam: ah, ok
05:38
<heycam>
rniwa, I guess you're concerned about the fact that dictionaries let you specify default values for their members
05:38
<heycam>
or know whether they are omitted or not
05:39
<rniwa>
heycam: ah, ok
05:39
<heycam>
rniwa, I guess you're concerned about the fact that dictionaries let you specify default values for their members
05:39
<heycam>
or know whether they are omitted or not
05:39
<heycam>
oh hang on
05:39
<heycam>
oh hang on
05:39
<heycam>
so currently you have them written as "attribute Function? …"
05:39
<rniwa>
heycam: well, my problem is more of the fact this is very unusual interface obejct
05:39
<rniwa>
heycam: yeah, i think that's incorrect
05:39
<heycam>
actually that might be more correct :)
05:39
<rniwa>
heycam: but I couldn't find a way to right optional interface methods :(
05:39
<heycam>
if you want to allow the author to omit them
05:39
<rniwa>
s/right/write
05:40
<heycam>
so currently you have them written as "attribute Function? …"
05:40
<rniwa>
heycam: well, my problem is more of the fact this is very unusual interface obejct
05:40
<rniwa>
heycam: oh
05:40
<rniwa>
heycam: yeah, i think that's incorrect
05:40
<heycam>
actually that might be more correct :)
05:40
<rniwa>
heycam: but I couldn't find a way to right optional interface methods :(
05:40
<heycam>
if you want to allow the author to omit them
05:40
<rniwa>
s/right/write
05:40
<rniwa>
heycam: oh
05:41
<heycam>
but that's interesting I hadn't thought of that difference before
05:41
<heycam>
but that's interesting I hadn't thought of that difference before
05:41
<rniwa>
heycam: anyway, my concern is that there are no other web standards that use objects like this
05:41
<rniwa>
heycam: and i was wondering if there were a better way.
05:42
<rniwa>
heycam: anyway, my concern is that there are no other web standards that use objects like this
05:42
<rniwa>
heycam: and i was wondering if there were a better way.
05:42
<heycam>
yeah I am not sure if I have seen someone use "callback interface" yet
05:42
<heycam>
yeah I am not sure if I have seen someone use "callback interface" yet
05:42
<rniwa>
e.g. because they're callback functions that then get called much later when user-initiated undo/redo are involved
05:42
<heycam>
NodeFilter if rewritten with Web IDL would use it, iirc
05:42
<rniwa>
they have to be kept alive during normal GC cycles
05:43
<rniwa>
e.g. because they're callback functions that then get called much later when user-initiated undo/redo are involved
05:43
<heycam>
NodeFilter if rewritten with Web IDL would use it, iirc
05:43
<rniwa>
they have to be kept alive during normal GC cycles
05:43
<heycam>
still, if you had a dictionary with say some Node members, then they could have references kept to them by the DOM method, so I think it's the same thing here even though they're Functions
05:43
<heycam>
actually I'm not sure if any APIs *do* keep references to Node dictionary members like that
05:44
<heycam>
still, if you had a dictionary with say some Node members, then they could have references kept to them by the DOM method, so I think it's the same thing here even though they're Functions
05:44
<heycam>
actually I'm not sure if any APIs *do* keep references to Node dictionary members like that
05:46
<heycam>
rniwa, anyway I think the strong reference to the Functions that get passed in here would just be part of the semantics of whatever function accepts the DOMTransaction objects
05:46
<heycam>
rniwa, so probably the bindings code itself doesn't need to worry about it
05:47
<heycam>
rniwa, anyway I think the strong reference to the Functions that get passed in here would just be part of the semantics of whatever function accepts the DOMTransaction objects
05:47
<heycam>
rniwa, so probably the bindings code itself doesn't need to worry about it
05:48
<rniwa>
heycam: hm... possible.
05:49
<rniwa>
heycam: hm... possible.
05:49
<rniwa>
heycam: at least in webkit, we don't support Function type yet
05:49
<heycam>
s/strong reference/keeping of the strong reference/
05:49
<heycam>
ok
05:49
<rniwa>
heycam: at least in webkit, we don't support Function type yet
05:49
<heycam>
s/strong reference/keeping of the strong reference/
05:49
<heycam>
ok
05:49
<rniwa>
heycam: so that'll be an interesting journey :(
05:49
<heycam>
s/:(/:)/ :)
05:50
<rniwa>
heycam: so that'll be an interesting journey :(
05:50
<heycam>
s/:(/:)/ :)
05:56
<rniwa>
heycam: thanks for the clarification
05:56
rniwa
goes back on hacking
05:56
<heycam>
rniwa, no problem
05:56
<rniwa>
heycam: thanks for the clarification
05:56
rniwa
goes back on hacking
05:56
<heycam>
rniwa, no problem
06:02
<rniwa>
heycam: I guess I'll have to add Callback keyword?
06:02
<ruby_on_tails>
can anyone tell me why the canvas renders and then vanishes here http://thecodeplayer.com/walkthrough/ps3 (hit view code). but if i take the first 2 lines of the draw() out of it, it works fine
06:03
<rniwa>
heycam: I guess I'll have to add Callback keyword?
06:03
<ruby_on_tails>
can anyone tell me why the canvas renders and then vanishes here http://thecodeplayer.com/walkthrough/ps3 (hit view code). but if i take the first 2 lines of the draw() out of it, it works fine
06:03
<heycam>
rniwa, yes I think you should write it as "callback interface DOMTransaction { … }"
06:03
<heycam>
rniwa, yes I think you should write it as "callback interface DOMTransaction { … }"
06:03
<heycam>
rniwa, without the [NoInterfaceObject], since callback interfaces imply that
06:03
<rniwa>
heycam: right.
06:03
<heycam>
rniwa, without the [NoInterfaceObject], since callback interfaces imply that
06:03
<rniwa>
heycam: right.
06:03
<rniwa>
heycam: I think it was me reading some very old version of WebIDL spec
06:04
<rniwa>
heycam: I think it was me reading some very old version of WebIDL spec
06:04
<heycam>
rniwa, yeah the callback stuff changed in the last couple of months
06:04
<heycam>
rniwa, yeah the callback stuff changed in the last couple of months
06:51
<espadrine>
]
06:51
<espadrine>
]
07:48
<Hixie>
does overflow affect descendants that are position:fixed?
07:48
<Hixie>
per spec?
07:48
<Hixie>
does overflow affect descendants that are position:fixed?
07:48
<Hixie>
per spec?
07:59
<zcorpan>
is a position:fixed element a 'block container box'?
07:59
<Hixie>
probably
07:59
<zcorpan>
is a position:fixed element a 'block container box'?
07:59
<Hixie>
probably
07:59
<zcorpan>
then afaict the spec says "yes" (can't find anything that calls it out explicitly), but all my browsers disagree
08:00
<zcorpan>
then afaict the spec says "yes" (can't find anything that calls it out explicitly), but all my browsers disagree
08:00
<Hixie>
chrome 19 clips 'em
08:00
<Hixie>
chrome 19 clips 'em
08:00
<Hixie>
and it regresses a thing i'm doing :-)
08:00
<Hixie>
TabAtkins_: ^ maybe css should change if all the browsers agree on this
08:01
<Hixie>
and it regresses a thing i'm doing :-)
08:01
<Hixie>
TabAtkins_: ^ maybe css should change if all the browsers agree on this
08:13
<annevk>
oh, interface can be used as argument name again too now
08:14
<annevk>
oh, interface can be used as argument name again too now
08:17
<annevk>
heycam|away: event handler stuff looks okay now I guess
08:17
<annevk>
heycam|away: event handler stuff looks okay now I guess
08:35
<annevk>
heycam|away: I thought callback interface meant the interface is exposed?
08:35
<annevk>
heycam|away: oh wait, only if there's constants I guess
08:36
<annevk>
heycam|away: I thought callback interface meant the interface is exposed?
08:36
<annevk>
heycam|away: oh wait, only if there's constants I guess
09:51
<niloy>
If I put an event handler on 'scroll' event, how can I determine if the scroll was 'horizontal' or 'vertical'?
09:52
<niloy>
If I put an event handler on 'scroll' event, how can I determine if the scroll was 'horizontal' or 'vertical'?
10:07
<annevk>
is there a bug on upgrading HTML to the new callback syntax?
10:08
<annevk>
is there a bug on upgrading HTML to the new callback syntax?
10:58
<annevk>
http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html#utf-16
10:58
<annevk>
http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html#utf-16
10:58
<annevk>
guess I could have done some more arithmetic shifting instead of * 0x400 ...
10:59
<annevk>
guess I could have done some more arithmetic shifting instead of * 0x400 ...
12:28
<Philip`>
ruby_on_tails: I don't see any problem in that demo
12:29
<Philip`>
ruby_on_tails: I don't see any problem in that demo
12:29
<ruby_on_tails>
Philip`: did you hit the play button ?
12:30
<ruby_on_tails>
Philip`: did you hit the play button ?
12:30
<annevk>
how would you say bitwise or in prose?
12:31
<annevk>
how would you say bitwise or in prose?
12:31
<Philip`>
ruby_on_tails: No, but if I do then I don't any problem with the moving orange circle at the end of it
12:31
<annevk>
is 'Let <var title>byte2</var> be <var>code point</var> bitwise or 0x00FF' understandable?
12:32
<Philip`>
ruby_on_tails: No, but if I do then I don't any problem with the moving orange circle at the end of it
12:32
<annevk>
is 'Let <var title>byte2</var> be <var>code point</var> bitwise or 0x00FF' understandable?
12:32
<ruby_on_tails>
Philip`: doesnt the typing become very slow after setinterval is defined ?
12:32
<ruby_on_tails>
and the output starts to flicker
12:32
<ruby_on_tails>
Philip`: doesnt the typing become very slow after setinterval is defined ?
12:32
<ruby_on_tails>
and the output starts to flicker
12:34
<Philip`>
ruby_on_tails: I'd guess that problem is because setInterval won't call draw until 33ms after reloading the code, and the code-replaying thing is probably updating and reloading the code after not much more than 33ms, so it doesn't get much of a chance to render before resetting
12:35
<Philip`>
ruby_on_tails: I'd guess that problem is because setInterval won't call draw until 33ms after reloading the code, and the code-replaying thing is probably updating and reloading the code after not much more than 33ms, so it doesn't get much of a chance to render before resetting
12:35
<ruby_on_tails>
Philip`: the actual problem that i am facing is not with the render but with the stacking of the set intervals, the iframe is given a new js code which has a set interval every 33ms, all those setintervals stack up and slow down the entire thing
12:35
<Philip`>
annevk: Maybe write it as "OR" to distinguish it more clearly from normal prose?
12:36
<ruby_on_tails>
Philip`: the actual problem that i am facing is not with the render but with the stacking of the set intervals, the iframe is given a new js code which has a set interval every 33ms, all those setintervals stack up and slow down the entire thing
12:36
<Philip`>
annevk: Maybe write it as "OR" to distinguish it more clearly from normal prose?
12:36
<Philip`>
ruby_on_tails: Oh, I suppose that sounds possible, since you're never clearing the intervals
12:37
<Philip`>
ruby_on_tails: Oh, I suppose that sounds possible, since you're never clearing the intervals
12:37
<ruby_on_tails>
Philip`: the code that you see is supposed to come from users of the site who may not use clearintervals all the time
12:37
<ruby_on_tails>
Philip`: the code that you see is supposed to come from users of the site who may not use clearintervals all the time
12:37
<ruby_on_tails>
so currently i am thinking of going from 1-99999 and clear everything between 2 iframe injections ? thats the only solution i have got
12:38
<ruby_on_tails>
so currently i am thinking of going from 1-99999 and clear everything between 2 iframe injections ? thats the only solution i have got
12:40
<Philip`>
Could you run the code inside an iframe, and make it restart with a fresh document after each code change?
12:40
<Philip`>
like what http://software.hixie.ch/utilities/js/live-dom-viewer/ does
12:40
<Philip`>
Could you run the code inside an iframe, and make it restart with a fresh document after each code change?
12:40
<Philip`>
like what http://software.hixie.ch/utilities/js/live-dom-viewer/ does
12:40
<Philip`>
(iframe.contentWindow.document.open(); iframe.contentWindow.document.write(...); iframe.contentWindow.document.close(); etc)
12:41
<Philip`>
(iframe.contentWindow.document.open(); iframe.contentWindow.document.write(...); iframe.contentWindow.document.close(); etc)
12:43
<annevk>
Philip`: thanks
12:43
<annevk>
Philip`: thanks
12:43
<Philip`>
Alternatively, add a setInterval wrapper (var oldSI = window.setInterval; var intervals = []; window.setInterval = function(...) { var i = oldSI(...); intervals.push(i); return i; } etc) so you can tell what to explicitly clear
12:44
<Philip`>
Alternatively, add a setInterval wrapper (var oldSI = window.setInterval; var intervals = []; window.setInterval = function(...) { var i = oldSI(...); intervals.push(i); return i; } etc) so you can tell what to explicitly clear
12:44
<annevk>
http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html#utf-16-encoder
12:45
<annevk>
http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html#utf-16-encoder
12:45
<ruby_on_tails>
Philip`: its curretly refreshing the iframe on the right
12:45
<ruby_on_tails>
Philip`: its curretly refreshing the iframe on the right
12:46
<annevk>
I guess I should also define "decode utf-8" for the utf-8 only formats
12:46
<annevk>
I guess I should also define "decode utf-8" for the utf-8 only formats
12:46
<annevk>
(besides decoding as utf-8 it also skips a BOM if there is one)
12:47
<annevk>
(besides decoding as utf-8 it also skips a BOM if there is one)
12:47
<ruby_on_tails>
Philip`: the setinterval keeps running even after the iframe refreshes
12:47
<ruby_on_tails>
Philip`: the setinterval keeps running even after the iframe refreshes
12:47
<ruby_on_tails>
Philip`: what is that setinterval wrapper ? could explain a bit ?
12:47
<annevk>
"utf-8 decode" works better
12:48
<ruby_on_tails>
Philip`: what is that setinterval wrapper ? could explain a bit ?
12:48
<annevk>
"utf-8 decode" works better
12:52
<annevk>
is it code point-based formats
12:52
<annevk>
or code-point-based
12:52
<annevk>
or code point based
12:52
<annevk>
is it code point-based formats
12:52
<annevk>
or code-point-based
12:52
<annevk>
or code point based
12:52
<Philip`>
ruby_on_tails: The timers seem to stop in e.g. http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cscript%3EsetInterval%28function%28%29{alert%281%29}%2C%204000%29%3C%2Fscript%3E whenever I change the code (e.g. change "1" to "2", and it no longer alerts 1)
12:53
<Philip`>
ruby_on_tails: The timers seem to stop in e.g. http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cscript%3EsetInterval%28function%28%29{alert%281%29}%2C%204000%29%3C%2Fscript%3E whenever I change the code (e.g. change "1" to "2", and it no longer alerts 1)
12:53
<annevk>
nm for now
12:53
<Philip`>
annevk: code[hypen]point[en dash]based, I think
12:53
<annevk>
nm for now
12:53
<Philip`>
annevk: code[hypen]point[en dash]based, I think
12:54
<ruby_on_tails>
Philip`: am not sure if i get it
12:54
<ruby_on_tails>
Philip`: am not sure if i get it
12:54
<Philip`>
s/hypen/hyphen/
12:55
<Philip`>
s/hypen/hyphen/
12:55
<Philip`>
(Also I don't know if that's a real convention or if I'm just imagining it)
12:55
<Philip`>
(Also I don't know if that's a real convention or if I'm just imagining it)
12:56
<annevk>
http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html#utf-8-decode
12:56
<annevk>
http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html#utf-8-decode
13:01
<Philip`>
annevk: What if the stream is shorter than three bytes?
13:01
<Philip`>
annevk: What if the stream is shorter than three bytes?
13:01
<annevk>
then there's no match?
13:02
<annevk>
then there's no match?
13:02
<annevk>
you think that should be more explicit?
13:02
<annevk>
you think that should be more explicit?
13:02
<annevk>
is it also unclear in http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html#decode ?
13:02
<annevk>
because I've been wondering about whether or not it was
13:02
<Philip`>
"the first three bytes" seems like an undefined concept in that case
13:03
<annevk>
is it also unclear in http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html#decode ?
13:03
<annevk>
because I've been wondering about whether or not it was
13:03
<Philip`>
"the first three bytes" seems like an undefined concept in that case
13:03
<Philip`>
The expected behaviour is obvious, so I guess it depends on how pedantically correct you want to be
13:03
<Philip`>
The expected behaviour is obvious, so I guess it depends on how pedantically correct you want to be
13:03
<ruby_on_tails>
Philip`: sorry you are watching the wrong link, this is the one which gets very slow http://thecodeplayer.com/walkthrough/ps6
13:04
<ruby_on_tails>
Philip`: sorry you are watching the wrong link, this is the one which gets very slow http://thecodeplayer.com/walkthrough/ps6
13:05
<Philip`>
In #decode: "the offset given the in the cell in the" - too many "the"s
13:05
<Philip`>
In #decode: "the offset given the in the cell in the" - too many "the"s
13:06
<Philip`>
"if the first bytes of stream match all the bytes given" sounds alright to me, since the meaning is clear and it's not being invalidly specific about how many bytes to examine from stream
13:07
<Philip`>
"if the first bytes of stream match all the bytes given" sounds alright to me, since the meaning is clear and it's not being invalidly specific about how many bytes to examine from stream
13:08
<annevk>
made some clarification, thanks
13:08
<annevk>
made some clarification, thanks
13:10
<Philip`>
"Let byte2 be code point bitwise OR 0x00FF." - shouldn't that be AND?
13:10
<Philip`>
"Let byte2 be code point bitwise OR 0x00FF." - shouldn't that be AND?
13:10
<MikeSmith>
zcorpan, annevk - fyi http://www.w3.org/TR/2012/WD-html5-diff-20120315/ is alive
13:11
<MikeSmith>
zcorpan, annevk - fyi http://www.w3.org/TR/2012/WD-html5-diff-20120315/ is alive
13:11
<MikeSmith>
symlink won't be updated til Thursday
13:11
<MikeSmith>
http://www.w3.org/TR/html5-diff/ I mean
13:11
<MikeSmith>
symlink won't be updated til Thursday
13:11
<MikeSmith>
http://www.w3.org/TR/html5-diff/ I mean
13:12
<annevk>
Philip`: yes
13:13
<annevk>
Philip`: yes
13:18
<annevk>
also fixed btw
13:18
<annevk>
also fixed btw
13:19
<annevk>
MikeSmith: cool
13:20
<annevk>
MikeSmith: cool
13:20
<annevk>
MikeSmith: any chance we can finally claim http://www.w3.org/TR/html/ this update?
13:20
<annevk>
MikeSmith: any chance we can finally claim http://www.w3.org/TR/html/ this update?
13:20
<MikeSmith>
ah
13:20
<MikeSmith>
I'll talk with plh about it
13:20
<MikeSmith>
certainly would make sense
13:21
<MikeSmith>
ah
13:21
<MikeSmith>
I'll talk with plh about it
13:21
<MikeSmith>
certainly would make sense
13:21
<annevk>
thanks
13:21
<annevk>
thanks
13:23
<annevk>
HTML callback bug is https://www.w3.org/Bugs/Public/show_bug.cgi?id=15358 btw
13:24
<annevk>
filed it myself
13:25
<annevk>
HTML callback bug is https://www.w3.org/Bugs/Public/show_bug.cgi?id=15358 btw
13:25
<annevk>
filed it myself
13:46
<annevk>
I cleaned up some HTML bugs
13:47
<annevk>
I cleaned up some HTML bugs
13:49
<annevk>
why does http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html not use partial Window?
13:49
<annevk>
why does http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html not use partial Window?
13:54
<zcorpan>
MikeSmith: nice
13:55
<zcorpan>
MikeSmith: nice
13:57
<zcorpan>
MikeSmith: what about changes to html that happen between that and whatever ends up on w3.org/TR/html5 (like Path, and if stuff get reverted)
13:57
<zcorpan>
MikeSmith: what about changes to html that happen between that and whatever ends up on w3.org/TR/html5 (like Path, and if stuff get reverted)
13:58
<MikeSmith>
zcorpan: that?
13:58
<MikeSmith>
zcorpan: that?
13:58
<MikeSmith>
you mean http://www.w3.org/TR/html/ ?
13:59
<MikeSmith>
you mean http://www.w3.org/TR/html/ ?
14:00
<zcorpan>
that being http://www.w3.org/TR/2012/WD-html5-diff-20120315/
14:00
<zcorpan>
MikeSmith: e.g. if http+aes gets reverted, it should be moved in the changelog in html5-diff
14:01
<zcorpan>
that being http://www.w3.org/TR/2012/WD-html5-diff-20120315/
14:01
<zcorpan>
MikeSmith: e.g. if http+aes gets reverted, it should be moved in the changelog in html5-diff
14:01
<MikeSmith>
hmm
14:01
<MikeSmith>
yeah
14:01
<MikeSmith>
hmm
14:01
<MikeSmith>
yeah
14:01
<MikeSmith>
I guess will quietly push any updates to the TR version if needed
14:02
<MikeSmith>
I guess will quietly push any updates to the TR version if needed
14:02
<zcorpan>
currently the Path addition is missing
14:03
<zcorpan>
currently the Path addition is missing
14:03
<MikeSmith>
if you make the change I will push it to TR
14:03
<MikeSmith>
if you make the change I will push it to TR
14:10
<MikeSmith>
zcorpan: hmm I see that pubrules apparently requires a link to a mailing list
14:11
<MikeSmith>
zcorpan: hmm I see that pubrules apparently requires a link to a mailing list
14:11
<MikeSmith>
it doesn't matter what it says
14:11
<zcorpan>
http://dev.w3.org/cvsweb/html5/html4-differences/Overview.src.html.diff?r1=1.181;r2=1.182 (need to rebuild Overview.html or monkeypatch)
14:12
<zcorpan>
http://dev.w3.org/cvsweb/html5/html4-differences/Overview.src.html.diff?r1=1.181;r2=1.182 (need to rebuild Overview.html or monkeypatch)
14:12
<zcorpan>
MikeSmith: ok, i'll make it say to *not* use the mailing list :-)
14:12
<zcorpan>
MikeSmith: ok, i'll make it say to *not* use the mailing list :-)
14:12
<MikeSmith>
e.g., it could say, "There's a _public-html-comments mailing list_ but the appropriate forum for comments is s W3C Bugzilla
14:12
<annevk>
I can do make at some point
14:12
<annevk>
just tell me when you're done editing and I'll generate a new WD
14:12
<MikeSmith>
e.g., it could say, "There's a _public-html-comments mailing list_ but the appropriate forum for comments is s W3C Bugzilla
14:12
<annevk>
I can do make at some point
14:12
<annevk>
just tell me when you're done editing and I'll generate a new WD
14:12
<annevk>
takes less than a minute
14:13
<annevk>
takes less than a minute
14:13
<MikeSmith>
zcorpan: it wants both a mailto: link for the list address as well as a link to the archives
14:13
<zcorpan>
(<a href="mailto:public-html-comments⊙wo">public-html-comments⊙wo</a>,
14:13
<zcorpan>
a mailing list with a
14:13
<zcorpan>
<a href="http://lists.w3.org/Archives/Public/public-html-comments/"; title="Archive for HTML comments mailing-list">public
14:13
<zcorpan>
archive</a>, is no longer used for tracking comments.)
14:14
<MikeSmith>
zcorpan: it wants both a mailto: link for the list address as well as a link to the archives
14:14
<zcorpan>
(<a href="mailto:public-html-comments⊙wo">public-html-comments⊙wo</a>,
14:14
<zcorpan>
a mailing list with a
14:14
<zcorpan>
<a href="http://lists.w3.org/Archives/Public/public-html-comments/"; title="Archive for HTML comments mailing-list">public
14:14
<zcorpan>
archive</a>, is no longer used for tracking comments.)
14:14
<zcorpan>
sounds good?
14:14
<MikeSmith>
yah
14:14
<zcorpan>
sounds good?
14:14
<MikeSmith>
yah
14:14
<zcorpan>
http://dev.w3.org/cvsweb/html5/html4-differences/Overview.src.html.diff?r1=1.182;r2=1.183
14:15
<zcorpan>
http://dev.w3.org/cvsweb/html5/html4-differences/Overview.src.html.diff?r1=1.182;r2=1.183
14:27
<zcorpan>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1382 i don't understand what opera and gecko are doing here
14:28
<zcorpan>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1382 i don't understand what opera and gecko are doing here
14:28
<zcorpan>
chrome makes more sense
14:28
<zcorpan>
chrome makes more sense
14:46
<wirepair>
what... exactly is the point of the http+aes scheme? http://dev.w3.org/html5/spec-author-view/iana.html#http-aes-scheme
14:46
<wirepair>
what... exactly is the point of the http+aes scheme? http://dev.w3.org/html5/spec-author-view/iana.html#http-aes-scheme
14:47
<wirepair>
i've read it a few times and i just can't seem to wrap my head around *why* you'd want to put encryption keys in a url.
14:47
<MikeSmith>
annevk: please go ahead and re-make the diffs doc
14:47
<wirepair>
i've read it a few times and i just can't seem to wrap my head around *why* you'd want to put encryption keys in a url.
14:47
<MikeSmith>
annevk: please go ahead and re-make the diffs doc
14:47
<MikeSmith>
and check in the updated Overview.html
14:47
<MikeSmith>
if we have more changes later we can just do it again as needed
14:48
<MikeSmith>
and check in the updated Overview.html
14:48
<MikeSmith>
if we have more changes later we can just do it again as needed
14:49
<annevk>
done
14:49
<annevk>
done
14:50
<zcorpan>
oh, so opera and gecko just apply the "can't break around images" for the purpose of calculating the minimum width, but after that they are fine with breaking around images
14:51
<zcorpan>
oh, so opera and gecko just apply the "can't break around images" for the purpose of calculating the minimum width, but after that they are fine with breaking around images
14:52
<zcorpan>
and ie in compat view matches opera/gecko
14:52
<zcorpan>
ie non-compat quirks doesn't have this quirk
14:53
<zcorpan>
and ie in compat view matches opera/gecko
14:53
<zcorpan>
ie non-compat quirks doesn't have this quirk
14:57
<MikeSmith>
annevk: thanks
14:57
<MikeSmith>
annevk: thanks
15:04
<zcorpan>
ah, excellent, the Automatic table layout algo in css21 is non-normative
15:05
<zcorpan>
ah, excellent, the Automatic table layout algo in css21 is non-normative
15:05
<zcorpan>
i recall someone from mozilla having written a spec for table layout, but can't find it right now
15:05
<zcorpan>
i recall someone from mozilla having written a spec for table layout, but can't find it right now
15:05
<jgraham>
zcorpan: Go speak to dbaron
15:05
<jgraham>
He will explain table layout to you from memory
15:06
<jgraham>
zcorpan: Go speak to dbaron
15:06
<jgraham>
He will explain table layout to you from memory
15:06
zcorpan
finds http://dbaron.org/css/intrinsic/
15:08
<zcorpan>
http://dbaron.org/css/intrinsic/#inline-intrinsic-min
15:08
<zcorpan>
excellent, what i want is a TODO :-)
15:09
<zcorpan>
http://dbaron.org/css/intrinsic/#inline-intrinsic-min
15:09
<zcorpan>
excellent, what i want is a TODO :-)
15:10
<smaug____>
so, the spec should refer to dbaron's brains?
15:11
<smaug____>
so, the spec should refer to dbaron's brains?
15:11
<jgraham>
Well ideally dbaron should serialize the content of his brain to some more durable format
15:12
<jgraham>
Well ideally dbaron should serialize the content of his brain to some more durable format
15:12
<smaug____>
but hey, it would be just a living standard
15:13
<smaug____>
but hey, it would be just a living standard
15:14
<jgraham>
The problem with living standards is that it's hard to clone their host body and init the clone's brain with the original data. We need the serialization for that.
15:15
<jgraham>
The problem with living standards is that it's hard to clone their host body and init the clone's brain with the original data. We need the serialization for that.
15:29
<annevk>
haha
15:29
<annevk>
taking living standard to a whole new level
15:30
<annevk>
haha
15:30
<annevk>
taking living standard to a whole new level
17:12
<Hixie>
Philip`, or anyone else: any opinions on ellipse apis before i spec this proposal? http://wiki.whatwg.org/wiki/Canvas#Ellipses
17:13
<Hixie>
Philip`, or anyone else: any opinions on ellipse apis before i spec this proposal? http://wiki.whatwg.org/wiki/Canvas#Ellipses
17:13
<Hixie>
i'm not 100% happy with making it take x and y radii arguments because that means you have to do a rotation to get a rotated ellipse
17:13
<Hixie>
i'm not 100% happy with making it take x and y radii arguments because that means you have to do a rotation to get a rotated ellipse
17:14
<AryehGregor>
You could have it take two foci instead of a center and radius.
17:14
<AryehGregor>
That's still just one extra argument over a circle.
17:15
<AryehGregor>
You could have it take two foci instead of a center and radius.
17:15
<AryehGregor>
That's still just one extra argument over a circle.
17:15
<Hixie>
so basically have ellipseArc and ellipseArcTo rather than arc and arcTo?
17:15
<Hixie>
so basically have ellipseArc and ellipseArcTo rather than arc and arcTo?
17:15
<Hixie>
rather than just overloading them i mean
17:15
AryehGregor
isn't familiar enough with canvas to say what API makes the most sense
17:16
<Hixie>
rather than just overloading them i mean
17:16
AryehGregor
isn't familiar enough with canvas to say what API makes the most sense
17:16
<AryehGregor>
Overloading on the number of arguments of a method that already takes five or six numeric arguments seems kind of confusing, though.
17:16
<AryehGregor>
Overloading on the number of arguments of a method that already takes five or six numeric arguments seems kind of confusing, though.
17:18
<Hixie>
(if i take foci don't i still need a semi-major axis distance?)
17:19
<Hixie>
(if i take foci don't i still need a semi-major axis distance?)
17:20
<AryehGregor>
Hmm.
17:20
<AryehGregor>
Hmm.
17:20
<AryehGregor>
Yeah, I think you need one more parameter in that case, you're right. You can have two different ellipses with the same foci.
17:21
<AryehGregor>
Yeah, I think you need one more parameter in that case, you're right. You can have two different ellipses with the same foci.
17:21
<Hixie>
only two?
17:21
<Hixie>
only two?
17:21
<Hixie>
surely i can have an infinite number
17:21
<AryehGregor>
Well, yes, of course.
17:21
<Hixie>
since two foci doesn't give you any data on the semi-minor axis
17:21
<AryehGregor>
I just meant that given two foci, there exist two distinct ellipses with those foci.
17:22
<Hixie>
surely i can have an infinite number
17:22
<AryehGregor>
Well, yes, of course.
17:22
<Hixie>
since two foci doesn't give you any data on the semi-minor axis
17:22
<AryehGregor>
I just meant that given two foci, there exist two distinct ellipses with those foci.
17:22
<AryehGregor>
There are actually more than two, but two is enough to make my suggestion bad.
17:22
<AryehGregor>
There are actually more than two, but two is enough to make my suggestion bad.
17:24
<Hixie>
i tried looking at the CG reference to see how they do it
17:24
<Hixie>
but of course that's the api that canvas was copied from
17:24
<Hixie>
i tried looking at the CG reference to see how they do it
17:24
<Hixie>
but of course that's the api that canvas was copied from
17:24
<Hixie>
so they don't
17:24
<Hixie>
same as us -_-
17:25
<Hixie>
so they don't
17:25
<Hixie>
same as us -_-
17:26
<Ms2ger>
"I'm at capacity (arguably over capacity) already."
17:26
<Ms2ger>
Arguably?
17:27
<Ms2ger>
"I'm at capacity (arguably over capacity) already."
17:27
<Ms2ger>
Arguably?
17:32
<MikeSmith>
Ms2ger: who said that?
17:32
<Ms2ger>
Hixie
17:33
<MikeSmith>
Ms2ger: who said that?
17:33
<Ms2ger>
Hixie
17:57
Ms2ger
wonders how to get dragonfly to open
17:57
Ms2ger
wonders how to get dragonfly to open
18:06
<jgraham>
Ms2ger: At what stage are you having a problem?
18:07
<jgraham>
Ms2ger: At what stage are you having a problem?
18:07
<Ms2ger>
Figured it out, the menu item was hidden three levels deep
18:07
<Ms2ger>
Figured it out, the menu item was hidden three levels deep
18:07
<jgraham>
That's the problem I have too
18:07
<Ms2ger>
AryehGregor, are you using the live dom viewer, and do you mind if I overwrite the test? :)
18:07
<AryehGregor>
Ms2ger, you can always overwrite the stuff I upload to Live DOM Viewer.
18:08
<jgraham>
That's the problem I have too
18:08
<Ms2ger>
AryehGregor, are you using the live dom viewer, and do you mind if I overwrite the test? :)
18:08
<AryehGregor>
Ms2ger, you can always overwrite the stuff I upload to Live DOM Viewer.
18:08
<AryehGregor>
Of course, I might overwrite what you upload too. :)
18:08
<AryehGregor>
Of course, I might overwrite what you upload too. :)
18:08
<Ms2ger>
If only I managed to :)
18:09
<Ms2ger>
If only I managed to :)
18:10
Ms2ger
curses IE's XSS protection
18:10
<Ms2ger>
They're wrong anyway, so *shrug*
18:10
<AryehGregor>
That's part of why upload/download is so much more useful.
18:10
<Ms2ger>
All to yourself again :)
18:11
Ms2ger
curses IE's XSS protection
18:11
<Ms2ger>
They're wrong anyway, so *shrug*
18:11
<AryehGregor>
That's part of why upload/download is so much more useful.
18:11
<Ms2ger>
All to yourself again :)
18:11
<Hixie>
looks like a lot of other apis do only x/y-aligned ellipses too
18:11
<Hixie>
looks like a lot of other apis do only x/y-aligned ellipses too
18:12
<Ms2ger>
Am I alone in finding Win8 hard to shut down?
18:12
<Ms2ger>
Am I alone in finding Win8 hard to shut down?
18:12
AryehGregor
just powers off the VM instead of sending a shutdown signal
18:12
<Philip`>
Shutting down is an obsolete concept
18:13
AryehGregor
just powers off the VM instead of sending a shutdown signal
18:13
<Philip`>
Shutting down is an obsolete concept
18:18
<jgraham>
Ms2ger: According to the interweb, everyone finds it hard to shut down
18:19
<jgraham>
Ms2ger: According to the interweb, everyone finds it hard to shut down
18:19
<Ms2ger>
Good
18:19
<Ms2ger>
Good
18:19
<jgraham>
Or at least enough people that there are supposedly youtube video tutorials on it
18:19
Ms2ger
is in favour of Microsoft shipping crap
18:19
<jgraham>
Or at least enough people that there are supposedly youtube video tutorials on it
18:19
Ms2ger
is in favour of Microsoft shipping crap
18:52
<AryehGregor>
Ms2ger, what's the rationale for this? It causes any quotes in test names or results to be backslash-escaped. http://dvcs.w3.org/hg/resources/rev/b2e673a7d8c7
18:53
<AryehGregor>
Ms2ger, what's the rationale for this? It causes any quotes in test names or results to be backslash-escaped. http://dvcs.w3.org/hg/resources/rev/b2e673a7d8c7
18:53
<Ms2ger>
XML :/
18:53
<Ms2ger>
And the fact that it uses innerHTML
18:53
<Ms2ger>
XML :/
18:53
<Ms2ger>
And the fact that it uses innerHTML
18:53
<AryehGregor>
More specifically?
18:53
Ms2ger
tries to remember the test
18:54
<AryehGregor>
More specifically?
18:54
Ms2ger
tries to remember the test
18:54
<AryehGregor>
If the problem is bad characters sneaking into test names, escape_html could entity-escape them.
18:54
<AryehGregor>
If the problem is bad characters sneaking into test names, escape_html could entity-escape them.
18:54
<AryehGregor>
format_value (and the part you copied into format_string) escapes in JS fashion, with backslashes, and in particular escapes innocuous stuff like quotes.
18:54
<AryehGregor>
I now have stuff like: Fail getComputedStyle(div).transformOrigin with \"transform: rotate(43deg); transform-origin: left 10px bottom -10px\", set via setAttribute() assert_approx_equals: Value of X part (actual: \"40px 15px\", expected: \"50px 25px\") expected 50 +/- 0.05 but got 40
18:55
<AryehGregor>
format_value (and the part you copied into format_string) escapes in JS fashion, with backslashes, and in particular escapes innocuous stuff like quotes.
18:55
<AryehGregor>
I now have stuff like: Fail getComputedStyle(div).transformOrigin with \"transform: rotate(43deg); transform-origin: left 10px bottom -10px\", set via setAttribute() assert_approx_equals: Value of X part (actual: \"40px 15px\", expected: \"50px 25px\") expected 50 +/- 0.05 but got 40
18:55
<Ms2ger>
Yeah :/
18:55
<Ms2ger>
http://w3c-test.org/webapps/DOMCore/tests/submissions/Ms2ger/Document-createProcessingInstruction.xhtml was the one, I think
18:55
<Ms2ger>
Yeah :/
18:55
<Ms2ger>
http://w3c-test.org/webapps/DOMCore/tests/submissions/Ms2ger/Document-createProcessingInstruction.xhtml was the one, I think
18:55
<AryehGregor>
That test should call format_value() itself on valid[i][0], valid[i][1], etc.
18:56
<AryehGregor>
That test should call format_value() itself on valid[i][0], valid[i][1], etc.
18:56
<AryehGregor>
That will add quotes and nice things like that too.
18:56
<AryehGregor>
You don't want to call it on the whole test name.
18:56
<AryehGregor>
That will add quotes and nice things like that too.
18:56
<Ms2ger>
OK
18:56
<AryehGregor>
You don't want to call it on the whole test name.
18:56
<Ms2ger>
OK
18:56
<AryehGregor>
Can I revert your testharness changes?
18:56
<Ms2ger>
Sure thing
18:56
<AryehGregor>
Okay, thanks.
18:56
<Ms2ger>
Well
18:56
<Ms2ger>
Hmm, I guess
18:57
<AryehGregor>
Can I revert your testharness changes?
18:57
<Ms2ger>
Sure thing
18:57
<AryehGregor>
Okay, thanks.
18:57
<Ms2ger>
Well
18:57
<Ms2ger>
Hmm, I guess
18:57
<Ms2ger>
Yes, go ahead
18:57
<AryehGregor>
Okay.
18:57
<Ms2ger>
Yes, go ahead
18:57
<AryehGregor>
Okay.
18:59
<AryehGregor>
Is there a convenient hg equivalent to git revert -n?
18:59
<AryehGregor>
Is there a convenient hg equivalent to git revert -n?
19:04
<Ms2ger>
hg backout?
19:05
<Ms2ger>
hg backout?
19:05
<AryehGregor>
That creates a commit.
19:05
<AryehGregor>
That creates a commit.
19:05
<Ms2ger>
Well, yes
19:05
<AryehGregor>
git revert -n doesn't create a commit.
19:05
<Ms2ger>
What does it do then?
19:05
<AryehGregor>
It just applies the diff.
19:06
<Ms2ger>
Well, yes
19:06
<AryehGregor>
git revert -n doesn't create a commit.
19:06
<Ms2ger>
What does it do then?
19:06
<AryehGregor>
It just applies the diff.
19:06
<AryehGregor>
I wound up doing hg diff -r 6 -r 4 | patch.
19:06
<AryehGregor>
I wound up doing hg diff -r 6 -r 4 | patch.
19:06
<AryehGregor>
Which conflicted because some context didn't match, but close enough.
19:07
<AryehGregor>
Which conflicted because some context didn't match, but close enough.
19:11
<rniwa>
AryehGregor: hi AryehGregor
19:11
<AryehGregor>
rniwa, hi!
19:11
<rniwa>
AryehGregor: did you see my email about nested transactions in undo manger?
19:11
<AryehGregor>
rniwa, yes.
19:11
<AryehGregor>
execCommand() should never be called recursively anyway now, because that will fire extra events.
19:12
<rniwa>
AryehGregor: hi AryehGregor
19:12
<AryehGregor>
rniwa, hi!
19:12
<rniwa>
AryehGregor: did you see my email about nested transactions in undo manger?
19:12
<AryehGregor>
rniwa, yes.
19:12
<AryehGregor>
execCommand() should never be called recursively anyway now, because that will fire extra events.
19:12
<AryehGregor>
There were a few places where my spec said to do that, and I'm in the middle of fixing them.
19:12
<AryehGregor>
There were a few places where my spec said to do that, and I'm in the middle of fixing them.
19:33
<StoneCypher>
is it possible to control <td> border miters?
19:34
<StoneCypher>
is it possible to control <td> border miters?
19:53
<Hixie>
heycam|away: can webidl distingush (five doubles and a boolean) from (six doubles), when it comes to overloading method ?
19:53
<Hixie>
methods, even
19:54
<Hixie>
heycam|away: can webidl distingush (five doubles and a boolean) from (six doubles), when it comes to overloading method ?
19:54
<Hixie>
methods, even
19:54
<Ms2ger>
Doesn't look like it
19:55
<Ms2ger>
Doesn't look like it
19:55
<Hixie>
crap
19:55
<AryehGregor>
Why not?
19:55
<Hixie>
that's unfortunate
19:55
<AryehGregor>
Also: why in heaven's name would you want such a confusing overload?
19:56
<Hixie>
crap
19:56
<AryehGregor>
Why not?
19:56
<Hixie>
that's unfortunate
19:56
<AryehGregor>
Also: why in heaven's name would you want such a confusing overload?
19:56
<AryehGregor>
Wouldn't a separate method be a lot clearer?
19:56
<AryehGregor>
Wouldn't a separate method be a lot clearer?
19:56
<Ms2ger>
Because we can!
19:56
<Ms2ger>
Well, we can't
19:57
<Ms2ger>
Because we can!
19:57
<Ms2ger>
Well, we can't
19:57
<Hixie>
it'd be pretty clear, in this case, in practice
19:57
<Hixie>
but anyway. lunch.
19:57
<Hixie>
it'd be pretty clear, in this case, in practice
19:57
<Hixie>
but anyway. lunch.
20:18
<rniwa>
AryehGregor: ah, ok. great.
20:19
<rniwa>
AryehGregor: ah, ok. great.
20:19
<rniwa>
AryehGregor: so just prohibit the nested transaction as wel?
20:19
<rniwa>
AryehGregor: so just prohibit the nested transaction as wel?
20:21
<AryehGregor>
rniwa, I guess.
20:21
<AryehGregor>
I'm not familiar enough with UndoManager to understand the implications, TBH.
20:22
<AryehGregor>
rniwa, I guess.
20:22
<AryehGregor>
I'm not familiar enough with UndoManager to understand the implications, TBH.
20:26
<rniwa>
sicking: ping
20:26
<rniwa>
AryehGregor: so the implication is simple
20:26
<rniwa>
AryehGregor: nobody is allowed to add new transaction while someone else's running a transaction
20:27
<rniwa>
sicking: ping
20:27
<rniwa>
AryehGregor: so the implication is simple
20:27
<rniwa>
AryehGregor: nobody is allowed to add new transaction while someone else's running a transaction
20:27
<rniwa>
AryehGregor: it might get a little tricky when there are cross-origin iframes
20:27
<rniwa>
AryehGregor: it might get a little tricky when there are cross-origin iframes
20:27
<rniwa>
AryehGregor: because the you sort of leak the information that a transaction is in progress
20:27
<AryehGregor>
Right, but I don't remember the use-cases etc. well enough to know what effect that would have in practice.
20:27
<rniwa>
but I don't think that's a big of deal
20:27
<rniwa>
ehsan: yt?
20:27
<AryehGregor>
Do cross-origin iframes share the same undo manager as their host page? That seems a little surprising.
20:27
<AryehGregor>
There's already information leak there, then, right?
20:27
<rniwa>
AryehGregor: no
20:28
<rniwa>
AryehGregor: because the you sort of leak the information that a transaction is in progress
20:28
<AryehGregor>
Right, but I don't remember the use-cases etc. well enough to know what effect that would have in practice.
20:28
<rniwa>
but I don't think that's a big of deal
20:28
<ehsan>
rniwa: yeah
20:28
<rniwa>
ehsan: yt?
20:28
<AryehGregor>
Do cross-origin iframes share the same undo manager as their host page? That seems a little surprising.
20:28
<AryehGregor>
There's already information leak there, then, right?
20:28
<rniwa>
AryehGregor: no
20:28
<rniwa>
AryehGregor: there should be undo manager per document
20:28
<ehsan>
rniwa: yeah
20:28
<rniwa>
AryehGregor: there should be undo manager per document
20:28
<rniwa>
AryehGregor: but that's also tricky for webkit & ie
20:28
<rniwa>
AryehGregor: but that's also tricky for webkit & ie
20:28
<rniwa>
AryehGregor: because undo stack shared across the entire page at the moment
20:29
<rniwa>
AryehGregor: because undo stack shared across the entire page at the moment
20:29
<AryehGregor>
Then you're already leaking information. E.g., you can take some action in the outer page, wait a while, and see if execCommand("undo") reverses it. If it doesn't, the user must have taken some action in the iframe that got reversed.
20:29
<AryehGregor>
Then you're already leaking information. E.g., you can take some action in the outer page, wait a while, and see if execCommand("undo") reverses it. If it doesn't, the user must have taken some action in the iframe that got reversed.
20:29
<rniwa>
AryehGregor: right.
20:29
<AryehGregor>
Actually, that means the outer page can use undo/redo to modify the DOM of the inner page. That seems like it might be "interesting" from a security perspective.
20:29
<rniwa>
AryehGregor: while i'm not going to talk about specifics, there's a bug about it.
20:30
<rniwa>
AryehGregor: right.
20:30
<AryehGregor>
Actually, that means the outer page can use undo/redo to modify the DOM of the inner page. That seems like it might be "interesting" from a security perspective.
20:30
<rniwa>
AryehGregor: while i'm not going to talk about specifics, there's a bug about it.
20:30
<rniwa>
AryehGregor: it's extremely tricky
20:30
<Ms2ger>
What's this "unrestricted float" thing in WebIDL?
20:30
<rniwa>
AryehGregor: it's extremely tricky
20:30
<Ms2ger>
What's this "unrestricted float" thing in WebIDL?
20:30
<rniwa>
to say the least
20:30
<rniwa>
to say the least
20:30
<rniwa>
ehsan: do you think prohibiting nested transaction is the way to go?
20:30
<AryehGregor>
Ms2ger, https://www.w3.org/Bugs/Public/show_bug.cgi?id=16075
20:30
<ehsan>
rniwa: I still have not caught up with the thread
20:30
<rniwa>
ehsan: ok
20:31
<rniwa>
ehsan: do you think prohibiting nested transaction is the way to go?
20:31
<AryehGregor>
Ms2ger, https://www.w3.org/Bugs/Public/show_bug.cgi?id=16075
20:31
<ehsan>
rniwa: I still have not caught up with the thread
20:31
<rniwa>
ehsan: ok
20:31
<rniwa>
ehsan, AryehGregor: I just want to make sure the API behaves sane
20:31
<ehsan>
rniwa: I'll look at the thread later today
20:31
<rniwa>
ehsan, AryehGregor: on somewhat related note, DOMTransaction interface needs to be a callback interface
20:32
<rniwa>
ehsan, AryehGregor: I just want to make sure the API behaves sane
20:32
<ehsan>
rniwa: I'll look at the thread later today
20:32
<rniwa>
ehsan, AryehGregor: on somewhat related note, DOMTransaction interface needs to be a callback interface
20:32
<rniwa>
and there are a quite few interesting stuff going on with respect to GC
20:32
<rniwa>
because they need to be kept alive until undo/redo are done
20:32
<rniwa>
and there are a quite few interesting stuff going on with respect to GC
20:32
<rniwa>
because they need to be kept alive until undo/redo are done
20:32
<Ms2ger>
AryehGregor, is there a bug on HTML to use it?
20:32
<AryehGregor>
Ms2ger, not AFAIK.
20:32
<rniwa>
ehsan, AryehGregor: however, they might be pruned earlier if undoManager gets destroyed...
20:33
<Ms2ger>
AryehGregor, is there a bug on HTML to use it?
20:33
<AryehGregor>
Ms2ger, not AFAIK.
20:33
<rniwa>
ehsan, AryehGregor: however, they might be pruned earlier if undoManager gets destroyed...
20:56
<smaug____>
rniwa: just curious, does the undomanager thingie define how much needs to be kept in undo/redo stacks ?
20:56
<rniwa>
smaug____: it does not.
20:56
<smaug____>
rniwa: just curious, does the undomanager thingie define how much needs to be kept in undo/redo stacks ?
20:56
<rniwa>
smaug____: it does not.
20:56
<smaug____>
undo can use quite some memory
20:56
<rniwa>
smaug____: right.
20:56
<rniwa>
smaug____: so we should probably add some limit to it
20:56
<smaug____>
yeah
20:56
<rniwa>
smaug____: but then... should we modify the page of undo stack pruning?
20:56
<rniwa>
notify*
20:56
<smaug____>
I think gecko has some limit
20:57
<smaug____>
undo can use quite some memory
20:57
<rniwa>
smaug____: right.
20:57
<rniwa>
smaug____: so we should probably add some limit to it
20:57
<smaug____>
yeah
20:57
<rniwa>
smaug____: but then... should we modify the page of undo stack pruning?
20:57
<rniwa>
notify*
20:57
<smaug____>
I think gecko has some limit
20:57
<smaug____>
ehsan might remember what that is
20:57
<smaug____>
ehsan might remember what that is
20:58
<ehsan>
smaug____: I don't think we impose a limit in fact
20:58
<smaug____>
there is max transaction count
20:59
<ehsan>
smaug____: I don't think we impose a limit in fact
20:59
<smaug____>
there is max transaction count
20:59
<ehsan>
smaug____: well we set it to -1, which means don't care
20:59
<smaug____>
bah :)
21:00
<ehsan>
smaug____: well we set it to -1, which means don't care
21:00
<smaug____>
bah :)
21:00
<ehsan>
smaug____: I don't see the point in imposing a limit...
21:00
<ehsan>
smaug____: I don't see the point in imposing a limit...
21:00
<ehsan>
web pages can already do stupid stuff if they wanna burn memory
21:00
<smaug____>
and do
21:00
<rniwa>
ehsan: I think chromium has a limit
21:00
<smaug____>
like irccloud
21:00
<ehsan>
and we don't need operations which are in an order of the length of the stack
21:01
<ehsan>
web pages can already do stupid stuff if they wanna burn memory
21:01
<smaug____>
and do
21:01
<rniwa>
ehsan: I think chromium has a limit
21:01
<smaug____>
like irccloud
21:01
<ehsan>
and we don't need operations which are in an order of the length of the stack
21:01
<ehsan>
rniwa: then I would suggest that they should lift it ;)
21:01
<ehsan>
smaug____: or, (sigh), gmail
21:01
<Yuhong>
http://ln.hixie.ch/?start=1137740632&count=1
21:01
<ehsan>
rniwa: then I would suggest that they should lift it ;)
21:01
<ehsan>
smaug____: or, (sigh), gmail
21:01
<Yuhong>
http://ln.hixie.ch/?start=1137740632&count=1
21:01
<smaug____>
ehsan: oh, even that
21:01
<Yuhong>
"The HTML5 spec says that if you use another DOCTYPE, UAs can switch to quirks mode, in which case all bets are off. I'm not even going to try to specify quirks mode parsing. Hopefully, by making the DOCTYPE short and memorable, it will encourage authors to use it more."
21:01
<smaug____>
and sure, google reader too
21:01
<Yuhong>
From Hixie.
21:02
<smaug____>
ehsan: oh, even that
21:02
<Yuhong>
"The HTML5 spec says that if you use another DOCTYPE, UAs can switch to quirks mode, in which case all bets are off. I'm not even going to try to specify quirks mode parsing. Hopefully, by making the DOCTYPE short and memorable, it will encourage authors to use it more."
21:02
<smaug____>
and sure, google reader too
21:02
<Yuhong>
From Hixie.
21:02
<ehsan>
jee, those like buttons?
21:02
<ehsan>
jee, those like buttons?
21:02
<smaug____>
google web devs clearly don't have the right tools the find leaks
21:02
<smaug____>
google web devs clearly don't have the right tools the find leaks
21:02
<ehsan>
don't get me started ;)
21:02
<smaug____>
"leaks"
21:02
<ehsan>
don't get me started ;)
21:02
<smaug____>
"leaks"
21:02
<Ms2ger>
Oh hey, karl heard about me
21:02
<Yuhong>
Two years before X-UA-Compatible was created.
21:02
<smaug____>
s/the/to/
21:02
<rniwa>
smaug____, ehsan: i think webkit currently keeps undo stack for a page as long as the page is there
21:03
<Ms2ger>
Oh hey, karl heard about me
21:03
<Yuhong>
Two years before X-UA-Compatible was created.
21:03
<smaug____>
s/the/to/
21:03
<rniwa>
smaug____, ehsan: i think webkit currently keeps undo stack for a page as long as the page is there
21:03
<rniwa>
so we need to change that before lifting the limit
21:03
<rniwa>
so we need to change that before lifting the limit
21:03
<rniwa>
e.g. prune entries in the undo stack for a frame when the frame is destroyed, etc...
21:04
<rniwa>
e.g. prune entries in the undo stack for a frame when the frame is destroyed, etc...
21:04
<ehsan>
rniwa: when you say frame, what do you mean? iframes? or rendering objects?
21:04
<rniwa>
ehsan: i mean DOM frames
21:04
<ehsan>
rniwa: when you say frame, what do you mean? iframes? or rendering objects?
21:04
<rniwa>
ehsan: i mean DOM frames
21:04
<smaug____>
undo should be per document
21:04
<rniwa>
smaug____: it is not for webkit and msie
21:04
<smaug____>
but it should be :)
21:05
<smaug____>
undo should be per document
21:05
<rniwa>
smaug____: it is not for webkit and msie
21:05
<smaug____>
but it should be :)
21:05
<rniwa>
smaug____: well, maybe.
21:05
<ehsan>
rniwa: I think smaug____ is right here, I don't know why they should have anything to do with frames
21:05
<ehsan>
rniwa: I think smaug____ is right here, I don't know why they should have anything to do with frames
21:05
<rniwa>
smaug____: but gecko/opera also uses different undo stack for each text form controls
21:05
<smaug____>
undomanager is something new anyway, so better to make a good API
21:05
<rniwa>
whereas webkit and msie don't
21:05
<ehsan>
rniwa: that's sort of a by-product of gecko's editor
21:05
<ehsan>
no good reason ;)
21:05
<rniwa>
smaug____: well but it change the user-initiated undo behavior
21:06
<rniwa>
smaug____: but gecko/opera also uses different undo stack for each text form controls
21:06
<smaug____>
undomanager is something new anyway, so better to make a good API
21:06
<smaug____>
rniwa: sure. I actually think there should be several undomanagers
21:06
<rniwa>
whereas webkit and msie don't
21:06
<ehsan>
rniwa: that's sort of a by-product of gecko's editor
21:06
<ehsan>
no good reason ;)
21:06
<rniwa>
smaug____: well but it change the user-initiated undo behavior
21:06
<smaug____>
rniwa: sure. I actually think there should be several undomanagers
21:06
<ehsan>
although that seems intuitive to me as a user...
21:06
<ehsan>
although that seems intuitive to me as a user...
21:06
<ehsan>
(that = treating each text control as a separate undo host)
21:06
<smaug____>
yeah
21:07
<ehsan>
(that = treating each text control as a separate undo host)
21:07
<smaug____>
yeah
21:07
<rniwa>
don't think we want to change the behavior here though
21:07
<rniwa>
don't think we want to change the behavior here though
21:07
smaug____
doesn't know what behavior chrome has
21:07
<ehsan>
which behavior?
21:07
<rniwa>
that text form controls share the same undo manager
21:07
<rniwa>
smaug____: chrome=webkit here
21:08
smaug____
doesn't know what behavior chrome has
21:08
<ehsan>
which behavior?
21:08
<rniwa>
ehsan: also, we don't provide any mechanisms to merge undo managers
21:08
<rniwa>
that text form controls share the same undo manager
21:08
<rniwa>
smaug____: chrome=webkit here
21:08
<rniwa>
ehsan: also, we don't provide any mechanisms to merge undo managers
21:08
<rniwa>
so this would mean that websites can never have a page that shares the same undo managers amongst text from controls
21:08
<rniwa>
which might be desirable in spreadsheet apps
21:08
<ehsan>
rniwa: so in webkit, if you have two text fields, type foo in one of them and go to the other and do cmd+z, foo gets deleted from the first box?
21:08
<rniwa>
ehsan: right.
21:08
<ehsan>
rniwa: wow
21:08
<smaug____>
ugh
21:08
<smaug____>
sounds bizarre
21:09
<rniwa>
so this would mean that websites can never have a page that shares the same undo managers amongst text from controls
21:09
<rniwa>
which might be desirable in spreadsheet apps
21:09
<ehsan>
rniwa: so in webkit, if you have two text fields, type foo in one of them and go to the other and do cmd+z, foo gets deleted from the first box?
21:09
<rniwa>
ehsan: right.
21:09
<ehsan>
rniwa: wow
21:09
<ehsan>
that sounds broken
21:09
<smaug____>
ugh
21:09
<smaug____>
sounds bizarre
21:09
<ehsan>
that sounds broken
21:09
ehsan
tries it to see for himself
21:09
<rniwa>
ehsan: but it's useful when you're filling up forms
21:09
<rniwa>
ehsan: and want to do undo a bunch
21:09
ehsan
tries it to see for himself
21:09
<rniwa>
ehsan: but it's useful when you're filling up forms
21:09
<rniwa>
ehsan: and want to do undo a bunch
21:09
<Ms2ger>
MikeSmith, yt?
21:09
<smaug____>
rniwa: so you need to remember which field you have filled in which order...
21:10
<Ms2ger>
MikeSmith, yt?
21:10
<smaug____>
before undoing
21:10
<smaug____>
rniwa: so you need to remember which field you have filled in which order...
21:10
<smaug____>
before undoing
21:10
<smaug____>
strange
21:10
<smaug____>
strange
21:10
<rniwa>
smaug____: i mean, people normally fills in forms from top-down
21:10
<rniwa>
smaug____: anyway i'm not about to argue about why we do this
21:10
<smaug____>
web apps could just move focus to previous field or something like that if field is emptied using undo
21:10
<smaug____>
rniwa: is that some ancient behavior in webkit?
21:11
<rniwa>
smaug____: i mean, people normally fills in forms from top-down
21:11
<rniwa>
smaug____: right.
21:11
<rniwa>
smaug____: anyway i'm not about to argue about why we do this
21:11
<smaug____>
web apps could just move focus to previous field or something like that if field is emptied using undo
21:11
<smaug____>
rniwa: is that some ancient behavior in webkit?
21:11
<rniwa>
smaug____: right.
21:11
<rniwa>
smaug____: yeah
21:11
<ehsan>
this seems very bizzare to me...
21:11
<rniwa>
smaug____: yeah
21:11
<ehsan>
this seems very bizzare to me...
21:11
<rniwa>
smaug____, ehsan: anyway, i don't think we can change this behavior
21:11
<ehsan>
although, it is a UX question
21:11
<rniwa>
because of legacy apps that depend on this particular behavior
21:11
<smaug____>
( yeah, sounds like breaking all sorts of basic UX rules )
21:11
<rniwa>
right, it's a UX issue
21:11
<ehsan>
it might be sane in the case of forms, but we can't assume that all two text fields in the same page belong to the same form!
21:11
<rniwa>
we try to follow the platform convention whenever possible
21:12
<rniwa>
smaug____, ehsan: anyway, i don't think we can change this behavior
21:12
<ehsan>
although, it is a UX question
21:12
<rniwa>
because of legacy apps that depend on this particular behavior
21:12
<smaug____>
( yeah, sounds like breaking all sorts of basic UX rules )
21:12
<rniwa>
right, it's a UX issue
21:12
<ehsan>
it might be sane in the case of forms, but we can't assume that all two text fields in the same page belong to the same form!
21:12
<rniwa>
we try to follow the platform convention whenever possible
21:12
<rniwa>
ehsan: right, that's why we want undoScope :)
21:12
<ehsan>
rniwa: well, here, platform convention is basically webkit's behavior :(
21:12
<ehsan>
so that's a logical loop ;)
21:12
<rniwa>
ehsan: right, that's why we want undoScope :)
21:12
<ehsan>
rniwa: well, here, platform convention is basically webkit's behavior :(
21:12
<ehsan>
so that's a logical loop ;)
21:15
<rniwa>
ehsan: as i said, IE does this too
21:16
<rniwa>
ehsan: as i said, IE does this too
21:16
<ehsan>
well yeah
21:16
<ehsan>
well yeah
21:16
<ehsan>
but we should see if this happens with the windows text control for example
21:16
<ehsan>
but we should see if this happens with the windows text control for example
21:16
<ehsan>
since that would be the real platform convention
21:17
<ehsan>
since that would be the real platform convention
21:17
<rniwa>
ehsan: yeah, but i can't find an app that have multiple form controls in a document
21:17
<rniwa>
most of examples i can find are modal dialogs
21:18
<rniwa>
ehsan: yeah, but i can't find an app that have multiple form controls in a document
21:18
<rniwa>
most of examples i can find are modal dialogs
21:18
<rniwa>
and they, of course, behave differently
21:18
<rniwa>
and they, of course, behave differently
21:18
<ehsan>
rniwa: I have one here in fact, gimme a sec
21:19
<ehsan>
rniwa: I have one here in fact, gimme a sec
21:19
ehsan
waits for his windows box to boot up
21:19
ehsan
waits for his windows box to boot up
21:21
<ehsan>
rniwa: ok, on native windows, each text field has its own undo stack
21:22
<ehsan>
rniwa: ok, on native windows, each text field has its own undo stack
21:22
<rniwa>
ehsan: yeah, because they're separate windows
21:22
<rniwa>
ehsan: yeah, because they're separate windows
21:22
<ehsan>
correct
21:22
<ehsan>
(several OS level windows, that is)_
21:22
<rniwa>
ehsan: right.
21:22
<ehsan>
correct
21:22
<ehsan>
(several OS level windows, that is)_
21:22
<rniwa>
ehsan: right.
21:22
<rniwa>
but i can't think of any windows app that has forms in the same page/document
21:22
<rniwa>
i can't think of such an ui
21:22
<rniwa>
anywhere
21:22
<ehsan>
so webkit doesn't adhere to platform conventions on windows ;)
21:23
<rniwa>
but i can't think of any windows app that has forms in the same page/document
21:23
<rniwa>
i can't think of such an ui
21:23
<rniwa>
anywhere
21:23
<ehsan>
so webkit doesn't adhere to platform conventions on windows ;)
21:23
<rniwa>
ehsan: it adheres to the platform in the sense that msie is the only windows app that have such an UI
21:23
<rniwa>
ehsan: and we match msie
21:23
<ehsan>
rniwa: thing like office automation apps have lots of such forms
21:23
<rniwa>
ehsan: it adheres to the platform in the sense that msie is the only windows app that have such an UI
21:23
<rniwa>
ehsan: and we match msie
21:23
<ehsan>
rniwa: thing like office automation apps have lots of such forms
21:23
<rniwa>
ehsan: that's an interesting point
21:23
<rniwa>
ehsan: what do they do?
21:23
<ehsan>
separate undo stacks
21:23
<rniwa>
ok
21:23
<ehsan>
honestly, I've never noticed an app do something differently
21:23
<rniwa>
odd
21:23
<ehsan>
I don't use IE and webkit that much personally
21:24
<rniwa>
ehsan: that's an interesting point
21:24
<rniwa>
ehsan: what do they do?
21:24
<ehsan>
separate undo stacks
21:24
<rniwa>
ok
21:24
<ehsan>
honestly, I've never noticed an app do something differently
21:24
<rniwa>
odd
21:24
<ehsan>
I don't use IE and webkit that much personally
21:24
<rniwa>
ehsan: we'll have to ask microsoft why do they do that way on msie
21:24
<rniwa>
ehsan: we'll have to ask microsoft why do they do that way on msie
21:24
<ehsan>
but my eyeballs nearly popped out when I saw this today ;)
21:24
<ehsan>
but my eyeballs nearly popped out when I saw this today ;)
21:24
<smaug____>
rniwa: I could imagine the IE behavior could be some ancient thingie
21:24
<smaug____>
from IE3 or such
21:24
<rniwa>
smaug____: posible.
21:25
<smaug____>
rniwa: I could imagine the IE behavior could be some ancient thingie
21:25
<smaug____>
from IE3 or such
21:25
<rniwa>
smaug____: posible.
21:25
<smaug____>
and behavior in web browsers at that time didn't need to have any reasoning :)
21:26
<smaug____>
and behavior in web browsers at that time didn't need to have any reasoning :)
21:26
<ehsan>
rniwa: take this as an example: http://www.bing.com/search?q=test&go=&qs=n&form=QBLH&filt=all&pq=test&sc=8-4&sp=-1&sk=
21:26
<ehsan>
rniwa: edit something in the first text box
21:26
<ehsan>
then scroll down
21:26
<ehsan>
rniwa: take this as an example: http://www.bing.com/search?q=test&go=&qs=n&form=QBLH&filt=all&pq=test&sc=8-4&sp=-1&sk=
21:26
<ehsan>
rniwa: edit something in the first text box
21:26
<ehsan>
then scroll down
21:26
<ehsan>
focus the other text box at the end of the page
21:26
<ehsan>
and do Cmd+X
21:26
<ehsan>
*Z
21:26
<ehsan>
no observable behavior
21:26
<ehsan>
and the edit in the first box suddenly gets unddone
21:26
<ehsan>
how can that be the desired UX? ;)
21:27
<ehsan>
focus the other text box at the end of the page
21:27
<ehsan>
and do Cmd+X
21:27
<ehsan>
*Z
21:27
<ehsan>
no observable behavior
21:27
<ehsan>
and the edit in the first box suddenly gets unddone
21:27
<ehsan>
how can that be the desired UX? ;)
21:27
<rniwa>
ehsan: as I said, I'm not going to make a UX argument here
21:27
<ehsan>
:)
21:27
<rniwa>
ehsan: as I said, I'm not going to make a UX argument here
21:27
<ehsan>
:)
21:27
<rniwa>
ehsan: all I know is that that's the behavior we chose to implement
21:27
<ehsan>
yeah ok fair enough
21:27
<rniwa>
and there might be some backward compatibility issues if we were to change it
21:28
<rniwa>
ehsan: all I know is that that's the behavior we chose to implement
21:28
<ehsan>
yeah ok fair enough
21:28
<rniwa>
and there might be some backward compatibility issues if we were to change it
21:28
<ehsan>
well implementations already have different behaviors here
21:28
<ehsan>
so I would decide that we should determine what the *correct* thing to do is
21:28
<ehsan>
well implementations already have different behaviors here
21:28
<ehsan>
so I would decide that we should determine what the *correct* thing to do is
21:28
<ehsan>
and then adopt that
21:28
<ehsan>
and it _is_ a UX question
21:28
<ehsan>
so don't take my argument as a UX decision :)
21:29
<ehsan>
and then adopt that
21:29
<ehsan>
and it _is_ a UX question
21:29
<ehsan>
so don't take my argument as a UX decision :)
21:29
<rniwa>
ehsan: yeah.
21:29
<rniwa>
ehsan: we'll need to ask MS & Apple first though
21:29
<rniwa>
i don't even know if they can change the behavior
21:30
<rniwa>
ehsan: yeah.
21:30
<rniwa>
ehsan: we'll need to ask MS & Apple first though
21:30
<rniwa>
i don't even know if they can change the behavior
21:30
<ehsan>
sadface
21:30
<rniwa>
if they have compat. issues, etc... then we can't converge it anyway
21:30
<ehsan>
yeah
21:30
<ehsan>
sadface
21:30
<rniwa>
if they have compat. issues, etc... then we can't converge it anyway
21:30
<ehsan>
yeah
21:30
<rniwa>
we should probably bring it up on public-webapps or so
21:30
<rniwa>
or directly email our friendly ms/apple folks :)
21:30
<ehsan>
fwiw, I would be fine with changing gecko if someone has a compelling argument for the alternate behavior
21:31
<rniwa>
we should probably bring it up on public-webapps or so
21:31
<rniwa>
or directly email our friendly ms/apple folks :)
21:31
<ehsan>
fwiw, I would be fine with changing gecko if someone has a compelling argument for the alternate behavior
21:31
<ehsan>
yep
21:31
<rniwa>
ehsan: you guys are lucky in that gecko isn't a part of some OS framework :)
21:31
<ehsan>
yep
21:31
<rniwa>
ehsan: you guys are lucky in that gecko isn't a part of some OS framework :)
21:31
<rniwa>
trident & webkit suffer a lot from their being part of OS frameworks :(
21:31
<ehsan>
rniwa: it will be soon! ;)
21:31
<smaug____>
walled garden behavior doesn't apply here ;)
21:31
<ehsan>
rniwa: but I don't see why that is a concern
21:31
<jdaggett>
jprmc, joe: mtg?
21:31
<smaug____>
this is about web API
21:32
<rniwa>
trident & webkit suffer a lot from their being part of OS frameworks :(
21:32
<ehsan>
rniwa: it will be soon! ;)
21:32
<smaug____>
walled garden behavior doesn't apply here ;)
21:32
<ehsan>
rniwa: but I don't see why that is a concern
21:32
<jdaggett>
jprmc, joe: mtg?
21:32
<smaug____>
this is about web API
21:32
<ehsan>
webkit can detect whether it's embedded in some apple OS thingy or not
21:32
<ehsan>
and can have different behaviors
21:32
<ehsan>
webkit can detect whether it's embedded in some apple OS thingy or not
21:32
<ehsan>
and can have different behaviors
21:32
<rniwa>
ehsan: i don't wanna do that.... there are a lot of dependencies internally in our codebase
21:32
<ehsan>
for example, gecko already does some things different for mail editing and regular web editing
21:32
<rniwa>
ehsan: and supporting two behaviors is just a nightmare
21:32
<smaug____>
that is implementation issue
21:32
<smaug____>
web api should be good
21:33
<rniwa>
ehsan: i don't wanna do that.... there are a lot of dependencies internally in our codebase
21:33
<ehsan>
for example, gecko already does some things different for mail editing and regular web editing
21:33
<smaug____>
and behavior in the web
21:33
<rniwa>
ehsan: and supporting two behaviors is just a nightmare
21:33
<smaug____>
that is implementation issue
21:33
<smaug____>
web api should be good
21:33
<smaug____>
and behavior in the web
21:33
<rniwa>
i tend to agree but there are practicality issue
21:33
<ehsan>
rniwa: I sympathize, but what I'm trying to say is that OS backwards compat is not a good argument
21:33
<rniwa>
s
21:33
<ehsan>
rniwa: web compat is, however
21:33
<rniwa>
well sure. but if nobody has a time to implement it, then our behavior won't change
21:33
<ehsan>
but I don't think this can affect web compat in any serious way
21:34
<rniwa>
i tend to agree but there are practicality issue
21:34
<rniwa>
i mean we can say that we can change the behavior
21:34
<ehsan>
rniwa: I sympathize, but what I'm trying to say is that OS backwards compat is not a good argument
21:34
<ehsan>
yeah
21:34
<rniwa>
s
21:34
<ehsan>
rniwa: web compat is, however
21:34
<rniwa>
well sure. but if nobody has a time to implement it, then our behavior won't change
21:34
<ehsan>
but I don't think this can affect web compat in any serious way
21:34
<rniwa>
i mean we can say that we can change the behavior
21:34
<ehsan>
yeah
21:34
<rniwa>
but if nobody will work on it, then it won't happen :(
21:34
<ehsan>
but that's a different issue :)
21:34
<rniwa>
but if nobody will work on it, then it won't happen :(
21:34
<ehsan>
but that's a different issue :)
21:34
<ehsan>
I think we should spec the right thing
21:34
<ehsan>
I think we should spec the right thing
21:34
<ehsan>
and don't let arcane OS level requirements hold us down
21:34
<ehsan>
whether an engine implements a spec completely and when is a different issue
21:34
<rniwa>
anyway, this whole argument won't move forward unless we can get apple/msft people to be involved
21:35
<ehsan>
and don't let arcane OS level requirements hold us down
21:35
<ehsan>
whether an engine implements a spec completely and when is a different issue
21:35
<rniwa>
anyway, this whole argument won't move forward unless we can get apple/msft people to be involved
21:35
<ehsan>
yeah, that we agree on :)
21:35
<ehsan>
yeah, that we agree on :)
21:35
<smaug____>
yeah, we should always spec the "right" thing, unless it breaks the web badly
21:35
<smaug____>
yeah, we should always spec the "right" thing, unless it breaks the web badly
21:35
<rniwa>
ehsan, smaug____: quite frankly, i'm not even sure if we need to spec this
21:35
<rniwa>
it's an UI issue so it could be left to implementors
21:35
<rniwa>
we tend not to spec UI issues in web standards as far as I know
21:36
<rniwa>
ehsan, smaug____: quite frankly, i'm not even sure if we need to spec this
21:36
<rniwa>
it's an UI issue so it could be left to implementors
21:36
<rniwa>
we tend not to spec UI issues in web standards as far as I know
21:36
<ehsan>
rniwa: wouldn't it affect the default undoScope though?
21:36
<rniwa>
ehsan: not really.
21:36
<ehsan>
rniwa: wouldn't it affect the default undoScope though?
21:36
<rniwa>
ehsan: not really.
21:36
<rniwa>
ehsan: it sort of does if user editing stuff inside input/textarea
21:36
<rniwa>
ehsan: but in that sense, gecko/opera's behavior is more problmatic
21:37
<rniwa>
ehsan: it sort of does if user editing stuff inside input/textarea
21:37
<rniwa>
ehsan: but in that sense, gecko/opera's behavior is more problmatic
21:37
<ehsan>
how so?
21:37
<rniwa>
ehsan: because setting values to input/textarea would being to the undo manager of the document
21:37
<rniwa>
ehsan: because setting values to input/textarea would being to the undo manager of the document
21:37
<rniwa>
whereas editing text inside input/textarea belong to the magic undo manager gecko/opera have for text form contorls
21:37
<ehsan>
well that depends on how it is specced
21:37
<rniwa>
so unless we somehow bound input/textarea's value to that magic undo manager
21:37
<ehsan>
setting the value can also change the undo manager for the text box
21:37
<ehsan>
if there is one
21:38
<rniwa>
whereas editing text inside input/textarea belong to the magic undo manager gecko/opera have for text form contorls
21:38
<ehsan>
well that depends on how it is specced
21:38
<rniwa>
so unless we somehow bound input/textarea's value to that magic undo manager
21:38
<ehsan>
setting the value can also change the undo manager for the text box
21:38
<ehsan>
if there is one
21:38
<rniwa>
possible.
21:38
<rniwa>
possible.
21:38
<rniwa>
but then you'll be exposing the internal undo manager...
21:38
<ehsan>
rniwa: please note that gecko doesn't really have a magic undo manager, it just creates one per input/textarea
21:38
<rniwa>
but then you'll be exposing the internal undo manager...
21:38
<ehsan>
rniwa: please note that gecko doesn't really have a magic undo manager, it just creates one per input/textarea
21:38
<ehsan>
and one for the whole page if it has a contenteditable element
21:38
<rniwa>
ehsan: right. i'm just calling it "magic" because it's invisible to scirpts
21:38
<ehsan>
ok yeah
21:38
<rniwa>
but maybe "invisible" is a better term
21:38
<ehsan>
yep
21:38
<smaug____>
rniwa: I assume input/textarea will have a separate undomanager in the spec
21:38
<rniwa>
smaug____: it doesn't
21:39
<ehsan>
and one for the whole page if it has a contenteditable element
21:39
<rniwa>
ehsan: right. i'm just calling it "magic" because it's invisible to scirpts
21:39
<ehsan>
ok yeah
21:39
<ehsan>
oh
21:39
<rniwa>
but maybe "invisible" is a better term
21:39
<ehsan>
well
21:39
<rniwa>
smaug____: nowhere in my spec does it say that
21:39
<ehsan>
yep
21:39
<smaug____>
rniwa: I assume input/textarea will have a separate undomanager in the spec
21:39
<rniwa>
smaug____: it doesn't
21:39
<ehsan>
oh
21:39
<ehsan>
well
21:39
<rniwa>
smaug____: nowhere in my spec does it say that
21:39
<ehsan>
so this _is_ a spec issue, and not merely a UI issue
21:39
<smaug____>
rniwa: or that the spec describes what an undomanager is, and HTML spec defines that input/textarea has such
21:39
<ehsan>
so this _is_ a spec issue, and not merely a UI issue
21:39
<smaug____>
rniwa: or that the spec describes what an undomanager is, and HTML spec defines that input/textarea has such
21:39
<rniwa>
smaug____: maybe.
21:39
<rniwa>
ehsan: sort of.
21:39
<ehsan>
yeah that makes sense to me
21:40
<rniwa>
smaug____: maybe.
21:40
<rniwa>
ehsan: sort of.
21:40
<ehsan>
yeah that makes sense to me
21:40
<smaug____>
also, should each contenteditable areas have own undomanager
21:40
<smaug____>
I think so
21:40
<rniwa>
ehsan: as it stands, value is tied to document's undo manager
21:40
<rniwa>
ehsan, smaug____: a bigger problem is with execCommand('undo')
21:40
<smaug____>
also, should each contenteditable areas have own undomanager
21:40
<smaug____>
I think so
21:40
<rniwa>
ehsan: as it stands, value is tied to document's undo manager
21:40
<rniwa>
ehsan, smaug____: a bigger problem is with execCommand('undo')
21:40
<smaug____>
so, that is designMode document then
21:40
<rniwa>
ehsan, smaug____: that currently undoes actions inside textarea/input at least on webkit
21:40
<rniwa>
don't know what gecko/msie do
21:40
<rniwa>
smaug____: no
21:41
<smaug____>
so, that is designMode document then
21:41
<rniwa>
ehsan, smaug____: that currently undoes actions inside textarea/input at least on webkit
21:41
<rniwa>
don't know what gecko/msie do
21:41
<rniwa>
smaug____: no
21:41
<rniwa>
smaug____: contenteditable and undo scope are separate
21:41
<rniwa>
smaug____: contenteditable and undo scope are separate
21:41
<rniwa>
smaug____: otherwise, you can't have multiple content editable regions that share the same undo manager
21:41
<rniwa>
smaug____: which is desirable for spreadsheet apps and others
21:41
<ehsan>
rniwa: I think gecko applies that command to the contenteditable stuff on the page and not the text box
21:41
<ehsan>
(not tested)
21:42
<rniwa>
smaug____: otherwise, you can't have multiple content editable regions that share the same undo manager
21:42
<rniwa>
smaug____: which is desirable for spreadsheet apps and others
21:42
<ehsan>
rniwa: I think gecko applies that command to the contenteditable stuff on the page and not the text box
21:42
<ehsan>
(not tested)
21:42
<smaug____>
ah, that is possible
21:42
<smaug____>
ah, that is possible
21:43
<rniwa>
ehsan: yeah gecko doesn't undo stuff inside text fields
21:44
<rniwa>
ehsan: yeah gecko doesn't undo stuff inside text fields
21:44
<ehsan>
at least that is what the code intends to happen ;)
21:44
rniwa
tests msier
21:44
<ehsan>
at least that is what the code intends to happen ;)
21:44
rniwa
tests msier
21:44
<rniwa>
msie*
21:45
<rniwa>
msie*
21:45
<smaug____>
(and connection to dns server died ( )
21:45
<smaug____>
(and connection to dns server died ( )
21:45
<rniwa>
ehsan: msie does undo in text fields
21:46
<rniwa>
ehsan: msie does undo in text fields
21:46
<ehsan>
:/
21:46
<ehsan>
:/
21:46
<ehsan>
this stuff is a mess in general
21:47
<ehsan>
this stuff is a mess in general
21:47
<rniwa>
ehsan: yup
21:47
<rniwa>
ehsan: yup
21:47
<rniwa>
ehsan: maybe we should standardize it :(
21:47
<rniwa>
AryehGregor: what do you think, Aryeh?
21:47
<AryehGregor>
About which?
21:47
ehsan
dies a little bit inside
21:47
<rniwa>
AryehGregor: standariziging undo behavior
21:47
<AryehGregor>
I'm in favor, of course!
21:48
<rniwa>
ehsan: maybe we should standardize it :(
21:48
<rniwa>
AryehGregor: what do you think, Aryeh?
21:48
<AryehGregor>
Easy to say. :)
21:48
<AryehGregor>
About which?
21:48
ehsan
dies a little bit inside
21:48
<rniwa>
AryehGregor: standariziging undo behavior
21:48
<AryehGregor>
I'm in favor, of course!
21:48
<AryehGregor>
Easy to say. :)
21:48
<rniwa>
AryehGregor: right now, msie/webkit undo things inside text fields by execCommand('undo')
21:48
<rniwa>
AryehGregor: right now, msie/webkit undo things inside text fields by execCommand('undo')
21:48
<rniwa>
AryehGregor: but gecko (and presumably) and opera don't
21:48
<rniwa>
AryehGregor, ehsan: but this behavior might be dependent by some legacy contents though
21:48
<AryehGregor>
execCommand("undo") should behave exactly the same as hitting Ctrl-Z, IMO.
21:48
<rniwa>
i mean being able to undo things in text fields seems like a useful API
21:48
<AryehGregor>
To the extent feasible.
21:49
<rniwa>
AryehGregor: but gecko (and presumably) and opera don't
21:49
<rniwa>
AryehGregor, ehsan: but this behavior might be dependent by some legacy contents though
21:49
<AryehGregor>
execCommand("undo") should behave exactly the same as hitting Ctrl-Z, IMO.
21:49
<rniwa>
i mean being able to undo things in text fields seems like a useful API
21:49
<AryehGregor>
To the extent feasible.
21:49
<rniwa>
AryehGregor: that's what all browsers do
21:49
<rniwa>
AryehGregor: that's what all browsers do
21:49
<AryehGregor>
Well, Gecko likes to throw if there's no editable content on the page.
21:49
<rniwa>
AryehGregor: and the behavior is different between msie/webkit and gecko/opera
21:49
<AryehGregor>
Well, Gecko likes to throw if there's no editable content on the page.
21:49
<rniwa>
AryehGregor: and the behavior is different between msie/webkit and gecko/opera
21:49
<rniwa>
AryehGregor: because msie/webkit share the same undo manager across the entire page whereas gecko/opera have separate undo managers for each form text control
21:50
<rniwa>
AryehGregor: because msie/webkit share the same undo manager across the entire page whereas gecko/opera have separate undo managers for each form text control
21:50
<AryehGregor>
Oh.
21:50
<AryehGregor>
Oh.
21:50
<AryehGregor>
Fun.
21:50
<smaug____>
execCommand('undo') could use the most recently used undomanager in the page
21:51
<AryehGregor>
Fun.
21:51
smaug____
lost some context...looking at logs
21:51
<smaug____>
execCommand('undo') could use the most recently used undomanager in the page
21:51
smaug____
lost some context...looking at logs
21:52
<rniwa>
smaug____: but the problem is that "the most recently used undomanager" is different depending on the browser :)
21:52
<rniwa>
smaug____: but the problem is that "the most recently used undomanager" is different depending on the browser :)
21:52
<rniwa>
AryehGregor: yeah....
21:52
<AryehGregor>
What does Ctrl-Z do? Probably it picks the undo manager based on what's focused, right?
21:53
<rniwa>
AryehGregor: yeah....
21:53
<AryehGregor>
What does Ctrl-Z do? Probably it picks the undo manager based on what's focused, right?
21:53
<AryehGregor>
Why can't execCommand() do that?
21:53
<AryehGregor>
Why can't execCommand() do that?
21:53
<smaug____>
rniwa: well, you need to just fix IE and webkit ;)
21:53
<rniwa>
AryehGregor: no
21:53
<rniwa>
AryehGregor: no
21:53
<AryehGregor>
:/
21:53
<rniwa>
AryehGregor: it undoes the last editing action on the page
21:53
<AryehGregor>
:/
21:53
<rniwa>
AryehGregor: it undoes the last editing action on the page
21:53
<rniwa>
smaug____: the question is whether we can change our behavior or not.
21:54
<rniwa>
smaug____: the question is whether we can change our behavior or not.
21:54
<rniwa>
smaug____: also there might be a good reason MSIE/WebKit do it this way
21:54
<rniwa>
smaug____: also there might be a good reason MSIE/WebKit do it this way
21:54
<rniwa>
i just don't know the history enough to give you any meaningful answer
21:54
<rniwa>
i just don't know the history enough to give you any meaningful answer
21:54
<smaug____>
rniwa: I haven't seen any gecko bug reports about its behavior
21:54
<rniwa>
smaug____: intuitively, either behavior is fine.
21:54
<rniwa>
user would just get used to it :)
21:55
<smaug____>
rniwa: I haven't seen any gecko bug reports about its behavior
21:55
<rniwa>
smaug____: intuitively, either behavior is fine.
21:55
<rniwa>
user would just get used to it :)
21:55
<smaug____>
and also, IE/webkit behavior just feels odd. But sure, if there is plenty of web content which relies on it ...
21:55
<smaug____>
and also, IE/webkit behavior just feels odd. But sure, if there is plenty of web content which relies on it ...
21:55
<rniwa>
smaug____, AryehGregor: my gut tells me there are quite few IE-specific contents that rely on this behavior
21:56
<rniwa>
smaug____, AryehGregor: my gut tells me there are quite few IE-specific contents that rely on this behavior
21:56
<rniwa>
anyway, it seems like the right strategy is to bring it up on public-webapps
21:56
<smaug____>
yeah
21:56
<rniwa>
anyway, it seems like the right strategy is to bring it up on public-webapps
21:56
<smaug____>
yeah
21:59
<rniwa>
smaug____, AryehGregor, ehsan: anyway, i've got to tell you that implementing undo manager spec turned out to be much harder than I had imagined :(
22:00
<rniwa>
as i said there are very interesting GC implications
22:00
<rniwa>
as i said there are very interesting GC implications
22:00
<smaug____>
rniwa: what kinds of GC implications ?
22:00
<rniwa>
and there are lots of edge cases, including the nested transactions, that we hadn't thought through well
22:00
<rniwa>
smaug____: basically, it needs to be treated like event handlers
22:01
<smaug____>
rniwa: what kinds of GC implications ?
22:01
<rniwa>
and there are lots of edge cases, including the nested transactions, that we hadn't thought through well
22:01
<rniwa>
smaug____: basically, it needs to be treated like event handlers
22:01
<rniwa>
smaug____: because dom transaction objects can outlive script context :(
22:01
<rniwa>
smaug____: because dom transaction objects can outlive script context :(
22:01
<smaug____>
(I guess I should review the draft, and r- if it has only one undomanager per document. )
22:01
<rniwa>
smaug____: it'll add undo manager on all elements that have undoScope content attribute :)
22:02
<smaug____>
(I guess I should review the draft, and r- if it has only one undomanager per document. )
22:02
<rniwa>
smaug____: or when undoScope DOM attribute is set true
22:02
<rniwa>
smaug____: it'll add undo manager on all elements that have undoScope content attribute :)
22:02
<rniwa>
smaug____: or when undoScope DOM attribute is set true
22:02
<smaug____>
rniwa: I'm not sure event listener behavior is spec'ed that clearly
22:02
<smaug____>
rniwa: I'm not sure event listener behavior is spec'ed that clearly
22:02
<smaug____>
in case the script context dies
22:03
<smaug____>
in case the script context dies
22:03
<smaug____>
in any case, I don't actually know how webkit does all the GCing
22:03
<smaug____>
in any case, I don't actually know how webkit does all the GCing
22:03
<rniwa>
smaug____: that's why "interesting" :(
22:03
<smaug____>
in Gecko undomanager would be just cycle collectable object, holding possibly some JS objects
22:04
<rniwa>
smaug____: that's why "interesting" :(
22:04
<smaug____>
in Gecko undomanager would be just cycle collectable object, holding possibly some JS objects
22:04
<smaug____>
a GC isn't enough for Gecko, it needs also a CC :)
22:05
<smaug____>
a GC isn't enough for Gecko, it needs also a CC :)
22:05
<rniwa>
smaug____: what's CC?
22:05
<smaug____>
cycle collector
22:05
<rniwa>
huh
22:05
<rniwa>
smaug____: what's cycle collector?
22:06
<rniwa>
smaug____: what's CC?
22:06
<smaug____>
cycle collector
22:06
<rniwa>
huh
22:06
<rniwa>
smaug____: what's cycle collector?
22:06
<rniwa>
smaug____: does it collect objects with cycles in them?
22:06
<rniwa>
smaug____: does it collect objects with cycles in them?
22:06
<smaug____>
it is for reference counted objects
22:06
<rniwa>
i see
22:07
<smaug____>
it is for reference counted objects
22:07
<rniwa>
i see
22:07
<smaug____>
CC and GC do in principle the same thing
22:07
<smaug____>
CC and GC do in principle the same thing
22:07
<smaug____>
GC handles live objects, CC tries to find to-be-deleted objects
22:07
<smaug____>
kind of
22:08
<smaug____>
GC handles live objects, CC tries to find to-be-deleted objects
22:08
<smaug____>
kind of
22:09
<rniwa>
i see.
22:09
rniwa
isn't familiar with gecko's GC
22:10
<rniwa>
i see.
22:10
rniwa
isn't familiar with gecko's GC
22:10
<smaug____>
Spidermonkey has GC, Gecko has CC
22:11
<smaug____>
Spidermonkey has GC, Gecko has CC
22:11
<gavin>
CC is a solution to the problem caused by refcounted objects interacting with GCed objects and creating cycles
22:12
<gavin>
CC is a solution to the problem caused by refcounted objects interacting with GCed objects and creating cycles
22:12
<smaug____>
CC is also a solution for cycles which don't involve GCed objects at all.
22:13
<smaug____>
CC is also a solution for cycles which don't involve GCed objects at all.
22:13
<gavin>
true
22:13
<gavin>
true
22:16
<rniwa>
smaug____, gavin: interesting
22:16
<rniwa>
i don't think webkit has tht
22:16
<rniwa>
that*
22:16
<rniwa>
so we have to use clever tricks to avoid cycles :(
22:16
<rniwa>
smaug____, gavin: interesting
22:16
<rniwa>
i don't think webkit has tht
22:16
<rniwa>
that*
22:16
<rniwa>
so we have to use clever tricks to avoid cycles :(
22:19
<ehsan>
rniwa: how well do they work in practice?
22:20
<ehsan>
rniwa: how well do they work in practice?
22:23
<rniwa>
ehsan: i don't know
22:23
<rniwa>
i'm not an expert in that area
22:24
<rniwa>
ehsan: i don't know
22:24
<rniwa>
i'm not an expert in that area
22:28
<rniwa>
ehsan: you should ask othermaciej :)
22:29
<rniwa>
ehsan: you should ask othermaciej :)
22:29
<rniwa>
ehsan: we were just talking about callback interface yesterday
22:29
<rniwa>
ehsan: he seemed knowledgable in this rea
22:29
<rniwa>
area*
22:29
<rniwa>
ehsan: we were just talking about callback interface yesterday
22:29
<rniwa>
ehsan: he seemed knowledgable in this rea
22:29
<rniwa>
area*
22:33
<othermaciej>
rniwa: I actually don't understand how it historically works, but I think the general approach is to teach GC how to find relevant GC roots from the document so that there is no need to GC protect GC objects references from refcounted objects
22:33
<othermaciej>
rniwa: I actually don't understand how it historically works, but I think the general approach is to teach GC how to find relevant GC roots from the document so that there is no need to GC protect GC objects references from refcounted objects
22:33
<othermaciej>
s/historically/currently/
22:34
<othermaciej>
s/historically/currently/
22:37
<rniwa>
othermaciej: you mean reachable* functions?
22:38
<rniwa>
othermaciej: you mean reachable* functions?
22:38
<othermaciej>
I don't know enough to relate it to code
22:39
<othermaciej>
I don't know enough to relate it to code
23:52
<smaug____>
rniwa: ping
23:53
<rniwa>
smaug____: pong
23:53
<rniwa>
smaug____: pong
23:53
<smaug____>
rniwa: (haven't read your draft yet..) so when is transact callback called, and why
23:53
<smaug____>
er
23:53
smaug____
is reading this wrong
23:53
<rniwa>
smaug____: one of them is called immediately (execute/executeAutomatic)
23:54
<smaug____>
rniwa: (haven't read your draft yet..) so when is transact callback called, and why
23:54
<smaug____>
er
23:54
smaug____
is reading this wrong
23:54
<rniwa>
smaug____: one of them is called immediately (execute/executeAutomatic)
23:54
<rniwa>
smaug____: undo/redo are called when undo/redo are involked
23:54
<rniwa>
smaug____: undo/redo are called when undo/redo are involked
23:56
<smaug____>
rniwa: so transact() adds something to the stack?
23:57
<smaug____>
rniwa: so transact() adds something to the stack?
23:57
<smaug____>
and then at some point the executeAutomatic of that object is called=
23:57
<rniwa>
smaug____: right.
23:57
<smaug____>
and then at some point the executeAutomatic of that object is called=
23:57
<rniwa>
smaug____: right.
23:57
<smaug____>
s/=/?/
23:57
<rniwa>
smaug____: well executeAutomatic is called immediately
23:57
<rniwa>
smaug____: but UA records what happened happened and fixes it later
23:57
<rniwa>
smaug____: so executeAutomatic case is quite simple
23:57
<rniwa>
smaug____: tricky one is when things are manual
23:58
<smaug____>
s/=/?/
23:58
<rniwa>
smaug____: well executeAutomatic is called immediately
23:58
<rniwa>
smaug____: but UA records what happened happened and fixes it later
23:58
<rniwa>
smaug____: so executeAutomatic case is quite simple
23:58
<rniwa>
smaug____: tricky one is when things are manual
23:58
<rniwa>
smaug____: we then have to call undo/redo much later when undo/redo are actually done
23:58
<rniwa>
smaug____: we then have to call undo/redo much later when undo/redo are actually done
23:58
<smaug____>
but ok, I should read the draft...
23:58
<smaug____>
I just started to think if there was any use for microtasks here.
23:58
<smaug____>
but probably not
23:59
<smaug____>
but ok, I should read the draft...
23:59
<smaug____>
I just started to think if there was any use for microtasks here.
23:59
<smaug____>
but probably not
23:59
<smaug____>
(I saw the email about nested transactions)
23:59
<smaug____>
(I saw the email about nested transactions)