00:56 | <Kaiido> | It is correct, as far as I (a non-native) and my partner (a native) can tell. |
09:27 | <Štefan Balog (AI Worldwide Brain)> | Hi |
09:29 | <Štefan Balog (AI Worldwide Brain)> | Life cycle and digital world databaze ipfs for IoT and AI Brain IT infrastrukture and World AI Brain softwear |
13:18 | <annevk> | Noam Rosenthal: interested in reviewing https://github.com/web-platform-tests/wpt/pull/54227 and https://github.com/whatwg/fetch/pull/1847? |
13:56 | <Noam Rosenthal> | Happy to take a look |
13:57 | <Noam Rosenthal> | WebIDL q for the room: is there a specified precedence when the same key exists both in an interface and in "named properties"? |
13:58 | <Noam Rosenthal> | (A web developer was noticing that the behavior of localStorage.setItem = 'foo'; console.log(localStorage.setItem) is not interoperable, and trying to decipher what's the spec-compliant one) |
14:04 | <Ms2ger 🌴> | Yes, there is |
14:04 | <Ms2ger 🌴> | I don't have time right now to work through the algorithm though :) |
14:06 | <Ms2ger 🌴> | webstorage/storage_functions_not_overwritten.window.js may be of interest |
14:06 | <Ms2ger 🌴> | in wpt |
14:17 | <Noam Rosenthal> | Ha interesting. this is relevant indeed but does the opposite thing (it uses localStorage.setItem("setItem", value) rather than localStorage.setItem = value) |
14:22 | <Ms2ger 🌴> | If you write a test for the other case, I'll try to review 😇 |
14:23 | <Noam Rosenthal> | I think I still need to find the spec bit to reason for what the right result is :) Will investigate. Thanks! |
14:46 | <annevk> | Noam Rosenthal: https://webidl.spec.whatwg.org/#LegacyOverrideBuiltIns can be used to change the order, so Storage will behave as if that is not applied; couldn't find a change related to that |
14:48 | <Noam Rosenthal> | Ha ok so for Storage , the following should apply: "the usual behavior, which is for named properties to be exposed only if there is no property with the same name on the object itself or somewhere on its prototype chain." |
14:48 | <annevk> | I think so, yes |
14:49 | <annevk> | I vaguely remember a former Googler making a point about this on the WHATWG mailing list, so surprising to see that Chrome has a bug here |
14:50 | <Noam Rosenthal> | I think actually chrome does the right thing here and Gecko/WebKit are in the wrong |
14:50 | <Noam Rosenthal> | localStorage.setItem = 1234; console.log(localStorage.getItem("setItem")) should return null according to this IIUC. It returns null on chrome but 1234 on FF/Safari |
14:52 | <Noam Rosenthal> | but I guess in this case it's slightly vague in the spec whether a named property that wasn't set yet is "exposed" |
14:54 | <annevk> | I think in that case https://webidl.spec.whatwg.org/#legacy-platform-object-set applies since it implements setter? Not a 100% sure though. |
15:01 | <Noam Rosenthal> | Ah yes. Storage would fall under the definition of a "legacy platform object" because it's a non-global with named properties. So "setting" setItem on it would invoke that algorithm and the result would be 1234 and not null . Thanks! |
17:12 | <cwilso> | Hey gang. I'm out on leave for the next four weeks. I'm going to need someone to chair the WHATNOT meetings. Any takers? |
17:35 | <Noam Rosenthal> | Happy to chair with the * of sometimes having unexpected family commitments at 5PM. |
18:54 | <Noam Rosenthal> | (would be good to have backup, also I'm OOO on Sep. 4th) |
21:45 | <Alan Stearns> | Perhaps we should cancel the form controls meeting on the 21st? It comes right as three all-day meetings end for CSS, so our participants will likely be entirely zonked out. |