Merge autoland to mozilla-central. a=merge
authorCosmin Sabou <csabou@mozilla.com>
Sat, 09 Apr 2022 12:20:41 +0300
changeset 684191 e5f827c3f10d8511bb3f6fa8f2a593b36d8a1ee3
parent 684190 decb8d612db35fe664c03b350cb217666d7eedd8 (current diff)
parent 684189 d0a6afbb446428835023de767c08eaadc8dccf53 (diff)
child 684192 be0b45769f3234405bb7f045b21fc3df763e1507
child 684235 e3bb8dcf55eb22c67a8f3dd096d87c27b77f5d71
push id16598
push userffxbld-merge
push dateMon, 02 May 2022 14:23:32 +0000
treeherdermozilla-beta@de86a81c7a63 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone101.0a1
first release with
nightly linux32
e5f827c3f10d / 101.0a1 / 20220409092224 / files
nightly linux64
e5f827c3f10d / 101.0a1 / 20220409092224 / files
nightly mac
e5f827c3f10d / 101.0a1 / 20220409092224 / files
nightly win32
e5f827c3f10d / 101.0a1 / 20220409092224 / files
nightly win64
e5f827c3f10d / 101.0a1 / 20220409092224 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge autoland to mozilla-central. a=merge
--- a/layout/style/nsStyleStruct.h
+++ b/layout/style/nsStyleStruct.h
@@ -1528,46 +1528,53 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsSt
   }
 
   bool OverflowIsVisibleInBothAxis() const {
     return mOverflowX == mozilla::StyleOverflow::Visible &&
            mOverflowY == mozilla::StyleOverflow::Visible;
   }
 
   bool IsContainPaint() const {
-    return (mContain & mozilla::StyleContain::PAINT) &&
+    return (mContain & mozilla::StyleContain::PAINT ||
+            !IsContentVisibilityVisible()) &&
            !IsInternalRubyDisplayType() && !IsInternalTableStyleExceptCell();
   }
 
   bool IsContainLayout() const {
     // Note: The spec for layout containment says it should
     // have no effect on non-atomic, inline-level boxes. We
     // don't check for these here because we don't know
     // what type of element is involved. Callers are
     // responsible for checking if the box in question is
     // non-atomic and inline-level, and creating an
     // exemption as necessary.
-    return (mContain & mozilla::StyleContain::LAYOUT) &&
+    return (mContain & mozilla::StyleContain::LAYOUT ||
+            !IsContentVisibilityVisible()) &&
            !IsInternalRubyDisplayType() && !IsInternalTableStyleExceptCell();
   }
 
   bool IsContainSize() const {
     // Note: The spec for size containment says it should
     // have no effect on non-atomic, inline-level boxes. We
     // don't check for these here because we don't know
     // what type of element is involved. Callers are
     // responsible for checking if the box in question is
     // non-atomic and inline-level, and creating an
     // exemption as necessary.
-    return (mContain & mozilla::StyleContain::SIZE) &&
+    return (mContain & mozilla::StyleContain::SIZE ||
+            mContentVisibility == mozilla::StyleContentVisibility::Hidden) &&
            !IsInternalRubyDisplayType() &&
            DisplayInside() != mozilla::StyleDisplayInside::Table &&
            !IsInnerTableStyle();
   }
 
+  bool IsContentVisibilityVisible() const {
+    return mContentVisibility == mozilla::StyleContentVisibility::Visible;
+  }
+
   bool IsContentVisibilityHidden() const {
     return mContentVisibility == mozilla::StyleContentVisibility::Hidden;
   }
 
   /* Returns whether the element has the transform property or a related
    * property. */
   bool HasTransformStyle() const {
     return HasTransformProperty() || HasIndividualTransform() ||
deleted file mode 100644
--- a/testing/web-platform/meta/css/css-contain/content-visibility/content-visibility-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[content-visibility-003.html]
-  expected: FAIL
deleted file mode 100644
--- a/testing/web-platform/meta/css/css-contain/content-visibility/content-visibility-058.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[content-visibility-058.html]
-  expected: FAIL
deleted file mode 100644
--- a/testing/web-platform/meta/css/css-contain/content-visibility/content-visibility-064.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[content-visibility-064.html]
-  expected: FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-contain/content-visibility/content-visibility-img.html.ini
@@ -0,0 +1,3 @@
+[content-visibility-img.html]
+  [c-v:hidden <img> layout APIs shouldn't return zero when accessed from script.]
+    expected: FAIL
--- a/toolkit/components/extensions/test/xpcshell/xpcshell-content.ini
+++ b/toolkit/components/extensions/test/xpcshell/xpcshell-content.ini
@@ -6,21 +6,21 @@ skip-if =
 [test_ext_contentscript.js]
 skip-if =
   socketprocess_networking # Bug 1759035
 [test_ext_contentscript_about_blank_start.js]
 [test_ext_contentscript_canvas_tainting.js]
 skip-if =
   os == "linux" && socketprocess_networking && !fission && debug # Bug 1759035
 [test_ext_contentscript_permissions_change.js]
-skip -if =
+skip-if =
   os == "linux" && socketprocess_networking && !fission && debug # Bug 1759035
   os == "linux" && tsan && fission # bug 1762638
 [test_ext_contentscript_permissions_fetch.js]
-skip -if =
+skip-if =
   os == "linux" && socketprocess_networking && !fission && debug # Bug 1759035
 [test_ext_contentscript_scriptCreated.js]
 skip-if =
   os == "linux" && socketprocess_networking && !fission && debug # Bug 1759035
 [test_ext_contentscript_triggeringPrincipal.js]
 skip-if =
   os == "android" # Bug 1680132
   (os == "win" && debug) # Bug 1438796