Backed out 3 changesets (bug 1535507) for webvtt/rendering/cues-with-video/processing-model/selectors/cue* failures CLOSED TREE
authorBogdan Tara <btara@mozilla.com>
Tue, 19 Mar 2019 02:49:55 +0200
changeset 464886 5fd21107e39400b6895c6f7b2859f933d0f6bfda
parent 464885 0f2bb770f3acf22333e843dc8e60d761dc3158ed
child 464887 711d5fdae7b254489d47f3172e50c7738c4e77dd
push id35727
push userdvarga@mozilla.com
push dateTue, 19 Mar 2019 09:48:59 +0000
treeherdermozilla-central@70baa37ae1eb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1535507
milestone68.0a1
backs outf7a60828b0ad40b755c22b978ac85c6d1d7f00db
a9c6e9e27b17013a4ff9793b052ec1383c7f9b7f
f2061889974a1a7ce5410689e542a0c39a084540
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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)
layout/generic/nsFrame.cpp
layout/painting/ActiveLayerTracker.cpp
layout/reftests/display-list/reftest.list
layout/reftests/display-list/retained-dl-style-change-stacking-context-3-ref.html
layout/reftests/display-list/retained-dl-style-change-stacking-context-3.html
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -2959,31 +2959,25 @@ void nsIFrame::BuildDisplayListForStacki
     // Restict the building area to the overflow rect for these frames, since
     // RetainedDisplayListBuilder uses it to know if the size of the stacking
     // context changed.
     visibleRect.IntersectRect(visibleRect, GetVisualOverflowRect());
     dirtyRect.IntersectRect(dirtyRect, GetVisualOverflowRect());
   }
 
   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;
     }
   }
 
   bool usingFilter = StyleEffects()->HasFilters();
   bool usingMask = nsSVGIntegrationUtils::UsingMaskOrClipPathForFrame(this);
   bool usingSVGEffects = usingFilter || usingMask;
 
   nsRect visibleRectOutsideSVGEffects = visibleRect;
@@ -7100,17 +7094,17 @@ Layer* nsIFrame::InvalidateLayer(Display
                                  const nsIntRect* aDamageRect,
                                  const nsRect* aFrameDamageRect,
                                  uint32_t aFlags /* = 0 */) {
   NS_ASSERTION(aDisplayItemKey > DisplayItemType::TYPE_ZERO, "Need a key");
 
   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) &&
       WebRenderUserData::SupportsAsyncUpdate(this)) {
     // WebRender does not use layer, then return nullptr.
     return nullptr;
   }
 
--- a/layout/painting/ActiveLayerTracker.cpp
+++ b/layout/painting/ActiveLayerTracker.cpp
@@ -187,17 +187,17 @@ void LayerActivityTracker::NotifyExpired
   MOZ_ASSERT((f == nullptr) != (c == nullptr),
              "A LayerActivity object should always have a reference to either "
              "its frame or its content");
 
   if (f) {
     // 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());
   } else {
     c->DeleteProperty(nsGkAtoms::LayerActivity);
   }
 }
 
--- a/layout/reftests/display-list/reftest.list
+++ b/layout/reftests/display-list/reftest.list
@@ -1,14 +1,13 @@
 skip-if(!retainedDisplayList) == retained-dl-style-change-1.html retained-dl-style-change-1-ref.html
 skip-if(!retainedDisplayList) == retained-dl-frame-deleted-1.html retained-dl-style-change-1-ref.html
 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
 skip-if(!retainedDisplayList) == retained-dl-displayport-1.html retained-dl-displayport-1-ref.html
 skip-if(!retainedDisplayList) == retained-dl-prerender-transform-1.html retained-dl-prerender-transform-1-ref.html
 skip-if(!retainedDisplayList) == retained-dl-animation-on-pseudo.html retained-dl-animation-on-pseudo-ref.html
 skip-if(!retainedDisplayList) == retained-dl-opacity-animation-on-ib-split.html retained-dl-opacity-animation-on-ib-split-ref.html
 == retained-dl-wrap-list.html retained-dl-wrap-list-ref.html
deleted file mode 100644
--- a/layout/reftests/display-list/retained-dl-style-change-stacking-context-3-ref.html
+++ /dev/null
@@ -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>
deleted file mode 100644
--- a/layout/reftests/display-list/retained-dl-style-change-stacking-context-3.html
+++ /dev/null
@@ -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>