Bug 1346601 - Set surfaceRect to empty when surface becomes null. r=bas

Differential Revision: https://phabricator.services.mozilla.com/D94600
This commit is contained in:
Markus Stange 2020-10-23 22:33:14 +00:00
parent 904b53869f
commit 3eaf2c04d4
3 changed files with 14 additions and 1 deletions

View File

@ -796,7 +796,14 @@ FilterNodeSoftware::GetInputDataSourceSurface(
IntRect srcRect = aTransparencyPaddedSourceRect->Intersect(aRect);
surface =
GetDataSurfaceInRect(surface, surfaceRect, srcRect, EDGE_MODE_NONE);
surfaceRect = srcRect;
if (surface) {
surfaceRect = srcRect;
} else {
// Padding the surface with transparency failed, probably due to size
// restrictions. Since |surface| is now null, set the surfaceRect to
// empty so that we're consistent.
surfaceRect.SetEmpty();
}
}
RefPtr<DataSourceSurface> result =

View File

@ -0,0 +1,5 @@
<svg>
<filter id='a' width='181.412449629' primitiveUnits='objectBoundingBox'>
<feConvolveMatrix kernelMatrix='0 1 1 1 0 0 0 0 0' kernelUnitLength='178'/>
</filter>
<polyline filter='url(#a)' points='47.2081,146 175.4644,1 260,191 4,0 85,176 88,248 16385,255.891 130,183 71,16'/>

After

Width:  |  Height:  |  Size: 280 B

View File

@ -161,6 +161,7 @@ skip-if(geckoview&&webrender) load 1317403-1.html # bug 1331533, 1630774
skip-if(geckoview&&webrender) load 1325159-1.html # bug 1630774
skip-if(geckoview&&webrender) load 1331683.html # bug 1630774
skip-if(Android) pref(dom.disable_open_during_load,false) load 1343666.html
load 1346601-1.html
skip-if(geckoview&&webrender) load 1408078-1.html # bug 1630774
load 1464243.html
load 1467847-1.html