Bug 60342

Summary: [chromium] Skia: Visible corner seam artifacts painting CSS outline property
Product: WebKit Reporter: Ben Wells <benwells>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: benwells, jamesr, noel.gordon, reed, senorblanco
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 61369    
Bug Blocks:    
Attachments:
Description Flags
Test case none

Ben Wells
Reported 2011-05-05 23:04:33 PDT
Created attachment 92545 [details] Test case Test case attached.
Attachments
Test case (170 bytes, text/html)
2011-05-05 23:04 PDT, Ben Wells
no flags
Ben Wells
Comment 1 2011-05-05 23:08:53 PDT
Ben Wells
Comment 2 2011-05-05 23:23:51 PDT
Outline sides are drawn by GraphicsContext::drawConvexPolygon, with the shouldAntialias flag set false. This works on CG. If I change skia's implementation by adding one line paint.setAntiAlias(shouldAntialias); the artifacts in the corner seams / joins go away. Would this cause any problems with the work you're doing on borders?
Ben Wells
Comment 3 2011-05-06 00:28:14 PDT
The GraphicsContext::drawConvexPolygon is also used when drawing borders and changing it also changes how borders are drawn. In particular seams in borders between two colors no longer use anti-aliasing. The old border code in RenderBoxModelObject (defined out by PATH_BASED_BORDER_RADIUS_DRAWING) always calls drawConvexPolygon with shouldAntialias off. This is why there is a difference in test css2.1/t0805-c5516-brdr-c-00-a.html noted in bug 41311.
Ben Wells
Comment 4 2011-05-08 18:55:15 PDT
Ben Wells
Comment 5 2011-05-11 22:11:32 PDT
When this bug is fixed, the #if !USE(SKIA) blocks in outline drawing in RenderObject.cpp and RenderInline.cpp should be removed to fix bug 58999 for skia.
Ben Wells
Comment 6 2011-07-27 21:52:44 PDT
*** This bug has been marked as a duplicate of bug 61369 ***
Note You need to log in before you can comment on or make changes to this bug.