[webkit-dev] Scrollbar Changes

Dave Hyatt hyatt at apple.com
Fri Sep 12 12:06:29 PDT 2008


Scrollbars are going to be changing substantially in the next couple of 
weeks.

Right now several ports have their own versions of PlatformScrollbar 
that all clone the same logic (with the only difference between the 
classes being metrics and rendering).

The current plan for refactoring is to eliminate PlatformScrollbar and 
make Scrollbar into a class that handles scrolling using a non-native 
cross-platform implementation.  The Scrollbar class will be talking to a 
new ScrollbarTheme interface that will be platform-specific.  
ScrollbarTheme will be responsible for rendering scrollbars (and 
providing metrics for scrollbars).

If any ports have special needs for this Scrollbar class (or for 
ScrollbarTheme), send me email or respond in this thread.  I know that 
both WebKit on OS X and Google Chrome have need of tickmarks support on 
scrollbars, so this will ultimately need to be built into the rendering 
model.

Classes that still require truly native scrollbars can subclass 
Scrollbar (with the only cost being a handful of wasted member variables 
in Scrollbar), although we would strongly encourage ports not to use 
native scrollbars.  We will even be abandoning the native 
PlatformScrollbar implementation on the Mac.

The new cross-platform Scrollbar class is going to support styling via 
CSS (initially for overflow sections only).  If your port doesn't use 
this class, then you won't get the upcoming CSS styling support.

dave
(hyatt at apple.com)



More information about the webkit-dev mailing list