WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 119078
[GTK] [EFL] Enable tiled shadow blur for the inset shadows.
https://bugs.webkit.org/show_bug.cgi?id=119078
Summary
[GTK] [EFL] Enable tiled shadow blur for the inset shadows.
Alejandro G. Castro
Reported
2013-07-25 02:22:53 PDT
We are not currently the tiled rendering in the inset shadow blur for the ports using cairo backend.
Attachments
Proposed patch
(3.99 KB, patch)
2013-07-25 02:29 PDT
,
Alejandro G. Castro
no flags
Details
Formatted Diff
Diff
Proposed patch
(3.69 KB, patch)
2013-08-01 08:10 PDT
,
Alejandro G. Castro
mrobinson
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Alejandro G. Castro
Comment 1
2013-07-25 02:29:23 PDT
Created
attachment 207444
[details]
Proposed patch
Martin Robinson
Comment 2
2013-07-26 14:26:03 PDT
Comment on
attachment 207444
[details]
Proposed patch View in context:
https://bugs.webkit.org/attachment.cgi?id=207444&action=review
Nice. Just a couple suggestions before landing.
> Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1054 > + if (!roundedHoleRect.radii().isZero()) > + path.addRoundedRect(roundedHoleRect); > + else > + path.addRect(roundedHoleRect.rect());
I wonder if this optimization should go into Path.cpp eventually?
> Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1061 > + setFillRule(RULE_EVENODD); > + setFillColor(color, colorSpace);
I think that instead of setting the fill rule and color for the GraphicsContext you should just set them for the Cairo context. That way you can use cairo_save/cairo_restore, instead of oldFillRule and oldFillColor.
> Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1065 > + ShadowBlur& shadow = platformContext()->shadowBlur(); > + shadow.drawInsetShadow(this, rect, roundedHoleRect.rect(), roundedHoleRect.radii());
I think you can avoid the temporary and move this code to the very start of the method after the early return.
Alejandro G. Castro
Comment 3
2013-08-01 05:17:31 PDT
(In reply to
comment #2
)
> (From update of
attachment 207444
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=207444&action=review
> > Nice. Just a couple suggestions before landing. > > > Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1054 > > + if (!roundedHoleRect.radii().isZero()) > > + path.addRoundedRect(roundedHoleRect); > > + else > > + path.addRect(roundedHoleRect.rect()); > > I wonder if this optimization should go into Path.cpp eventually?
> Good point, not sure, I can check it in a follow-up patch.
> > Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1061 > > + setFillRule(RULE_EVENODD); > > + setFillColor(color, colorSpace); > > I think that instead of setting the fill rule and color for the GraphicsContext you should just set them for the Cairo context. That way you can use cairo_save/cairo_restore, instead of oldFillRule and oldFillColor. >
Yep, it sounds better option.
> > Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1065 > > + ShadowBlur& shadow = platformContext()->shadowBlur(); > > + shadow.drawInsetShadow(this, rect, roundedHoleRect.rect(), roundedHoleRect.radii()); > > I think you can avoid the temporary and move this code to the very start of the method after the early return.
Ok, Thanks for the review.
Alejandro G. Castro
Comment 4
2013-08-01 08:10:49 PDT
Created
attachment 207927
[details]
Proposed patch
Martin Robinson
Comment 5
2013-08-07 04:14:42 PDT
Comment on
attachment 207927
[details]
Proposed patch View in context:
https://bugs.webkit.org/attachment.cgi?id=207927&action=review
> Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1056 > + if (this->mustUseShadowBlur()) > + platformContext()->shadowBlur().drawInsetShadow(this, rect, roundedHoleRect.rect(), roundedHoleRect.radii());
You could even move this above the path manipulation, I think.
Alejandro G. Castro
Comment 6
2013-08-09 10:02:55 PDT
(In reply to
comment #5
)
> (From update of
attachment 207927
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=207927&action=review
> > > Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1056 > > + if (this->mustUseShadowBlur()) > > + platformContext()->shadowBlur().drawInsetShadow(this, rect, roundedHoleRect.rect(), roundedHoleRect.radii()); > > You could even move this above the path manipulation, I think.
Yeah, I've modified the patch before landing, thanks.
http://trac.webkit.org/changeset/142608
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug