[Webkit-unassigned] [Bug 51151] NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Dec 20 19:37:33 PST 2010


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





--- Comment #15 from Mihai Parparita <mihaip at chromium.org>  2010-12-20 19:37:33 PST ---
(In reply to comment #14)
> (In reply to comment #13)
> > Avi, how about I limit the scope of this patch to only use NSScroller when running under the Chromium DRT _and_ we're rendering the top-level scrollbar? That way any brittleness will be isolated.
> 
> Yes, that would likely work, though I'm not thrilled at the code flow (if we're in DRT and we're at the top level then run this entirely different code path). BTW, how do you plan to pipe in that state so that the scrollbar code would know?

I'd use a similar mechanism to the Windows port, which does something similar. It uses DRT-specific widget rendering code to get consistency between Win7, Vista and XP (see comments in http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/chromium/WebThemeEngineDRT.h#L31). Specifically:

ScrollbarThemeChromiumWin::paintTrackPiece (http://trac.webkit.org/browser/trunk/WebCore/platform/chromium/ScrollbarThemeChromiumWin.cpp#L107) calls:
ChromiumBridge::paintScrollbarTrack (http://trac.webkit.org/browser/trunk/WebKit/chromium/src/ChromiumBridge.cpp#L742) which calls:
WebThemeEngine:: paintScrollbarTrack (defined at http://trac.webkit.org/browser/trunk/WebKit/chromium/public/win/WebThemeEngine.h#L67)

WebThemeEngine:: paintScrollbarTrack  has multiple implementations:
http://www.google.com/codesearch?hl=en&vert=chromium&lr=&q=engine.*::paintscrollbartrack&sbtn=Search

The one in WebThemeEngineDRT::paintScrollbarTrack is pulled in via a .gyp condition: http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/DumpRenderTree.gypi#L61

Linux has its own WebThemeEngine definition/implementation (added pretty recently: http://trac.webkit.org/changeset/69311), Mac will join the club.

-- 
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