12:17
<sfarre>

While implementing the Fullscreen API for Ladybird I came across an issue with the fullscreen spec with respect to how it says to run "find the topmost popover ancestor" algorithm: https://fullscreen.spec.whatwg.org/#fullscreen-an-element

It says: Let hideUntil be the result of running topmost popover ancestor given element, null, and false. but when looking at the algorithm, it is described as "using 4 parameters" so to speak:

"To find the topmost popover ancestor, given a Node newPopoverOrTopLayerElement (1), a list popoverList(2), an HTML(3) element or null invoker(3), and a boolean isPopover(4), perform the following steps. They return an HTML element or null."

Is popoverList an implicit argument to the algorithm and if so, where is that documented?

12:20
<sfarre>
And the topmost popover ancestor algo: https://html.spec.whatwg.org/multipage/popover.html#topmost-popover-ancestor
12:21
<sfarre>
I can't find any other places in the standard that refers to this algorithm, in the wording that the Fullscreen API does, namely "given element, null, false", i've only found "given foo, bar, baz, quux"
12:32
<jmdyck>
If popoverList were optional, then it would be introduced as an optional list popoverList, and it would either be given a default value, or the algorithm would have to deal with the possibility that it's not supplied. And optional positional parameters are supposed to come at the end of the parameter list. None of that's true in this case, so you can be pretty confident that popoverList isn't optional.
12:35
<sfarre>

Right, that was my conclusion as well. So that would also make it safe to assume that the Fullscreen API is worded incorrectly?

Judging by how Firefox has implemented this, they populate the popoverList using popover elements that whose popover attribute is in the auto state. in the document for which element belongs to. But it would probably be best to also specify this in the standard, no?

12:42
<jmdyck>
topmost popover ancestor used to have only 3 params, and then popoverList was added. So probably Fullscreen's invocation used to be correct, but then wasn't updated when it should have been.
12:42
<sfarre>
yeah, that was my speculation as well
12:43
<sfarre>
Should I file an issue with the Fullscreen spec?
12:43
<jmdyck>
That happened only two months ago, in commit 7a307cd
12:43
<sfarre>
Oh wow
12:44
<sfarre>
sorry, but where can I look at that commit?
12:44
<jmdyck>
just a minute...
12:45
<sfarre>
found it, this one right? https://github.com/whatwg/html/commit/7a307cdfdee23d28e9c043afd70fe46e27e40d45
12:46
<jmdyck>
yup, in particular line 86219
12:52
<jmdyck>
https://github.com/whatwg/html/pull/9778 is the PR that added it. I don't think it mentions the need to update downstream specs (but I only skimmed the discussion). I don't know how that's supposed to happen.
12:53
<sfarre>
right, so with my understanding, the new hints should just be dismissed upon fullscreen
12:56
<sfarre>
but, I would need to understand popovers better. who, what, where do I file issues?
12:57
<sfarre>
because it seems like filing an issue with the Fullscreen spec don't make all that much sense, since we'd need some understanding that the authors & reviewers of that PR can only provide, right?
12:58
<jmdyck>
I think it makes sense to file an issue with the Fullscreen spec even if you don't know how to resolve it.
12:58
<sfarre>
right, ok
12:59
<sfarre>
I'll file an issue, reference the PR and some of this discussion.
13:01
<jmdyck>
Your issue can maybe 'at' josepharhar (author of 9778) to ask for advice.
13:02
<sfarre>
ok
13:02
<jmdyck>
oh, first check if such an issue already exists on fullscreen.
13:02
<sfarre>
yeah it struck me too :) but there was none
13:08
<sfarre>
i'm guessing they missed it because when clicking the cross references, the fullscreen api does not show up
13:12
<jmdyck>
clicking the algorithm name in the HTML spec? Does that ever bring up external references?
13:13
<jmdyck>
That's maybe a bikeshed feature. HTML spec isn't built with bikeshed.
13:15
<sfarre>
right
13:16
<Luke Warlow>
Idk that bikeshed even has that feature (it would be amazing if it did and html could get it though). For exactly this kind of purpose. Makes finding your consumers much easier.
13:38
<Nazim Shopen>
nazimshopen
17:18
<akaster>
for cross-references, there's always https://dontcallmedom.github.io/webdex/
17:18
<akaster>
though it would definitely be nice if such metadata was available inline