Bug 1384542: Fix dynamic change handling of justify-items legacy values. r=heycam
authorEmilio Cobos Álvarez <emilio@crisal.io>
Thu, 27 Jul 2017 16:45:04 +0200
changeset 420704 a3a199efb743a1043d88b7128d01870186c1fa91
parent 420703 c48b603e7650ccbb0a8ef4ba183749246e5c5b87
child 420705 3fcd58db9fd775d32e43c23e571bff474600d41c
push id7566
push usermtabara@mozilla.com
push dateWed, 02 Aug 2017 08:25:16 +0000
treeherdermozilla-beta@86913f512c3c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersheycam
bugs1384542
milestone56.0a1
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
Bug 1384542: Fix dynamic change handling of justify-items legacy values. r=heycam MozReview-Commit-ID: NEPGlL4ri7
layout/base/GeckoRestyleManager.cpp
layout/style/GeckoStyleContext.cpp
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/css/css-align-3/default-alignment/justify-items-legacy-001.html
--- a/layout/base/GeckoRestyleManager.cpp
+++ b/layout/base/GeckoRestyleManager.cpp
@@ -2222,16 +2222,34 @@ ElementRestyler::ComputeRestyleResultFro
     aRestyleResult = RestyleResult::eContinue;
     // Continue to check other conditions if aCanStopWithStyleChange might
     // still need to be set to false.
     if (!aCanStopWithStyleChange) {
       return;
     }
   }
 
+  if (auto* position = oldContext->PeekStylePosition()) {
+    const bool wasLegacyJustifyItems =
+      position->mJustifyItems & NS_STYLE_JUSTIFY_LEGACY;
+    const auto newJustifyItems = aNewContext->StylePosition()->mJustifyItems;
+    const bool isLegacyJustifyItems =
+       newJustifyItems & NS_STYLE_JUSTIFY_LEGACY;
+
+    // Children with justify-items: legacy may depend on our value.
+    if (wasLegacyJustifyItems != isLegacyJustifyItems ||
+        (wasLegacyJustifyItems && position->mJustifyItems != newJustifyItems)) {
+      LOG_RESTYLE_CONTINUE("legacy justify-items changed between old and new"
+                           " style contexts");
+      aRestyleResult = RestyleResult::eContinue;
+      aCanStopWithStyleChange = false;
+      return;
+    }
+  }
+
   // If the old and new style contexts differ in their
   // NS_STYLE_HAS_TEXT_DECORATION_LINES or NS_STYLE_HAS_PSEUDO_ELEMENT_DATA
   // bits, then we must keep restyling so that those new bit values are
   // propagated.
   if (oldContext->HasTextDecorationLines() !=
         aNewContext->HasTextDecorationLines()) {
     LOG_RESTYLE_CONTINUE("NS_STYLE_HAS_TEXT_DECORATION_LINES differs between old"
                          " and new style contexts");
--- a/layout/style/GeckoStyleContext.cpp
+++ b/layout/style/GeckoStyleContext.cpp
@@ -626,16 +626,17 @@ ShouldSuppressLineBreak(const nsStyleCon
       // non-anonymous frame outside, we should also check them.
       aDisplay->mDisplay == mozilla::StyleDisplay::RubyBase ||
       aDisplay->mDisplay == mozilla::StyleDisplay::RubyText) {
     return true;
   }
   return false;
 }
 
+// FIXME(emilio): Why in GeckoStyleContext.cpp?
 void
 nsStyleContext::SetStyleBits()
 {
   // Here we set up various style bits for both the Gecko and Servo paths.
   // _Only_ change the bits here.  For fixups of the computed values, you can
   // add to ApplyStyleFixups in Gecko and StyleAdjuster as part of Servo's
   // cascade.
 
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -328072,16 +328072,22 @@
     ]
    ],
    "css/css-align-3/content-distribution/place-content-shorthand-006.html": [
     [
      "/css/css-align-3/content-distribution/place-content-shorthand-006.html",
      {}
     ]
    ],
+   "css/css-align-3/default-alignment/justify-items-legacy-001.html": [
+    [
+     "/css/css-align-3/default-alignment/justify-items-legacy-001.html",
+     {}
+    ]
+   ],
    "css/css-align-3/default-alignment/place-items-shorthand-001.html": [
     [
      "/css/css-align-3/default-alignment/place-items-shorthand-001.html",
      {}
     ]
    ],
    "css/css-align-3/default-alignment/place-items-shorthand-002.html": [
     [
@@ -491855,16 +491861,20 @@
   "css/css-align-3/content-distribution/place-content-shorthand-005.html": [
    "6b3d7b9ae7d5b28510385cccaaade09268409cab",
    "testharness"
   ],
   "css/css-align-3/content-distribution/place-content-shorthand-006.html": [
    "016c2ff7902fc01d8368645b7177e3932aa64d42",
    "testharness"
   ],
+  "css/css-align-3/default-alignment/justify-items-legacy-001.html": [
+   "31e799b7f436952f136efbab01f1b648d108b3cc",
+   "testharness"
+  ],
   "css/css-align-3/default-alignment/place-items-shorthand-001.html": [
    "cc69bbbee852e6cd203d3f39dac2a1e05a428361",
    "testharness"
   ],
   "css/css-align-3/default-alignment/place-items-shorthand-002.html": [
    "77bb21f97a9448b03da8b97adc3accf1308eb647",
    "testharness"
   ],
@@ -541496,273 +541506,273 @@
    "360f5b95b4eef2bf80101f172557f2fe65f57ca7",
    "reftest"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/contain/reftest.list": [
    "3e3a27b01ddb31c64f0e223a990cb3818aea6b80",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-1.html": [
-   "e4b08019299f251b2b1f78e4ed6e00e6b1a24432",
+   "5f167290a8e0fff96660c1d6f3834382af86323d",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-10.html": [
-   "573d05d34e2b2d001e3bcf135786ba6513125e56",
+   "13df1179a487d04b184b51869a313407cdf48fce",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-11.html": [
-   "18642a0cd1ff83f21498c5d2fcc4b2e56d8daf62",
+   "de6c6eb0c34c82faaa74ca7ed34d1e819ef9cb6b",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-12.html": [
-   "4aa1847a4835b79531259be970fa6da623ffd683",
+   "e213ba44ea00235462c9feed295521fe653f2a3e",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-13.html": [
-   "8bdccc3b37dca395597b1bfb20f25be77565a62a",
+   "9401910b64ccec604bc048d6086b823ee1aca784",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-14-ref.html": [
-   "0d6d2bf17823ddeb2c52b8b5a3fbb106a1ab73b5",
+   "e0c41c7d1ec9363b037d880657e0e181a0d52f95",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-14.html": [
-   "0d657c2d443574e0881646b31c30ddbc885fe62b",
+   "c600097503bdff38dc268f4b4377fa5c684df86c",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-15-ref.html": [
-   "ce1c706c674dfb34e7770f85fa64682de1796a90",
+   "00c20343e4cbc4c2c2c87d9f54536f7629162622",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-15.html": [
-   "152e273ac4c8cef89660c878af8f457e9a5b7c27",
+   "13c0f7ccf422c9245588d83e81dfcc05d76b7f0e",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-2.html": [
-   "59d2a436ff8d9a9b741e38bce33d09a5eeb0ffef",
+   "305733910f3bf2c0a3889c679d54d7159899205e",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-3.html": [
-   "0fca663c14e1206a7d7ca6c23d220a7b1af863ab",
+   "e6432c6079d6cc2f3cd3574c2353d4003e424002",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-4.html": [
-   "cab1fc96692923e5e8cf8e0ca49d844272b67029",
+   "12a0a0f2c9ea488593666a4c2ee9af34c07b85a0",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-5.html": [
-   "2019b1d7e9b7e0cd1c630c54c60bfc89caf9aace",
+   "255e8c5ec21d9b4cf66c0a6577b27b49b9184518",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-6.html": [
-   "fc87592f9a77cf74d6ab0bcf5c718d870b48ccce",
+   "eca811d7f25ab1f8462eb3a30175f0b9da1c1264",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-7.html": [
-   "93b46d6167438e0f061bf463f5f35a92e916fd18",
+   "dff822e68bc08fc5a43299b36ef6908dbee3b55c",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-8-ref.html": [
-   "111bdb377319e2ed730714de6bf71b0cfe5674c2",
+   "c145b739ba682678b7d9f7fd0ecca0748ad96e16",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-8.html": [
-   "78a83467b7ca0d87aaaeac3d5edc043282619aa4",
+   "27f6d768ddc67fc14ee7ca3eb0854f240c947007",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-9.html": [
-   "82aa9e7e8aceef6d34d4d4749efdd16e874ae120",
+   "7698520c971d95383777739b3a042505c6bdd145",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-block-page-break-inside-avoid-ref.html": [
-   "dee091a8db848ef1340b83774737b4c9f432387a",
+   "46b88e89bc4498d4146a631c98348c499b417fc0",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-1.html": [
-   "653bdbc83cd5eb99ee274e4a6e8e53a34476d5f5",
+   "d853136d910ea583c17a4a739d4e019319c096e8",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-2-ref.html": [
-   "3971920b1153eabe2418b1c9db5e303b8c488cb8",
+   "475ee785150ecb75474eea87ba3744ee06363d22",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-2.html": [
-   "5978697844c4434f91348e52ecf3e3c3d1a1708a",
+   "2a6baf15c0ce39ce82491fb186bdb5ec9aab87e0",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-3.html": [
-   "9a9791057cd8e80d496d966ca36ffe9e08c62dba",
+   "3fa5a48021eb4ce82767445cf568c6a0b8a9c26a",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-4.html": [
-   "83f4b3958fcbb47e1e9755d3163f97f099421bf6",
+   "cb6ebce8a023ca636bdde89947a84c54d9ac7539",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-5-ref.html": [
-   "0f05ef82b0bf48c7d6b2c687866d57b4076edc4f",
+   "7030a5eefb553cfa149692ea1f2737b219c8657a",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-5.html": [
-   "48cbf4b40b3a09ad99a884cc13b50fcd65775acb",
+   "c3125bc4cb0a96ff019e4a4c1dd697fb4f299acd",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-6-ref.html": [
-   "6d13942114f74f971d739a16eab6f7b368f45612",
+   "920db8da9d6be4c23fffa5e1892fbc9434eb41b0",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-6.html": [
-   "3d7482133885cc8a4382b8e4c748130d97d6b0fd",
+   "0db1ee3d037ffef1691eb51302dc21cd2761c846",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-7-ref.html": [
-   "48395831cdaed18abae32eb5269ffd2c476d8741",
+   "d1a8405116d449a173efe12947df3702835f5cda",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-7.html": [
-   "99076af8ebecc4df6988389fc6ed9a0ff5d67be6",
+   "227997da9f8d61033c6badc375f9254098a4b05c",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-8-ref.html": [
-   "d6b77c08573ada206f15924ea5861088953c65b8",
+   "8afcabcdb0d59c26e38049b42cc0d5a49a6ba257",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-8.html": [
-   "a87ff0053249f2752e5c3c2524ad0ed7b313705f",
+   "f1e90e52027349f9429f4f4a73d24cc365615e29",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-9-ref.html": [
-   "31026483f18ee80e0ac7723d6a7fb13632a13748",
+   "7556b737511dfc97e0bd3880be7c4c8641cd94d4",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-float-page-break-inside-avoid-9.html": [
-   "3376ba90eafdb984901fdca69ba7dd40a962bc56",
+   "afa49c092f67a226e47f865cee1bd90b29266569",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-inline-page-break-inside-avoid-1-ref.html": [
-   "407b2a125b1435a8ca7fe0b3c31a68f17f3faf2c",
+   "dc2d651f026037400b08173ea6e3caa37f4aacb8",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-inline-page-break-inside-avoid-1.html": [
-   "4ec1b253ebe3393006fe343c7298283cb6a3bc26",
+   "035fe2c4d538ff07db03de65330451bf7adb8c76",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-row-page-break-inside-avoid-1.html": [
-   "ff1816e3ccdc344d3bc81fa1174167f99218a329",
+   "5760f548a6372180ba67a3307979d68dca96a3a1",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-row-page-break-inside-avoid-2.html": [
-   "f8ddba7940da0f948dcac8386c71387a1d163ce0",
+   "c3cd757aa6c280a5da5d6bca362474bb57b4fcfb",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-1.html": [
-   "50a3ecc24a4615e10d557f605a7233100ec5e56c",
+   "384f11d655bfdba7a725ca3120c07e6363dd59e5",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-2.html": [
-   "2c58c0d437054a9fe2384fcd8f45ca2febd2ae95",
+   "66089b4d810e3be098b721a00c1acfe757e99c75",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-3.html": [
-   "84a2fd476bd635fb0967669dd625cde336a4850f",
+   "3600766573575c63306ca0a0e837f125551e804b",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-4-ref.html": [
-   "60ac2a7696d0027b617506a39149ddd8aecf3ee5",
+   "5c4c9033141cec9cd85492abb0a911e80c08f291",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-4.html": [
-   "d9c87fb3a27ece6f45077c00c2f8681973cfb991",
+   "f379dc4e8c15011c73b1a8c36e68d321baa1e4df",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-5-ref.html": [
-   "03aaf328bdb4b7649a438b29404020e48c5110f2",
+   "36ada19833858467356cecfb7dcc8207e36b3b7a",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-5.html": [
-   "35617acaefc679da0fbc694209fa137bff0787c4",
+   "68607b5bb39061988a9a8c5862bf88d35430697d",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-6.html": [
-   "3e8e871fb27787e834736af3d671f7e7254f7e76",
+   "648aa0a0c21a6c54e24ef7729daa29292d420a39",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-7-ref.html": [
-   "24c53bd5d709ef3205f799f1eb01802ac95971a8",
+   "04b813e10c97c04d86957aa4bc3da00651fcb6fd",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-7.html": [
-   "414732490d4de2d9b27d663e277f78eda4814951",
+   "c0cb4962090a48b4ecdebcf67248f1b71a2f6cec",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-8-ref.html": [
-   "e15a19db56314596ff63dd778cad326393674812",
+   "9ccd76a3d7a7ca9523ebc04d5d4798bb82d01f16",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-rowgroup-page-break-inside-avoid-8.html": [
-   "3a8522802c796a4ed95e4c93fd55771d49c1bc12",
+   "72037332e3bd9d068617d14f59203cfa35ce6d55",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-1.html": [
-   "f456d5c6fc113b33ccaaf5fdd80a4627693406da",
+   "5cce795a43ba0eeb0ba04cd94b20b40d11eab2bb",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-2-ref.html": [
-   "819d83e74de44f0ac1cd91f13963a912332a8208",
+   "461188c6d1cff9107cfa260621adc3ba7a1f4cb9",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-2.html": [
-   "c60b7f868ceceb18db02c9dd50e12d1a3a0e8266",
+   "879a988b381eb86531f979f9612ef6cfacec1cb7",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-3-ref.html": [
-   "46c5d46e19e0a3ee0e68bcb640df670fc10089cf",
+   "183997ca0a35d5551f3b7c4b6fc8da76c3195982",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-3.html": [
-   "4815bed7023164118396bb6659ddec27b4165446",
+   "bcbc942356ddef43f57215c059fdb34c0f5fc559",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-4-ref.html": [
-   "fe5c8cae7811f585a5ff76e8bf8770e9e66e4187",
+   "7f35fb3b7b2c41dbbf9647a078a41069c1064049",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-4.html": [
-   "a17dcc0255b4fb34cd8074391c658feae43bba62",
+   "d18f1c4e05d023c50249d3ac56503a7e6757f6da",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-5-ref.html": [
-   "84f95c890e10c5faf1c46c28a440b2f28c3cd094",
+   "204abe8488984c5bb452b760ab206f5f9ff863d6",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-5.html": [
-   "c15af49e50dc4d38bbd967fc4f9a207d831460f1",
+   "07d3217544325f8f3a6f748a7be2b5dffe6010e3",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-6-ref.html": [
-   "1d5d19229560979682c0afb22e2e4915a360ec74",
+   "9137427b3b9fd00c156f46e9277cdac99e4258b1",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-6.html": [
-   "a06c8eba7abd93591dd2f76ce247d52cb574e901",
+   "4b3e779f2b05a21d3cb4f840f291a93dcf7ef7fb",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-7-ref.html": [
-   "f03108960c0188835664433ade1377bb101f5998",
+   "ccda860d8bb4b82ad137e2a680082844cb55efd4",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-7.html": [
-   "ec38ad5c5b60693ede3924a51688ce515bb9833b",
+   "b10e3e94828781210b3136e708666752e88f4b70",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-8.html": [
-   "2caf007ce1003adf91f53d319979eb671ab44a8d",
+   "3b234a27c8f1a92ab0b315c914826dc21e3fb342",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/moz-css21-table-page-break-inside-avoid-ref.html": [
-   "0c770671686e5437f7baca2beab8ea77f56eda27",
+   "8958a105c537bf438ee318a0ad56e278b168a0cf",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/pagination/reftest.list": [
    "c214096cd0af8a9f769544aed1245644a8e954c4",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/css21/reftest.list": [
    "d8774423bef429b2cd1ab7167b15c786ddea0165",
@@ -544736,21 +544746,21 @@
    "e4c519e59544140de558aff7b13b6ac3e19651c8",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/multicol3/moz-multicol3-column-balancing-break-inside-avoid-1.html": [
    "4a68c1461a5ffecb87ee8f780bd37f53c9c7508b",
    "manual"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/multicol3/multicol-height-002.xht": [
-   "15988661cfe37abd0c3e8e26238b8b5c6c74ea5e",
+   "46fd36d04284c70506e8d8cf0ee0311c14a3f9f3",
    "reftest"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/multicol3/reference/multicol-height-002.xht": [
-   "a2d8c2ad7f3a817197cecf34385547d909119820",
+   "30d0428647c64f8d4a56f36748a6dcc0eb90e25d",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/multicol3/reftest.list": [
    "a425424ad71bb67ef8559d032227f383dafb7115",
    "support"
   ],
   "css/vendor-imports/mozilla/mozilla-central-reftests/reftest.list": [
    "6d496e71f13949bd5b987ee090de61cb55ea410f",
@@ -569832,17 +569842,17 @@
    "5f29436964d01c57f61d513cee5b83281643ac54",
    "testharness"
   ],
   "cssom/escape.html": [
    "c9ed57c7ef7a035c25feff4ea60547a57d727f31",
    "testharness"
   ],
   "cssom/getComputedStyle-pseudo.html": [
-   "b9d037db577325526d2414270d2ceefcd6587a6d",
+   "1eead8a132a035788c5d5584b41024e42975bd9c",
    "testharness"
   ],
   "cssom/historical.html": [
    "2c78218b89efb9bdf60cf708920be142051347c7",
    "testharness"
   ],
   "cssom/index-001.html": [
    "ab9e9f102f5909d9b5587f2c0ea54c0c6b59868d",
@@ -604224,17 +604234,17 @@
    "049b5e9505165723cec70237e2ae5f0e2c7948f0",
    "testharness"
   ],
   "page-visibility/OWNERS": [
    "b82f9756b15ef3ea45fb250e304031d9ceaee9c7",
    "support"
   ],
   "page-visibility/idlharness.html": [
-   "6bbcc548a783a56340aa256e5f51ca51c1b3f4d3",
+   "d6d16a7aed48659afaf14acd5e21271a8ce8cec0",
    "testharness"
   ],
   "page-visibility/prerender_call.html": [
    "17f8962a145f6bd7047f236b5b4eb7f825769004",
    "testharness"
   ],
   "page-visibility/resources/blank_page_green.html": [
    "2d6d55d85e17a9fe978db6dbe25ae35a599d5683",
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-align-3/default-alignment/justify-items-legacy-001.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS Box Alignment: legacy value for justify-items</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="help" href="https://drafts.csswg.org/css-align/#justify-items-property">
+<meta name="assert" content="Tests that legacy justify-items values are correctly inherited.">
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<style>
+#container {
+  justify-items: legacy center;
+}
+</style>
+<div id="container"><span id="child"></span></div>
+<script>
+  test(function() {
+    assert_equals(getComputedStyle(child).justifyItems, "legacy center",
+                  "default justify-items resolves to the parent justify-items value if legacy")
+    container.style.justifyItems = "legacy left";
+    assert_equals(getComputedStyle(child).justifyItems, "legacy left",
+                  "dynamic changes to justify-items propagate to children if needed (legacy)")
+    container.style.justifyItems = "left";
+    assert_equals(getComputedStyle(child).justifyItems, "normal",
+                  "dynamic changes to justify-items propagate to children if needed (left)")
+  }, "legacy value for justify-items")
+</script>