[Webkit-unassigned] [Bug 101857] Updating mouse cursor on style changes without emitting fake mousemove event

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 15 09:00:21 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=101857


Simon Fraser (smfr) <simon.fraser at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #188525|review?                     |review-
               Flag|                            |




--- Comment #97 from Simon Fraser (smfr) <simon.fraser at apple.com>  2013-02-15 09:02:36 PST ---
(From update of attachment 188525)
View in context: https://bugs.webkit.org/attachment.cgi?id=188525&action=review

> Source/WebCore/page/EventHandler.cpp:1245
> +    m_cursorTimer.stop();

You don't need to stop the timer here.

> Source/WebCore/page/EventHandler.h:283
> +    void cursorTimerFired(Timer<EventHandler>*);

cursorUpdateTimerFired.

> Source/WebCore/page/EventHandler.h:411
> +    Timer<EventHandler> m_cursorTimer;

This should be called m_cursorUpdateTimer

> Source/WebCore/rendering/RenderObject.cpp:1813
> +    if (oldStyle.get() && !areCursorsEqual(oldStyle.get(), this->style())) {
> +        if (Frame* frame = this->frame())
> +            frame->eventHandler()->scheduleCursorUpdate();
> +    }

Why not leave this in styleDidChange like the old code? setStyle() should not be polluted with  stuff like this. The hunk above would also then not be required.

I'm still not convinced that this is the correct place to do this. I think cursor updates should really happen after layout, and a zero-delay timer after a style change doesn't necessarily mean that layout has happened. Some style changes won't result in layout (just painting), so it's OK to update the cursor then. But others do, and the layout may be delayed by layout timers in FrameView, in which case we should also delay the cursor update.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list