We currently don't implement the HTML spec with respect to setting the opener exactly. According to the spec, whenever name is "_self" we do not create a new top level traversable, which means we do not follow step 8.8 which creates a new top-level traversable with an opener. Whenever the currentNavigable is selected in step 4, there is no step to set an opener. In practice, both Blink and Gecko do not set opener on window.open(..., "_self").
<rdar://problem/111231401>
Pull request: https://github.com/WebKit/WebKit/pull/15262