зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
83cc5240c1
Коммит
76bee9f7aa
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче