Bug 251942

Summary: Different/bad behavior on the new navigation menu at apple.com compared to Chrome or Firefox
Product: WebKit Reporter: Mehmet <mehmet.sahin>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: karlcow, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: Unspecified   
OS: Unspecified   

Description Mehmet 2023-02-08 12:53:57 PST
Safari Version 16.3 (17614.4.6.11.4, 17614)
macOS 12.6.3

Steps to reproduce:

1.) Visit apple.com
2.) Move the mouse cursor to the Navigation Menu at the top of the page
3.) Move over the "Mac" link so that the new Dropdown Menu appears
4.) Click on "Mac" link but don't move the mouse cursor away from the "Mac" link
5.) Wait until the "Mac" page opens.
6.) Now move the mouse cursor a little bit again on the "Mac" link where the mouse cursor still was from step 4

Actual: The "Mac" Dropdown appears again, which is very annoying.

Expected: The Dropdown should only appear again when you leave and go back to the the "Mac" link or move the mouse cursor to one of the other links like "iPad" etc.

Other browsers like Firefox and Chrome do not have this issue.

Thanks for checking.
Comment 1 Karl Dubost 2023-02-08 17:38:13 PST
Thanks for the report. 
I can confirm the behavior.
Comment 2 Radar WebKit Bug Importer 2023-02-08 17:38:31 PST
<rdar://problem/105200258>
Comment 3 Karl Dubost 2023-02-08 17:55:20 PST
This reacts to

            onMenuItemMouseOver({target: e}) {
                if (this._usesTouchEvents)
                    return;
                const t = e.closest(`.${this.classNames.item}`),
                    s = 120;
                clearTimeout(this._currentSubMenuMouseOverTimeout),
                this._currentSubMenuMouseOverTimeout = setTimeout(() => {
                    t && t !== this._currentFlyout && t !== this.menuFlyout && (this.subMenuEls.includes(t) ? this.openFlyout(t) : this.closeFlyout(this._currentFlyout))
                }, s),
                this._flyoutTimeouts.push(this._currentSubMenuMouseOverTimeout)
            },
Comment 4 Mehmet 2023-02-09 13:05:04 PST
(In reply to Mehmet from comment #0)

> Other browsers like Firefox and Chrome do not have this issue.
> 

Additional Info to my "other browsers" statement: Chrome Stable Version 110.0.5481.77 does not have the issue, but Chrome Canary Version 112.0.5586.0 has this issue too.
Comment 5 Mehmet 2023-02-09 13:16:44 PST
(In reply to Mehmet from comment #4)
> (In reply to Mehmet from comment #0)
> 
> > Other browsers like Firefox and Chrome do not have this issue.
> > 
> 
> Additional Info to my "other browsers" statement: Chrome Stable Version
> 110.0.5481.77 does not have the issue, but Chrome Canary Version
> 112.0.5586.0 has this issue too.

Hmmm... correction: interestingly not 100% reproducible in Chrome Canary.
Comment 6 Mehmet 2023-05-30 11:29:59 PDT
Hi Webkit-Team,

This issue seems to be fixed. I can't reproduce any longer with Safari Version 16.5 (17615.2.9.11.6, 17615) on MacOS 12.6.6.

Please feel free to close this report. Thanks :)
Comment 7 Karl Dubost 2023-05-31 21:52:48 PDT
Yes I can confirm.