00:07
<reggna>
Also interesting: Removing the src attribute will reset an img, but won't reset a video.
00:08
<reggna>
currentSrc doesn't change.
07:53
<annevk>
Domenic: "browsing context environment settings object" introduced in https://github.com/whatwg/html/commit/cf0355d7e0e229b98f7fbd51b8c7608010c787f5 should really be "window environment settings object", right?
07:54
<annevk>
Domenic: it also seems that at various points we invoke "set up a browsing context environment settings object" before we've created a document
07:54
<annevk>
Domenic: which results in null pointer exceptions
07:55
<Domenic>
annevk: seems better, but can't really look today I'm afraid; happy to follow up more tomorrow.
07:56
<annevk>
Domenic: just wanted to quickly check, safe travels
08:04
<foolip>
reggna: for media elements, if you really want to unload it, you should set srcObject to null, remove the src attribute, all <source> children and then call load()
08:05
<foolip>
reggna: actually no, don't need to call load(), setting srcObject will implicitly do that (the other two things won't though)
08:36
<annevk>
Domenic: if you're not in the air, can https://www.w3.org/Bugs/Public/show_bug.cgi?id=28920 be closed?
08:52
<Domenic>
I recall that still needing investigation but happy to trust your judgement
08:52
<annevk>
I'll leave it then, not a 100% sure
12:25
<ondras>
hm, is this supposed to work?
12:25
<ondras>
https://jsfiddle.net/b1hdjzwz/1/
12:25
<ondras>
firefox is not applying the rotation
12:25
<ondras>
calc inside a transform? 45 * 1deg inside of a calc?
12:26
<ondras>
what exactly is incorrect?
12:32
<topaxi>
it's not supported by ff yet
12:32
<topaxi>
but it should work (afaik)
12:32
<ondras>
topaxi: and what exactly is the problematic feature? calc()ing degrees or calc()ing transforms?
12:33
<topaxi>
calc in some transforms
12:33
<ondras>
ok
12:33
<ondras>
would an indirection (custom prop) fix this?
12:33
<ondras>
https://jsfiddle.net/b1hdjzwz/2/
12:34
<ondras>
no :/
12:35
<topaxi>
oh maybe it is a problem with some units, not the transforms
12:35
<topaxi>
https://bugzilla.mozilla.org/show_bug.cgi?id=956573
12:38
<ondras>
that looks exactly like my case
12:38
<ondras>
topaxi: okay, thanks for the link
12:39
<topaxi>
transforms are affected too, even if the unit doesn't matter: https://bugzilla.mozilla.org/show_bug.cgi?id=1308785
12:39
<topaxi>
so i guess its both
12:43
<nox>
Fun times, I just filed https://bugzilla.mozilla.org/show_bug.cgi?id=956573 too.
12:43
<nox>
Err, https://bugzilla.mozilla.org/show_bug.cgi?id=1363350
12:44
<ondras>
:)
13:20
<reggna>
10:04:44 < foolip> reggna: for media elements, if you really want to unload it, you should set srcObject to null, remove the src attribute, all <source> children
13:21
<foolip>
reggna: yes? :)
13:22
<reggna>
foolip: The only reason that "unloads" it, is because setting srcObject to null will be interpreted as a relative URL so the WebMediaPlayer will actually get a new load call with http(s)://domain/null
13:22
<reggna>
Oh, no. Hmm.
13:22
<reggna>
Now it actually worked.
13:23
<foolip>
reggna: that sounds weird, srcObject is an object, not a URL
13:23
<foolip>
reggna: did you set video.src = null by any chance?
13:25
<reggna>
Last time I did, and then I set srcObject to null as well and that just reloaded the video.
13:26
<reggna>
This time I didn't, and it just reloaded the video with the currentSrc.
13:26
<foolip>
reggna: what resource was loaded before you did the thing? was it from currentSrc, src, or a source element?
13:26
<foolip>
s/currentSrc/srcObject/
13:26
<reggna>
foolip: Source element.
13:26
<foolip>
ok, so then you'd have to remove the source elements as well
13:27
<foolip>
or, I dunno, just remove the video element from the DOM and start with a new one :)
13:27
<reggna>
Yes, and you have to do that before setting srcObject to null.
13:27
<foolip>
the order shouldn't matter, if it does there's a bug somewhere
13:27
<foolip>
as long as you do all the things before returning back to the event loop, that is
13:27
<reggna>
Well, no, the order does matter.
13:28
<reggna>
If you set srcObject to null while it still has source elements, it will just reload one of them.
13:28
<reggna>
So you have to remove the source elements first (and remove src if you have one) and then set srcObject to null.
13:28
<foolip>
even if you remove the source element right after setting srcObject to null?
13:29
<foolip>
that would mean that a new resource is selected synchronously in the srcObject setter, which isn't impossible, but then a bug
13:30
<reggna>
I was just trying in devtools, but no, it shouldn't be synchronous (at least it wasn't a few years ago when I actually knew this code).
13:30
<foolip>
ah, well in devtools there will be time between the calls, that would explain it
14:27
<annevk>
Sigh, improving navigation and lifetime of objects is such a time sink
14:28
<annevk>
So I wanted to make "create a new browsing context" a little better by making the creator argument explicit
14:28
<annevk>
Not even something ambitious like allocating a unit of related browsing contexts or something like that, just adding a creator argument
14:29
<annevk>
Going through the various callers I find myself cleaning up frame/iframe algorithms that really need more consolidation
14:29
<annevk>
I encounter the broken state of <embed> and <object>
14:30
<annevk>
I remove the bits from "creator browsing context" that are no longer needed and look into what it would take to remove the remaining bits, since they don't make much sense
14:30
<annevk>
So now I'm writing tests for base URL handling in XMLHttpRequest response Document objects
14:31
<annevk>
And to do this properly that's only the start. I need to write tests for base URL handling of all kinds of Document objects. Then rewrite how base URLs work in HTML. And maybe then I can get back to "create a new browsing context" and get sucked into consolidating frame/iframe again
15:11
<foolip>
annevk: sounds like you're going depth first :)
15:11
<foolip>
I keep doing that as well, so hard to resist
16:22
<annevk>
foolip: seems hard to fix it otherwise
16:22
<tobie>
JakeA: just DMed you
16:22
<annevk>
foolip: cannot improve the broken higher layer if the fundamentals are all wrong
16:23
<annevk>
foolip: I do try to ignore the iframe and embed stuff though
16:23
<annevk>
foolip: although it's hard
16:49
<TabAtkins>
Just in case anyone is around who can tell me how bad a thing I just did: I came in today to my computer swapping like crazy. top shows an objfs process using up 87% of RAM. Couldn't figure out what's doing it, so I just killed the process.
16:49
<TabAtkins>
(The meta question of why my computer was swapping like crazy when it still had half a gig of ram available will be left to the software engineering segment of your syllabus.)
16:50
<TabAtkins>
None of my programs seem to have fallen over yet, so...?
16:52
jgraham
doesn't even know what objfs is
16:53
<jgraham>
Unless you are running Solaris
16:53
jgraham
wonders if this was the intended channel
16:54
<TabAtkins>
I had no better channel to ask about it.
16:55
<jgraham>
Ah well since I couldn't work out what objfs was I wondered if it was some Google thing
16:55
<jgraham>
If search goes down, we'll blame you :)
16:55
<TabAtkins>
And no, a modded Ubuntu. So The terminology could be reinforced with a new figure in the spec, showing the keyframes, the frames, and the steps as different parts of the timing function graph.
16:55
<TabAtkins>
lolwut
16:55
<TabAtkins>
sorry, copypaste fail
16:56
<TabAtkins>
meant to be a ¯\_(ツ)_/¯
18:28
<nox>
TabAtkins: Just a link to the decision without any further explanation would be enough, I'm just being curious at that point, and I assume this was already bikeshedded to the infinite so I wouldn't mind.
18:28
<TabAtkins>
I'd have to hunt down the meeting minutes.
18:28
<TabAtkins>
But I can explain the reasoning easily.
18:29
<TabAtkins>
The 3-value syntax makes <position> *way* harder to intermix with other <length>s, but it's very rarely used (and quite weird).
18:32
<nox>
Are there that many <position>s followed by <length>s?
18:45
<TabAtkins>
There's effectively zero today, because you *can't* produce the grammar unambiguously.
18:45
<TabAtkins>
There are places we'd *like* to have such a thing.
19:31
<tobie>
So back at doing some WebIDL work (finally).
19:32
<tobie>
I'm trying to finish the [Default] toJSON() work and struggling with consequential interfaces.
19:33
<tobie>
Anyone familiar with using a limited version of those that would be more similar to mixins?
19:33
<tobie>
That is, B and B's inherited interfaces in `A implements B;`