WebKit Bugzilla
Attachment 372047 Details for
Bug 126124
: [cairo] Entering text into forms on github.com creates a trapezoid artifact
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
wk-clip-antialias.diff (text/plain), 2.95 KB, created by
Carlos Garcia Campos
on 2019-06-13 06:27:45 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Carlos Garcia Campos
Created:
2019-06-13 06:27:45 PDT
Size:
2.95 KB
patch
obsolete
>diff --git a/Source/WebCore/platform/graphics/cairo/CairoOperations.cpp b/Source/WebCore/platform/graphics/cairo/CairoOperations.cpp >index fba54565a5a..09dbd7ea932 100644 >--- a/Source/WebCore/platform/graphics/cairo/CairoOperations.cpp >+++ b/Source/WebCore/platform/graphics/cairo/CairoOperations.cpp >@@ -1251,6 +1251,14 @@ void endTransparencyLayer(PlatformContextCairo& platformContext) > cairo_paint_with_alpha(cr, platformContext.layers().takeLast()); > } > >+static void doClipWithAntialias(cairo_t* cr, cairo_antialias_t antialias) >+{ >+ auto savedAntialiasRule = cairo_get_antialias(cr); >+ cairo_set_antialias(cr, antialias); >+ cairo_clip(cr); >+ cairo_set_antialias(cr, savedAntialiasRule); >+} >+ > void clip(PlatformContextCairo& platformContext, const FloatRect& rect) > { > cairo_t* cr = platformContext.cr(); >@@ -1262,11 +1270,12 @@ void clip(PlatformContextCairo& platformContext, const FloatRect& rect) > // edge fringe artifacts may occur at the layer edges > // when a transformation is applied to the GraphicsContext > // while drawing the transformed layer. >- cairo_antialias_t savedAntialiasRule = cairo_get_antialias(cr); >- cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE); >- cairo_clip(cr); >+// cairo_antialias_t savedAntialiasRule = cairo_get_antialias(cr); >+// cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE); >+// cairo_clip(cr); >+ doClipWithAntialias(cr, CAIRO_ANTIALIAS_NONE); > cairo_set_fill_rule(cr, savedFillRule); >- cairo_set_antialias(cr, savedAntialiasRule); >+// cairo_set_antialias(cr, savedAntialiasRule); > > if (auto* graphicsContextPrivate = platformContext.graphicsContextPrivate()) > graphicsContextPrivate->clip(rect); >@@ -1281,7 +1290,8 @@ void clipOut(PlatformContextCairo& platformContext, const FloatRect& rect) > cairo_rectangle(cr, rect.x(), rect.y(), rect.width(), rect.height()); > cairo_fill_rule_t savedFillRule = cairo_get_fill_rule(cr); > cairo_set_fill_rule(cr, CAIRO_FILL_RULE_EVEN_ODD); >- cairo_clip(cr); >+// cairo_clip(cr); >+ doClipWithAntialias(cr, CAIRO_ANTIALIAS_NONE); > cairo_set_fill_rule(cr, savedFillRule); > } > >@@ -1295,7 +1305,8 @@ void clipOut(PlatformContextCairo& platformContext, const Path& path) > > cairo_fill_rule_t savedFillRule = cairo_get_fill_rule(cr); > cairo_set_fill_rule(cr, CAIRO_FILL_RULE_EVEN_ODD); >- cairo_clip(cr); >+// cairo_clip(cr); >+ doClipWithAntialias(cr, CAIRO_ANTIALIAS_DEFAULT); > cairo_set_fill_rule(cr, savedFillRule); > } > >@@ -1308,7 +1319,8 @@ void clipPath(PlatformContextCairo& platformContext, const Path& path, WindRule > > cairo_fill_rule_t savedFillRule = cairo_get_fill_rule(cr); > cairo_set_fill_rule(cr, clipRule == WindRule::EvenOdd ? CAIRO_FILL_RULE_EVEN_ODD : CAIRO_FILL_RULE_WINDING); >- cairo_clip(cr); >+// cairo_clip(cr); >+ doClipWithAntialias(cr, CAIRO_ANTIALIAS_DEFAULT); > cairo_set_fill_rule(cr, savedFillRule); > > if (auto* graphicsContextPrivate = platformContext.graphicsContextPrivate())
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
mcatanzaro
:
review-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 126124
:
219855
|
290312
|
306662
|
356938
|
372047
|
372057