Bug 77368

Summary: [chromium] Win mock scrollbars appear to overflow by a pixel to the right and bottom
Product: WebKit Reporter: Tony Chang <tony>
Component: Tools / TestsAssignee: Tony Chang <tony>
Status: RESOLVED FIXED    
Severity: Normal CC: dpranke, ojan, tkent, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Windows 7   
Bug Depends on:    
Bug Blocks: 77789    
Attachments:
Description Flags
pixel result with scrollbars
none
Patch ojan: review+

Description Tony Chang 2012-01-30 14:01:50 PST
I'll upload an pixel result that shows this.  Other platforms don't seem to do this.
Comment 1 Tony Chang 2012-01-30 14:02:28 PST
Created attachment 124596 [details]
pixel result with scrollbars

In the attach image, the scrollbars shouldn't overflow the green boxes.
Comment 2 Tony Chang 2012-01-30 14:02:55 PST
dpranke said he's hoping to work on this this quarter.
Comment 3 Tony Chang 2012-03-19 12:01:55 PDT
I tracked this down since I had another ref test fail.

The bug is here: http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp#L51

WebRect is defined as a point + width/height.  SkIRect is a left, top, right and bottom edge.  The conversion needs to subtract 1 from the width and the height.

For example, suppose WebRect is at 0, 0 and has a width and height of 10.  This converts to a SkIRect with points at 0, 0, 10, 10, but that's actually a width and height of 11.

This also explains why we don't have right/bottom edges on any of our scrollbars, e.g.:
http://trac.webkit.org/browser/trunk/LayoutTests/platform/chromium-win/css1/basic/class_as_selector-expected.png

We'll need to rebaseline many tests, e.g., all textareas and all scrollbars are different.
Comment 4 Tony Chang 2012-06-07 12:00:49 PDT
Created attachment 146351 [details]
Patch
Comment 5 Tony Chang 2012-06-07 13:07:05 PDT
Committed r119748: <http://trac.webkit.org/changeset/119748>
Comment 6 Kent Tamura 2012-06-07 17:21:25 PDT
Probably all of rectangles drawn by the mock theme have this issue.
e.g. LayoutTests/platform/chromium-win/fast/forms/number/input-appearance-spinbutton-layer-expected.png