12:27
Ms2ger
curses lxml
12:34
MikeSmith
curses absurdly poor performance of parsing HTML in python no matter what python HTML parser you use
12:35
<MikeSmith>
lxml works really great as long as you’re not in a hurry
12:40
<ato>
kuchiki by SimonSapin is great if you can use Rust.
14:40
<Ms2ger>
ato, indeed it is, but I doubt TabAtkins wants to integrate rust into bikeshed :(
14:41
<ato>
Ah, context is king! (-:
14:55
<SimonSapin>
TabAtkins and I actually talked about moving bikeshed to rust before, but that’s a larger project
14:58
<smcgruer>
annevk: If you feel like musing about data URLs, I would be interested in your comments on crbug.com/807562#c9 - thanks! :)
15:00
<annevk>
smcgruer: so the whitespace change earlier seems concerning as the data URL processor can only see U+0020 when I last checked
15:02
<annevk>
smcgruer: data://test:test should fail in the URL parser due to incorrect port
15:04
<annevk>
smcgruer: base64 was done per RFC and matches Safari at least?
15:04
<annevk>
smcgruer: doing it differently would end up quite involved as the MIME type parser drops it, iirc
15:42
<nox>
Wow Safari matching something! :P
15:42
<nox>
SimonSapin, TabAtkins: If you ever work on that, count me in.
15:42
<TabAtkins>
Def still my plan at some point
15:42
<nox>
MikeSmith, Ms2ger: Fun that you are cursing Python,
15:42
Ms2ger
curses nox
15:43
<nox>
some Mozilla people were just today cursing Python because it coordinates invoking clang-format in mozilla-central,
15:43
<nox>
and apparently it causes a huge overhead just existing.
15:43
<TabAtkins>
Tho this year I'm gonna drop lxml and integrate Markdown parsing directly into HTML parsing, so using kuchiki to parse prob isn't gonna work
15:44
<annevk>
nox: Safari matches a lot of things
15:44
<annevk>
nox: eg, URL parser
15:44
<nox>
TabAtkins: Using Kuchiki no, but using html5ever's tokenizer could maybe work.
15:44
<Ms2ger>
TabAtkins, please do, it's segfaulting
15:45
<TabAtkins>
I need to look into that
15:45
<TabAtkins>
Ms2ger: yeah, I saw. Haven't been able to dig in yet, but wtf
15:45
<TabAtkins>
Is it for all Travis?
15:45
<Ms2ger>
I dunno, it was locally for me
15:47
<TabAtkins>
Woah!
15:47
<TabAtkins>
Fresh install or something, or out of nowhere?
15:47
<Ms2ger>
Oddly, it seems to be installing 4.3.1 while your requirements.txt has lxml>=4.2.5<4.3
15:48
<Ms2ger>
Yeah, fresh
15:53
<TabAtkins>
That's a good hint, thanks. Will dig in today
15:56
<Ms2ger>
TabAtkins, https://github.com/tabatkins/bikeshed/pull/1433 ; seems to help locally, at least
15:56
<TabAtkins>
you're great, merging
15:56
<TabAtkins>
we'll see if this fixes the travis failures
16:22
<Ms2ger>
TabAtkins, btw, is there a way to silence "WARNING: This specification has neither a 'Security Considerations' nor a 'Privacy Considerations' section."?
16:22
<TabAtkins>
Yes, put that section in.
16:23
<nox>
😂
16:23
Ms2ger
gives TabAtkins a smartass cookie
16:24
<TabAtkins>
I mean, why does your W3C-group spec not have one? It's required for publication.
16:24
<Ms2ger>
WebIDL doesn't get published, afaik :)
16:25
<TabAtkins>
TECHNICALLY true
16:25
<TabAtkins>
But still, just drop in a "This spec introduces no privacy or security considerations, as it is defining a meta-language that actually-useful specs use to write themselves."
16:26
<TabAtkins>
...in a section titled "Privacy & Security Considerations"
16:27
<Ms2ger>
Well, that's an easy way to finish the week
16:34
<annevk>
I’m not sure that should pass review though
16:34
<annevk>
If not implemented carefully there would be a number of security issues
16:37
<TabAtkins>
That's a line that could be added to literally every specification, tho.
16:43
<TabAtkins>
Expanding: I think that the P&S section is for things to be careful about or consider *due to the feature itself*. Mis-implementing a feature is always a possible source of problems, "be sure not to mess up when implementing this" doesn't need to be added.
17:07
<TabAtkins>
...that's not true, tho; some features are *really* sensitive to being misimplemented in ways that totally ruin them. They're a rarity, tho. I suppose WebIDL might qualify for that, for some of the stuff specifying realms and such.
17:31
<annevk>
Right, I think the binding layer qualifies, as it’s a security boundary of sorts
17:56
<TabAtkins>
All right, so it sounds like an S&P section would actually be *useful* to write. As a side-effect it will then silence the warning. ^_^
18:05
<annevk>
smcgruer: hope that helped btw?
18:38
<smcgruer>
annevk: It did, thanks. Sorry for not being around, was in meetings all morning. I believe this is quite late for you so happy to punt discussing further till Monday (also feel free to comment on the Chrome issue)
18:51
<smcgruer>
annevk: For the whitespace question, my gut feeling is that Chrome's URL parser is probably allowing non-U+0020 whitespace characters in general, but when checking the spec (https://url.spec.whatwg.org/#concept-basic-url-parser) I do only see a step to remove TAB, LF and CR but not FF. (steps 2, 3). It's possible I missed a step that would remove FF.
18:53
<smcgruer>
annevk: The port point is a good one, I will make a note of that in the bug.
18:54
<smcgruer>
annevk: And finally for base64, it's a reasonable argument. You would have to search for all occurrences in mimeType, remove them, and then pass the remaining content to the MIME type parser. I was just responding my best guess to foolip's question :)
20:19
<annevk>
smcgruer: thanks, I’ll investigate Monday
21:24
<annevk>
By the way, Bikeshed in Rust would be amazing
21:24
<annevk>
We could maybe switch HTML then
21:25
<annevk>
Would love to help if I can
21:41
<TabAtkins>
After I do the parser rewrite, I can consider it. It's already going to be such a huge change to the internals, I'd like to get it done in a language I"m familiar with first.