Bug 1018522 - Move the call to ShadowLayersUpdated before EndTransaction so that EndTransaction can pick up layer tree changes caused by ShadowLayersUpdated. r=mattwoodrow

--HG--
extra : rebase_source : 640af9f3ef2488e8bf10315787a7ed389771568e
This commit is contained in:
Markus Stange 2014-06-26 14:40:10 +02:00
Родитель 83cc5240c1
Коммит 76bee9f7aa
4 изменённых файлов: 55 добавлений и 3 удалений

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

@ -539,6 +539,9 @@ LayerTransactionParent::RecvUpdate(const InfallibleTArray<Edit>& cset,
}
}
mShadowLayersManager->ShadowLayersUpdated(this, aTransactionId, targetConfig,
isFirstPaint, scheduleComposite, paintSequenceNumber);
{
AutoResolveRefLayers resolve(mShadowLayersManager->GetCompositionManager(this));
layer_manager()->EndTransaction(nullptr, nullptr, LayerManager::END_NO_IMMEDIATE_REDRAW);
@ -558,9 +561,6 @@ LayerTransactionParent::RecvUpdate(const InfallibleTArray<Edit>& cset,
LayerManagerComposite::PlatformSyncBeforeReplyUpdate();
}
mShadowLayersManager->ShadowLayersUpdated(this, aTransactionId, targetConfig,
isFirstPaint, scheduleComposite, paintSequenceNumber);
#ifdef COMPOSITOR_PERFORMANCE_WARNING
int compositeTime = (int)(mozilla::TimeStamp::Now() - updateStart).ToMilliseconds();
if (compositeTime > 15) {

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

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>Test that opacity changes on layers make the Compositor repaint the right area</title>
<style>
#box {
width: 100px;
height: 100px;
border: 10px solid black;
opacity: 1;
will-change: opacity;
}
#box.halfTransparent {
opacity: 0.5;
}
</style>
<div id="box" class="halfTransparent"></div>

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

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html class="reftest-wait">
<title>Test that opacity changes on layers make the Compositor repaint the right area</title>
<style>
#box {
width: 100px;
height: 100px;
border: 10px solid black;
opacity: 1;
will-change: opacity;
}
#box.halfTransparent {
opacity: 0.5;
}
</style>
<div id="box"></div>
<script>
window.addEventListener("MozReftestInvalidate", function (e) {
document.getElementById("box").className = "halfTransparent";
document.documentElement.removeAttribute("class");
});
</script>

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

@ -1811,4 +1811,5 @@ skip-if(Android) == 966510-2.html 966510-2-ref.html # same as above
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,24) == 991046-1.html 991046-1-ref.html
pref(layout.css.overflow-clip-box.enabled,true) == 992447.html 992447-ref.html
pref(layout.css.sticky.enabled,true) == 1005405-1.html 1005405-1-ref.html
pref(layout.css.will-change.enabled,true) == 1018522-1.html 1018522-1-ref.html
pref(browser.display.use_document_fonts,0) == 1022481-1.html 1022481-1-ref.html