[Webkit-unassigned] [Bug 24066] Chromium drop-down box: selected items don't paint correctly when scrolled

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 24 15:08:51 PST 2009


------- Comment #2 from darin at chromium.org  2009-02-24 15:08 PDT -------
(From update of attachment 27835)
>+2009-02-20  Jay Campan  <jcampan at google.com>
>+        Reviewed by NOBODY (OOPS!).

nit: please add a bug link here and a description of the code change.

>Index: WebCore/platform/chromium/FramelessScrollView.cpp
>--- WebCore/platform/chromium/FramelessScrollView.cpp	(revision 41110)
>+++ WebCore/platform/chromium/FramelessScrollView.cpp	(working copy)
>@@ -47,7 +47,7 @@ void FramelessScrollView::invalidateScro
>     // Add in our offset within the ScrollView.
>     IntRect dirtyRect = rect;
>     dirtyRect.move(scrollbar->x(), scrollbar->y());
>-    invalidateRect(dirtyRect);
>+    invalidateRect(windowToContents(dirtyRect));

I would expect that we need to convert from the coordinates of the
Scrollbar to the coordinates of the ScrollView's content area.

That is what FrameView::invalidateScrollbarRect does, and it is what
the old code did.  So, this change seems wrong.

> bool FramelessScrollView::isActive() const
>@@ -59,7 +59,7 @@ bool FramelessScrollView::isActive() con
> void FramelessScrollView::invalidateRect(const IntRect& rect)
> {
>     if (HostWindow* h = hostWindow())
>-        h->repaint(rect, true);
>+        h->repaint(contentsToWindow(rect), true);

Same deal here.  I'm surprised to see this differ from FrameView's
invalidateRect implementation, but maybe there is something more
subtle at play? 

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