Fix border radius glitch.
This fixes the bug that the border radius partially disappeared or had wrong color when it was too steep or too shallow.
Fix 1: Use the correct clipping quad, generated by intersecting border mitre lines to diagonal lines of the corner ellipse arc.
RenderBoxModelObject::clipBorderSidePolygon was generating wrong clipping quad.
It was based on a wrong assumption that rounded border would not cross {horizontal,vertical} line through the box center.
Fix 2: Correctly split a quad into two quads.
A clipping quad is split into "AND" of two quads to set anti-aliasing on both edges individually.
Generate these quads properly by extending a vertex parallel to the opposite edge.
TEST=LayoutTests/fast/borders/*
BUG=
160239
BUG=
244748
R=jchaffraix@chromium.org,
tasak@google.com
Committed:
https://src.chromium.org/viewvc/blink?view=rev&revision=153119