Thanks Woxxom, it's a nice method, but unfortunately for my case it doesn't work - where often times it might be generic elements, like imgs, svg, etc.
I don't think those commonly get focus (at least in my testing they didn't).
The only work-around (if you can call it that) I can think of, could be to also dynamically inject, but add a {once: true} mousemove listener, then assuming some heuristics (like position within viewport, estimating contextmenu size, etc), you might be able to guess the offset between the contextmenu click and mousemove event, which is when the contextmenu item is clicked.
I know it's absurd, but to me, so is all_frames injection for possible edge cases.
I haven't tested it with this particular case, but Firefox's
getTargetElement I assume would work fine with this.