зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 3 changesets (bug 1535507) for webvtt/rendering/cues-with-video/processing-model/selectors/cue* failures CLOSED TREE
Backed out changeset f7a60828b0ad (bug 1535507) Backed out changeset a9c6e9e27b17 (bug 1535507) Backed out changeset f2061889974a (bug 1535507)
This commit is contained in:
Родитель
ddb22ded49
Коммит
df46c029a4
|
@ -2964,21 +2964,15 @@ void nsIFrame::BuildDisplayListForStackingContext(
|
|||
}
|
||||
|
||||
bool hasOverrideDirtyRect = false;
|
||||
// If we're doing a partial build, we're not invalid and we're capable
|
||||
// of having an override building rect (stacking context and fixed pos
|
||||
// containing block), then we should assume we have one.
|
||||
// Either we have an explicit one, or nothing in our subtree changed and
|
||||
// we have an implicit empty rect.
|
||||
if (aBuilder->IsPartialUpdate() && !aBuilder->InInvalidSubtree() &&
|
||||
!IsFrameModified() && IsFixedPosContainingBlock()) {
|
||||
dirtyRect = nsRect();
|
||||
if (HasOverrideDirtyRegion()) {
|
||||
nsDisplayListBuilder::DisplayListBuildingData* data =
|
||||
GetProperty(nsDisplayListBuilder::DisplayListBuildingRect());
|
||||
if (data) {
|
||||
dirtyRect = data->mDirtyRect.Intersect(visibleRect);
|
||||
hasOverrideDirtyRect = true;
|
||||
}
|
||||
// If we have an override dirty region, and neither us nor our ancestors are
|
||||
// modified, then use it.
|
||||
if (HasOverrideDirtyRegion() && !aBuilder->InInvalidSubtree() &&
|
||||
!IsFrameModified()) {
|
||||
nsDisplayListBuilder::DisplayListBuildingData* data =
|
||||
GetProperty(nsDisplayListBuilder::DisplayListBuildingRect());
|
||||
if (data) {
|
||||
dirtyRect = data->mDirtyRect.Intersect(visibleRect);
|
||||
hasOverrideDirtyRect = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7105,7 +7099,7 @@ Layer* nsIFrame::InvalidateLayer(DisplayItemType aDisplayItemKey,
|
|||
Layer* layer = FrameLayerBuilder::GetDedicatedLayer(this, aDisplayItemKey);
|
||||
|
||||
nsIFrame* displayRoot = nsLayoutUtils::GetDisplayRootFrame(this);
|
||||
InvalidateRenderingObservers(displayRoot, this, false);
|
||||
InvalidateRenderingObservers(displayRoot, this);
|
||||
|
||||
// Check if frame supports WebRender's async update
|
||||
if ((aFlags & UPDATE_IS_ASYNC) &&
|
||||
|
|
|
@ -192,7 +192,7 @@ void LayerActivityTracker::NotifyExpired(LayerActivity* aObject) {
|
|||
// The pres context might have been detached during the delay -
|
||||
// that's fine, just skip the paint.
|
||||
if (f->PresContext()->GetContainerWeak()) {
|
||||
f->SchedulePaint(nsIFrame::PAINT_DEFAULT, false);
|
||||
f->SchedulePaint();
|
||||
}
|
||||
f->RemoveStateBits(NS_FRAME_HAS_LAYER_ACTIVITY_PROPERTY);
|
||||
f->DeleteProperty(LayerActivityProperty());
|
||||
|
|
|
@ -3,7 +3,6 @@ skip-if(!retainedDisplayList) == retained-dl-frame-deleted-1.html retained-dl-st
|
|||
skip-if(!retainedDisplayList) == retained-dl-frame-created-1.html retained-dl-style-change-1-ref.html
|
||||
skip-if(!retainedDisplayList) == retained-dl-style-change-stacking-context-1.html retained-dl-style-change-stacking-context-1-ref.html
|
||||
skip-if(!retainedDisplayList) == retained-dl-style-change-stacking-context-2.html retained-dl-style-change-stacking-context-2-ref.html
|
||||
skip-if(!retainedDisplayList) == retained-dl-style-change-stacking-context-3.html retained-dl-style-change-stacking-context-3-ref.html
|
||||
skip-if(!retainedDisplayList||!asyncPan) == retained-dl-async-scrolled-1.html retained-dl-async-scrolled-1-ref.html
|
||||
skip-if(!retainedDisplayList) == retained-dl-remove-for-ancestor-change-1.html retained-dl-remove-for-ancestor-change-1-ref.html
|
||||
skip-if(!retainedDisplayList) == retained-dl-scroll-out-of-view-1.html retained-dl-scroll-out-of-view-1-ref.html
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<style>
|
||||
body {
|
||||
margin: 0px;
|
||||
}
|
||||
div {
|
||||
width:100px;
|
||||
height:100px;
|
||||
display: inline-block;
|
||||
position:absolute;
|
||||
background-color: green;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div></div>
|
||||
<div style="top: 110px;"></div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,29 +0,0 @@
|
|||
<html class="reftest-wait">
|
||||
<head>
|
||||
<style>
|
||||
body {
|
||||
margin: 0px;
|
||||
}
|
||||
div {
|
||||
width:100px;
|
||||
height:100px;
|
||||
display: inline-block;
|
||||
position:absolute;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="position:fixed;" class="reftest-display-list">
|
||||
<div style="background-color:green;" class="reftest-no-display-list">
|
||||
</div>
|
||||
<div id="second" style="background-color:red; top: 110px;"></div>
|
||||
</body>
|
||||
<script>
|
||||
function doTest() {
|
||||
document.getElementById("second").style.backgroundColor = "green";
|
||||
document.documentElement.removeAttribute("class");
|
||||
}
|
||||
|
||||
window.addEventListener("MozReftestInvalidate", doTest);
|
||||
</script>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче