WebKit Bugzilla
Attachment 339781 Details for
Bug 183798
: feTurbulence is not rendered correctly on Retina display
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-183798-20180507173052.patch (text/plain), 4.44 KB, created by
Said Abou-Hallawa
on 2018-05-07 17:30:53 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Said Abou-Hallawa
Created:
2018-05-07 17:30:53 PDT
Size:
4.44 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 231469) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,20 @@ >+2018-05-07 Said Abou-Hallawa <sabouhallawa@apple.com> >+ >+ feTurbulence is not rendered correctly on Retina display >+ https://bugs.webkit.org/show_bug.cgi?id=183798 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ On 2x display the feTurbulence filter creates a scaled ImageBuffer but >+ processes only the unscaled size. This is a remaining work of r168577 and >+ is very similar to what was done for the feMorphology filter in r188271. >+ >+ Test: fast/hidpi/filters-turbulence.html >+ >+ * platform/graphics/filters/FETurbulence.cpp: >+ (WebCore::FETurbulence::fillRegion const): >+ (WebCore::FETurbulence::platformApplySoftware): >+ > 2018-05-07 Daniel Bates <dabates@apple.com> > > CSP status-code incorrect for document blocked due to violation of its frame-ancestors directive >Index: Source/WebCore/platform/graphics/filters/FETurbulence.cpp >=================================================================== >--- Source/WebCore/platform/graphics/filters/FETurbulence.cpp (revision 231455) >+++ Source/WebCore/platform/graphics/filters/FETurbulence.cpp (working copy) >@@ -370,6 +370,7 @@ void FETurbulence::fillRegion(Uint8Clamp > ASSERT(endY > startY); > > IntRect filterRegion = absolutePaintRect(); >+ filterRegion.scale(filter().filterScale()); > FloatPoint point(0, filterRegion.y() + startY); > int indexOfPixelChannel = startY * (filterRegion.width() << 2); > AffineTransform inverseTransfrom = filter().absoluteTransform().inverse().value_or(AffineTransform()); >@@ -398,7 +399,10 @@ void FETurbulence::platformApplySoftware > if (!pixelArray) > return; > >- if (absolutePaintRect().isEmpty()) { >+ IntSize resultSize(absolutePaintRect().size()); >+ resultSize.scale(filter().filterScale()); >+ >+ if (resultSize.isEmpty()) { > pixelArray->zeroFill(); > return; > } >@@ -412,11 +416,11 @@ void FETurbulence::platformApplySoftware > PaintingData paintingData(m_seed, tileSize, baseFrequencyX, baseFrequencyY); > initPaint(paintingData); > >- auto area = absolutePaintRect().area(); >+ auto area = resultSize.area(); > if (area.hasOverflowed()) > return; > >- int height = absolutePaintRect().height(); >+ int height = resultSize.height(); > > unsigned maxNumThreads = height / 8; > unsigned optimalThreadNumber = std::min<unsigned>(area.unsafeGet() / s_minimalRectDimension, maxNumThreads); >Index: LayoutTests/ChangeLog >=================================================================== >--- LayoutTests/ChangeLog (revision 231455) >+++ LayoutTests/ChangeLog (working copy) >@@ -1,3 +1,13 @@ >+2018-05-07 Said Abou-Hallawa <sabouhallawa@apple.com> >+ >+ feTurbulence is not rendered correctly on Retina display >+ https://bugs.webkit.org/show_bug.cgi?id=183798 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * fast/hidpi/filters-turbulence-expected.html: Added. >+ * fast/hidpi/filters-turbulence.html: Added. >+ > 2018-05-07 Youenn Fablet <youenn@apple.com> > > Layout Test webrtc/addICECandidate-closed.html is a flaky failure >Index: LayoutTests/fast/hidpi/filters-turbulence-expected.html >=================================================================== >--- LayoutTests/fast/hidpi/filters-turbulence-expected.html (nonexistent) >+++ LayoutTests/fast/hidpi/filters-turbulence-expected.html (working copy) >@@ -0,0 +1,12 @@ >+<script src="resources/ensure-hidpi.js"></script> >+<style> >+ div { >+ width: 200px; >+ height: 200px; >+ display: inline-block; >+ background-color: rgba(127, 127, 127, 0.5); >+ } >+</style> >+<body> >+ <div></div> >+</body> >Index: LayoutTests/fast/hidpi/filters-turbulence.html >=================================================================== >--- LayoutTests/fast/hidpi/filters-turbulence.html (nonexistent) >+++ LayoutTests/fast/hidpi/filters-turbulence.html (working copy) >@@ -0,0 +1,17 @@ >+<script src="resources/ensure-hidpi.js"></script> >+<style> >+ div { >+ width: 200px; >+ height: 200px; >+ display: inline-block; >+ filter: url('#filter'); >+ } >+</style> >+<body> >+ <div></div> >+ <svg> >+ <filter id="filter" x="0" y="0" width="100%" height="100%"> >+ <feTurbulence type="fractalNoise" numOctaves="0" /> >+ </filter> >+ </svg> >+</body>
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
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 183798
:
339479
|
339571
|
339573
|
339768
| 339781