02:33
<Jasper>
Yikes, the URL spec blew up today, didn't it :(
12:45
<hallvors>
annevk: around?
12:54
<hallvors>
In the HTML spec - User Interaction - Drag'n'drop, the DataTransfer stuff doesn't say anything about security risks associated with the *data* or the *type string* - not that I can see anyway
12:55
<hallvors>
e.g. the risk that a rogue page can launch an exploit at a native application by making the user drop a data payload that will trigger a security problem on that app
12:55
<hallvors>
or place something on the clipboard that, when pasted, will trigger some security issue in the target
12:56
<hallvors>
In the context of clipboard API work, I was told in no uncertain terms that allowing a random script to place for example JPG binary data on the clipboard is a no-go since it might target exploitable bugs in some local application's JPG support with a malicious payload
12:59
<hallvors>
shouldn't the DataTransfer API handle such stuff? For example whitelist safe types? Transcode image files for safety?
12:59
hallvors
should perhaps mail the whatwg-list
13:06
<annevk>
hallvors: filing an issue on GitHub might be better, but yeah, it seems like it should
13:06
<annevk>
hallvors: fancy improving that?
13:11
<hallvors>
annevk: well, some of those limitations are already implemented .. so it should be possible to figure out what it needs to say :-o
13:12
<hallvors>
If it's not done in DataTransfer I'll need to add something to Clipboard API - but then DnD would still be vulnerable so that seems silly
13:12
<annevk>
hallvors: even better
13:12
<annevk>
hallvors: another thing we should improve is make it an object that both drag & drop and copy & paste can use, right? Or does copy & paste use a different object these days? Haven't really followed that much
13:13
<hallvors>
it is used in both DnD and Clipb apis
13:13
<annevk>
Hixie wanted them to share the model entirely so there'd be no distinction and users that can't drag wouldn't be disadvantaged, but it seems like that is hard to do at this point
13:23
<hallvors>
I'll need some handhelding by developers though, if I'm going to write some security thingies ;)
13:29
<hallvors>
annevk: regarding the DnD and Clipboard convergence Hixie wanted, I think it's a good goal, and I think if pages make sure they listen to both drop and paste events it should most just work as he intended
13:29
<annevk>
hallvors: yeah, I guess he was hoping to avoid that pages had to do both
13:33
<hallvors>
We could do that if we spec'ed that pasting should fire drop events.. but it would be sort of odd
13:33
<hallvors>
and go against the legacy paste events
13:35
<annevk>
Yeah, probably not possible
13:35
<hallvors>
but it's easy to listen to both and use basically the same code for processing both pastes and drops
13:35
<hallvors>
that seems reasonable to me..
15:36
<wanderview>
annevk: should same-origin-data-url flag be set for either <script> or <link rel=stylesheet>?
15:37
<wanderview>
I have to run, but will check back later...
15:37
<wanderview>
I can't tell if these are intentionally not there if those specs have not been updated to use fetch
16:26
jwalden
bemuses himself quasi-trolling the latest WHATWG blog post
16:59
<annevk>
wanderview: I'm not sure
16:59
<annevk>
wanderview: maybe for the latter, depends on whether user agents require the MIME type to be correct I suppose
17:00
<annevk>
jwalden: heh
17:28
<zokier`>
hi, is a plain text version of dom idl available somewhere?
17:32
<zcorpan>
zokier`: don't think so. there's https://dom.spec.whatwg.org/#idl-index or you can maybe scrape it from the source https://github.com/whatwg/dom/blob/master/dom.bs
17:34
<annevk>
Copying the index seems most straightforward
17:36
<zokier`>
sure, thanks. kinda odd imho though
17:38
<TabAtkins>
zokier`: Odd how?
17:39
<wanderview>
TabAtkins: do you know if the spec says anywhere if <link rel="stylesheet'> data URLs should be treated same-origin or cross-origin?
17:39
<TabAtkins>
P sure it does *not* say anywhere.
17:40
<wanderview>
thanks
17:40
<zokier`>
TabAtkins, its just something i would have expected to be easily downloadable
17:42
<Mek>
what is same-origin/cross-origin used for in link rel="stylesheet"?
17:45
<wanderview>
Mek: SRI in my particular case... we don't support SRI on no-cors cross-origin... we have a test case that uses SRI for a data URL
17:47
<annevk>
Mek: CSSOM access, and whether you can omit the MIME type
17:48
<Mek>
wanderview: doesn't the SRI spec explicitly say "Since the response type for data URLs will always be “opaque” for script and link elements, such URLs are never eligible for integrity checks."
17:49
<Mek>
(okay, as non-normative text. But that's also how I would interpret the way css/html/fetch specify fetching stylesheets...)
17:50
<wanderview>
Mek: yes, and I think thats bogus :-) https://github.com/w3c/webappsec-subresource-integrity/issues/35
17:50
<Mek>
well, the way I read the css and fetch specs, it leaves the request which its default mode=no-cors and with the same-origin data-URL flag unset, which would indeed result in an opaque response
17:51
<wanderview>
Mek: css spec uses fetch spec? can you send me the link to that?
17:51
<Mek>
wanderview: https://drafts.csswg.org/cssom/#fetch-a-css-style-sheet
17:51
<wanderview>
sorry, I have to go to a meeting now
17:51
<wanderview>
thanks
18:04
<smaug____>
annevk: I don't understand the blob part of https://url.spec.whatwg.org/#origin
18:04
<smaug____>
what does "Let url be the result of parsing the first string in URL’s path. " mean?
18:07
<Mek>
the url spec defines a path as a list of zero or more ascii strings, and that then parses the first string in that list as if it was a url?
18:10
<smaug____>
I see
18:11
<smaug____>
and (new URL("blob:blob:http://foo.com/bar")).origin should be "http://foo.com";, not blob:// what blink gives
18:11
<Mek>
seems like that to me, yes...
18:42
<zcorpan>
i'm behind with github notifications. if there's something i should look at, let me know here pls :-)
18:55
<Domenic>
zcorpan: https://github.com/whatwg/html/pull/1236 is the other PR assigned to you. Seems reasonably small.
19:06
<wanderview>
Mek: bz wrote an issue for the data URL thing as well: https://github.com/whatwg/html/issues/1243
19:07
<Mek>
yeah, I (uninformed) agree that it seems like this might just be an accidental result of how the specs ended up rather than intentional...
19:25
<zcorpan>
annevk: do you want to review https://github.com/w3c/web-platform-tests/pull/2926 ? since you LGTMed the spec change 🙂
19:27
<annevk>
zcorpan: tomorrow I suppose
19:27
<zcorpan>
ok thanks
23:16
<sicking>
jsbell: ping
23:16
<jsbell>
sicking: what's up?
23:17
<sicking>
jsbell: does Chrome support getting a DirectoryEntry from <input type=file>/<input type=directory> or some such?
23:17
<jsbell>
sicking: yes. Edge is not planning to implement that though.
23:17
<sicking>
jsbell: What's the syntax?
23:18
<jsbell>
sicking: https://docs.google.com/document/d/14fCaoRf5GtdhMwJOVjcQSMDm_varTluyMq8RYyHR8vw/edit
23:18
<jsbell>
HTMLInputElement has webkitEntries
23:18
<jsbell>
But only populated by D&D onto an input, not via clicking
23:19
<sicking>
jsbell: oh, "but only populated via drag&drop"??
23:19
<jsbell>
Yeah, we're awesome apparently.
23:19
<sicking>
why does that restriction exist?
23:20
<sicking>
jsbell: that sounds like just a bug? Or is it intentional?
23:21
<jsbell>
sicking: predates me, so I don't know for certain. probably just never implemented, since D&D is a very different code path than selection via dialog
23:21
<sicking>
i suspect that if we go down the DirectoryEntry route, that we'll go all the way and implement it on <input type=file> as well. But fully through click as well
23:21
<sicking>
jsbell: i see
23:21
<jsbell>
sicking: I added use counters to try and see if it's used
23:21
<jsbell>
But data isn't in yet
23:21
<sicking>
ok
23:22
<jsbell>
sicking: if Edge doesn't implement and it isn't used maybe we can remove. Don't know yet
23:22
<sicking>
jsbell: remove what part? input.webkitEntries?
23:22
<jsbell>
yes
23:22
<sicking>
why remove that? If we're going down the DirectoryEntry path, shouldn't we make it work well?
23:24
<jsbell>
just reducing surface area overall; restrict the Entry stuff to D&D, keep input restricted to Files w/ webkitRelativePath and implied structure
23:24
<jsbell>
But I'm not firmly against, just trying to figure out what is *necessary*
23:25
<jsbell>
I'm also just starting on a spec (like, created index.bs yesterday) for the Entry stuff, i.e. a subset of [[file-system-api]]
23:27
<jsbell>
sicking: not pushed anywhere yet, I'll ping when it's more than a skeleton.
23:28
<sicking>
jsbell: i think both microsoft and mozilla want to have an API that doesn't require sync IO and which enables directory picking
23:28
<sicking>
jsbell: i feel like if we go with DirectoryEntry for d'n'd, we should do the same for directory picking as well
23:29
<jsbell>
that's entirely reasonable, and no objection from me
23:29
<sicking>
cool
23:30
<Domenic>
jsbell: does that mean we can assign https://github.com/whatwg/html/issues/217 to you? :)
23:33
<jsbell>
Wheee. :)