The spec has a warning:
Missing <dfn> for Performance interface.
In the spec, we have:
A <dfn>Performance</dfn> in a section with data-dfn-for="Performance" data-link-for="Performance".
A <dfn>performance</dfn> in a section with data-dfn-for="WindowOrWorkerGlobalScope" data-link-for="WindowOrWorkerGlobalScope".
It seems that the two dfns being the same name is causing the problem. In particular, there are two problems:
readonly attribute Performance performance; is to the attribute instead of the interface (even if I try to add a data-link-for for "Performance").Not sure if this is an issue with ReSpec or if there's a way to fix this?
It seems #1508 is related.
@saschanaz, Yeah :( Still not figured this out. Trying to find time to dig into it. I've got a bunch of conference talks next week, so right now super busy on those. Will try to look into in August unless anyone else can take it.
@sidvishnoi, did you see anything useful/helpful while you were investigating?
It is related to #1508 as @saschanaz mentioned and not a regression.
During some playing, I found keeping IDL case-sensitive resolves this. So,
core/utils@getDfnTitles() needs to return non-lowercase titles for IDLoriginalName instead of nameBy doing the above during investigation, I was able to to fix this issue. Although, I triggered another linking error (probably missed some case-sensitive conversion somewhere)
Fix didn't seem to work on the actual spec, tho it worked in our tests. Need to check what's going on.
Ok, so it's a bit better. At least the IDLType is linking, but the first dfn for Performance is not being matched.
@sidvishnoi, would you mind having another look and doing some more experimentation? I think this can be reduced down to a very test case. You just need an interface Performance {}; and a <dfn>Performance</dnf>, and another interface interface Conflict { attribute Performance performance; } and:
<section>
<dfn>Performance</dfn> interface.
</section>
<section data-dfn-for="Conflict">
<dfn>Conflict</dfn> interface.
<dfn>performance</dfn> attribute.
</section>
Okay. Had a play with this. I think it is time we make definitionMap case sensitive for IDL (it worked _almost_ well as I tried) as I think everything else will be a "workaround". Do we have some reason to not do it yet?
Minor update: Made it work much well after a few tweaks. Idea is to not make use of name or parent but use originalName and originalParent instead (and of course, fix core/utils@getDfnTitles).
No reason. What means do we have to reliably identify IDL?
What means do we have to reliably identify IDL?
We can check if dfn's term (textContent/data-lt) exist in some pre.idl. We might need to pre-process a Set of IDL terms. Not sure here. You and @saschanaz have more experience with IDL things.
Maybe just <dfn data-dfn-type=“idl”>Foo</dfn> for now, then we can make it smarter?
Closed via https://github.com/w3c/respec/pull/1792