We have this code in `-[nsCursorManager setMacCursor:]`: ```c++ // Some plugins mess with our cursors and set a cursor that even // [NSCursor currentCursor] doesn't know about. In case that happens, just // reset the state. [[NSCursor currentCursor] set]; ``` This means we call `-[NSCursor set]` on every mouse move. On macOS Monterey, with cursor accessibility coloring enabled, this function call is expensive: https://share.firefox.dev/3FQNKuH This code is a work-around which I added 12 years ago to work around a problem with plug-ins in bug 496601. We don't support plug-ins anymore, so it should be possible to just remove it. We'll just need to double-check that doing so won't regress bug 496601 or bug 1423275.
Bug 1736049 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
We have this code in `-[nsCursorManager setMacCursor:]`: ```c++ // Some plugins mess with our cursors and set a cursor that even // [NSCursor currentCursor] doesn't know about. In case that happens, just // reset the state. [[NSCursor currentCursor] set]; ``` This means we call `-[NSCursor set]` on every mouse move. On macOS Monterey, with cursor accessibility coloring enabled, this function call is expensive: https://share.firefox.dev/3FQNKuH It also leaks memory in the current macOS Monterey Beta, see bug 1735345. This code is a work-around which I added 12 years ago to work around a problem with plug-ins in bug 496601. We don't support plug-ins anymore, so it should be possible to just remove it. We'll just need to double-check that doing so won't regress bug 496601 or bug 1423275.