We need to find a way to avoid having scrollbar differences between OSes from prevent us from sharing pixel results between Mac OS versions. Possible solutions (not mutually exclusive): 1. Exclude the scrollbar area from the the part of the pixel result that gets checksummed 2. Make a scrollbar theme used by DRT that draws dummy scrollbars which look the same across OSes 3. Dump scrollbar thumb position and size in render tree output so that scrollbar bugs can be tested without having to look at pixels.
Created attachment 121471 [details] Patch
Comment on attachment 121471 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=121471&action=review > Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm:46 > +@interface NSScrollView(AppKitSecretsIKnowAbout) The modern convention for such category names is “WebNSScrollViewDetails”. > Tools/DumpRenderTree/mac/DumpRenderTree.mm:458 > + CGFloat knobPosition = round([self doubleValue] * (trackLength - knobLength)); Will round() here work in 32-bit? > Tools/DumpRenderTree/mac/DumpRenderTree.mm:463 > + return NSMakeRect(bounds.origin.x, bounds.origin.y + + knobPosition, bounds.size.width, knobLength); + + > Tools/DumpRenderTree/mac/DumpRenderTree.mm:474 > + NSColor *knobColor = [NSColor colorWithDeviceRed:0x80 / 255.0 green:0x80 / 255.0 blue:0x80 / 255.0 alpha:1]; Could make this a function static (and retain the color). > Tools/DumpRenderTree/mac/DumpRenderTree.mm:482 > + NSColor *trackColor = [NSColor colorWithDeviceRed:0xC0 / 255.0 green:0xC0 / 255.0 blue:0xC0 / 255.0 alpha:1]; Ditto.
Comment on attachment 121471 [details] Patch Landed in http://trac.webkit.org/changeset/104331 Keeping bug open to enable mock scrollbars by default.
(In reply to comment #3) > (From update of attachment 121471 [details]) > Landed in http://trac.webkit.org/changeset/104331 > > Keeping bug open to enable mock scrollbars by default. Is there a plan to update mac-snowleopard results to go along with this? On ToT right now, it's impossible to make it through the snowleopard pixel tests without bailing due to too many errors. I'd love for the intent of this patch to come through, but right now I can't even run the tests. This is very disruptive.
(In reply to comment #4) > Is there a plan to update mac-snowleopard results to go along with this? On ToT right now, it's impossible to make it through the snowleopard pixel tests without bailing due to too many errors. I'd love for the intent of this patch to come through, but right now I can't even run the tests. This is very disruptive. I'm just going to go ahead and add snowleopard expectations for the failing tests myself.
Please do, sorry I didn't respond sooner.
Comment on attachment 121471 [details] Patch Cleared Dan Bernstein's review+ from obsolete attachment 121471 [details] so that this bug does not appear in http://webkit.org/pending-commit.
<rdar://problem/63113462>