The results aren't consistent with Object.getOwnPropertyNames; see discussion and test cases in https://bugs.webkit.org/show_bug.cgi?id=33603. JSObject::hasOwnProperty() should use getOwnPropertyDescriptor() rather than getOwnPropertySlot(), since getOwnPropertySlot() does proxying of prototype properties; this is an implementation detail that shouldn't be exposed through public JS functions.
All dependent bugs are fixed and Safari pass all WPT related test for this: https://wpt.fyi/results/js/builtins?label=master&label=experimental&aligned&q=object.prototype.hasownproperty Is something needed more here? Thanks!