Bug 44782

Summary: [GTK] ScrollbarThemeGtk should respond to theme changes
Product: WebKit Reporter: Martin Robinson <mrobinson>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal Keywords: Gtk
Priority: P3    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch gustavo: review+

Description Martin Robinson 2010-08-27 11:49:20 PDT
Scrollbar.cpp never expects scrollbars to change size, so even though theme changes currently trigger a re-layout, the scrollbar widget size does not change. We need to add some special code in ScrollbarThemeGtk which resizes all scrollbars when the theme specifies a different size.
Comment 1 Martin Robinson 2010-08-27 11:57:05 PDT
Created attachment 65746 [details]
Patch
Comment 2 Gustavo Noronha (kov) 2010-08-31 11:42:20 PDT
Comment on attachment 65746 [details]
Patch

 89     // If the theme changed, update the thickness of every scrollbar widget.
 90     // The platform-independent scrollbar code isn't yet smart enough to
 91     // get this information when it paints.
 92     HashSet<Scrollbar*>::iterator end = gScrollbars->end();
 93     for (HashSet<Scrollbar*>::iterator it = gScrollbars->begin(); it != end; ++it) {
 94         Scrollbar* scrollbar = (*it);

Saying 'If the theme changed' seems to imply that we're depending on a conditional, but if we're in this function it's because the theme has changed, so I'd suggest only stating what is being done. Looks good otherwise!
Comment 3 Martin Robinson 2010-08-31 14:45:11 PDT
> Saying 'If the theme changed' seems to imply that we're depending on a conditional, but if we're in this function it's because the theme has changed, so I'd suggest only stating what is being done. Looks good otherwise!

Okay. I'll fix this before landing. Thanks for the review. :)
Comment 4 Martin Robinson 2010-08-31 15:22:41 PDT
Committed r66540: <http://trac.webkit.org/changeset/66540>