Bug 1611710. Don't restrict the draw target to the visible area.

Sometimes the painting code will look at the clip which is derived
from the intial size of the surface and not draw if things if they
are outside of it. We want to draw the entire item so use dtRect
instead of visibleRect.

Differential Revision: https://phabricator.services.mozilla.com/D64277

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jeff Muizelaar 2020-02-26 03:47:09 +00:00
Родитель 9e6780d2d3
Коммит 22e0df6b0b
4 изменённых файлов: 67 добавлений и 1 удалений

Просмотреть файл

@ -2340,7 +2340,7 @@ WebRenderCommandBuilder::GenerateFallbackData(
RefPtr<gfx::DrawTarget> dummyDt = gfx::Factory::CreateDrawTarget(
gfx::BackendType::SKIA, gfx::IntSize(1, 1), format);
RefPtr<gfx::DrawTarget> dt = gfx::Factory::CreateRecordingDrawTarget(
recorder, dummyDt, visibleRect.ToUnknownRect());
recorder, dummyDt, (dtRect - dtRect.TopLeft()).ToUnknownRect());
if (!fallbackData->mBasicLayerManager) {
fallbackData->mBasicLayerManager =
new BasicLayerManager(BasicLayerManager::BLM_INACTIVE);

Просмотреть файл

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="UTF-8">
<style>
q {
text-transform: uppercase;
font-size: 2em;
font-family: Ahem;
display: block;
width: 400px;
background: red;
background-clip: text;
-webkit-text-fill-color: transparent;
}
@font-face {
font-family: Ahem;
src: url(../fonts/Ahem.ttf);
}
</style>
<script>
onload = function () {
scrollTo(0, 3450);
document.documentElement.classList.remove("reftest-wait");
}
</script>
<body>
<q>But these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytelling</q>
</body>
</html>

Просмотреть файл

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="UTF-8">
<style>
q {
text-transform: uppercase;
font-size: 2em;
font-family: Ahem;
display: block;
width: 400px;
background: red;
background-clip: text;
-webkit-text-fill-color: transparent;
}
@font-face {
font-family: Ahem;
src: url(../fonts/Ahem.ttf);
}
</style>
<script>
onload = function () {
requestAnimationFrame(function () {
scrollTo(0, 300);
requestAnimationFrame(function () {
requestAnimationFrame(function () {
scrollTo(0, 3450);
document.documentElement.classList.remove("reftest-wait");
})
});
})
}
</script>
<body>
<q>But these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytellingBut these are real problems worth exploring in storytelling</q>
</body>
</html>

Просмотреть файл

@ -2090,4 +2090,5 @@ pref(layout.css.xul-box-display-values.content.enabled,true) == 1606130.html 160
== 1608124-1.html 1608124-1-ref.html
skip-if(!OSX) != 1608124-2.html 1608124-2-notref.html
== 1613380.html 1613380-ref.html
== blob-fallback-clip.html blob-fallback-clip-ref.html
fuzzy-if(OSX,0-42,0-4) fuzzy-if((Android||winWidget)&&!webrender,0-115,0-2) == 1617515-1.html 1617515-1-ref.html