[Webkit-unassigned] [Bug 22478] New: Incorrect timer firing in caret blinking.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Nov 24 19:55:54 PST 2008
https://bugs.webkit.org/show_bug.cgi?id=22478
Summary: Incorrect timer firing in caret blinking.
Product: WebKit
Version: 528+ (Nightly build)
Platform: PC
OS/Version: Mac OS X 10.5
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: Platform
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: deanm at chromium.org
Currently the GTK theme code returns 0 from caretBlinkFrequency when the caret
shouldn't blink. This means the caret should always be drawn. I would like to
do something similar in the Windows Chromium port. In Windows you can set the
cursor to never blink.
Currently returning 0 causes the timer to constantly be hit, since a
startRepeating(0) causes the timer to fire right away, get removed (since the
interval is 0), and then go through selectionLayoutChanged, which causes the
timer to be set again since !d->m_caretBlinkTimer.isActive(). This is causing
both a paint and timer storm.
I believe the fix should be simple, something along the lines of (Frame.cpp):
// Only setup timers if we actually want to blink.
if (double blinkInterval = theme()->caretBlinkFrequency()) {
d->m_caretBlinkTimer.startRepeating(blinkInterval);
}
I will send out a patch for review. Additionally I would like to change the
misleading name caretBlinkFrequency to be the more accurate caretBlinkInterval.
Let me know if this sounds ok.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list