<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[287429] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/287429">287429</a></dd>
<dt>Author</dt> <dd>ntim@apple.com</dd>
<dt>Date</dt> <dd>2021-12-24 10:55:35 -0800 (Fri, 24 Dec 2021)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove non-standard -webkit-margin-collapse CSS property and longhands
https://bugs.webkit.org/show_bug.cgi?id=190788

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator MarginCollapse const): Deleted.
* css/CSSProperties.json:
* css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue const):
* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseShorthand):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelfCollapsingBlock const):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::collapseMarginsWithChildInfo):
(WebCore::RenderBlockFlow::clearFloatsIfNeeded):
(WebCore::RenderBlockFlow::marginBeforeEstimateForChild const):
(WebCore::RenderBlockFlow::estimateLogicalTopPosition):
(WebCore::RenderBlockFlow::setCollapsedBottomMargin):
(WebCore::RenderBlockFlow::handleAfterSideOfBlock):
(WebCore::RenderBlockFlow::setMustDiscardMarginBefore): Deleted.
(WebCore::RenderBlockFlow::setMustDiscardMarginAfter): Deleted.
(WebCore::RenderBlockFlow::mustDiscardMarginBefore const): Deleted.
(WebCore::RenderBlockFlow::mustDiscardMarginAfter const): Deleted.
(WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild const): Deleted.
(WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild const): Deleted.
(WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild const): Deleted.
(WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild const): Deleted.
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
(WebCore::RenderBlockFlow::MarginInfo::setPositiveMargin):
(WebCore::RenderBlockFlow::MarginInfo::setNegativeMargin):
(WebCore::RenderBlockFlow::MarginInfo::setPositiveMarginIfLarger):
(WebCore::RenderBlockFlow::MarginInfo::setNegativeMarginIfLarger):
(WebCore::RenderBlockFlow::MarginInfo::setMargin):
(WebCore::RenderBlockFlow::MarginInfo::setCanCollapseMarginAfterWithChildren):
(WebCore::RenderBlockFlow::MarginInfo::negativeMargin const):
(WebCore::RenderBlockFlow::initMaxMarginValues):
(WebCore::RenderBlockFlow::MarginInfo::setDiscardMargin): Deleted.
(WebCore::RenderBlockFlow::MarginInfo::discardMargin const): Deleted.
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::textOverflow const):
(WebCore::RenderStyle::setTextOverflow):
(WebCore::RenderStyle::initialTextOverflow):
(WebCore::RenderStyle::marginBeforeCollapse const): Deleted.
(WebCore::RenderStyle::marginAfterCollapse const): Deleted.
(WebCore::RenderStyle::setMarginBeforeCollapse): Deleted.
(WebCore::RenderStyle::setMarginAfterCollapse): Deleted.
(WebCore::RenderStyle::initialMarginBeforeCollapse): Deleted.
(WebCore::RenderStyle::initialMarginAfterCollapse): Deleted.
* rendering/style/RenderStyleConstants.cpp:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

Source/WebInspectorUI:

* UserInterface/Models/CSSKeywordCompletions.js:

LayoutTests:

For fast/multicol/offset-top-left.html, reproduced the same visual result without
-webkit-border-collapse: separate. Unfortunately, offsetTop/offsetLeft aren't correct
in flipped writing mode despite correct visual results.

Filed webkit.org/b/234664 for the issue (which was pre-existing this patch).

* fast/block/margin-collapse/webkit-margin-collapse-container-expected.html: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-container.html: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-floats-expected.html: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-floats.html: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-separate-position-expected.txt: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-separate-position.html: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-siblings-bt-expected.html: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-siblings-expected.html: Removed.
* fast/block/margin-collapse/webkit-margin-collapse-siblings.html: Removed.
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js:
* fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: Removed.
* fast/css/getPropertyValue-webkit-margin-collapse.html: Removed.
* fast/css/inherit-initial-shorthand-values-expected.txt:
* fast/css/inherit-initial-shorthand-values.html:
* fast/css/remove-shorthand-expected.txt:
* fast/css/remove-shorthand.html:
* fast/multicol/offset-top-left-expected.txt:
* fast/multicol/offset-top-left.html:
* fast/text/text-combine-crash.html:
* platform/glib/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/glib/svg/css/getComputedStyle-basic-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Removed.
* platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
* platform/ios/svg/css/getComputedStyle-basic-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/mac/svg/css/getComputedStyle-basic-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastcssgetComputedStylecomputedstyleexpectedtxt">trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt">trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssgetComputedStyleresourcespropertynamesjs">trunk/LayoutTests/fast/css/getComputedStyle/resources/property-names.js</a></li>
<li><a href="#trunkLayoutTestsfastcssinheritinitialshorthandvaluesexpectedtxt">trunk/LayoutTests/fast/css/inherit-initial-shorthand-values-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssinheritinitialshorthandvalueshtml">trunk/LayoutTests/fast/css/inherit-initial-shorthand-values.html</a></li>
<li><a href="#trunkLayoutTestsfastcssremoveshorthandexpectedtxt">trunk/LayoutTests/fast/css/remove-shorthand-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssremoveshorthandhtml">trunk/LayoutTests/fast/css/remove-shorthand.html</a></li>
<li><a href="#trunkLayoutTestsfastmulticoloffsettopleftexpectedtxt">trunk/LayoutTests/fast/multicol/offset-top-left-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmulticoloffsettoplefthtml">trunk/LayoutTests/fast/multicol/offset-top-left.html</a></li>
<li><a href="#trunkLayoutTestsfasttexttextcombinecrashhtml">trunk/LayoutTests/fast/text/text-combine-crash.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscsscascadeallpropinitialxmlexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssomgetComputedStyledetachedsubtreeexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformglibfastcssgetComputedStylecomputedstyleexpectedtxt">trunk/LayoutTests/platform/glib/fast/css/getComputedStyle/computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformglibfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt">trunk/LayoutTests/platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformglibsvgcssgetComputedStylebasicexpectedtxt">trunk/LayoutTests/platform/glib/svg/css/getComputedStyle-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkimportedw3cwebplatformtestscsscssomgetComputedStyledetachedsubtreeexpectedtxt">trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiosfastcssgetComputedStylecomputedstyleexpectedtxt">trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiosfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt">trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiosimportedw3cwebplatformtestscsscsscascadeallpropinitialxmlexpectedtxt">trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiosimportedw3cwebplatformtestscsscssomgetComputedStyledetachedsubtreeexpectedtxt">trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiossvgcssgetComputedStylebasicexpectedtxt">trunk/LayoutTests/platform/ios/svg/css/getComputedStyle-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastcssgetComputedStylecomputedstyleexpectedtxt">trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt">trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgcssgetComputedStylebasicexpectedtxt">trunk/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwpeimportedw3cwebplatformtestscsscssomgetComputedStyledetachedsubtreeexpectedtxt">trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSPrimitiveValueMappingsh">trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h</a></li>
<li><a href="#trunkSourceWebCorecssCSSPropertiesjson">trunk/Source/WebCore/css/CSSProperties.json</a></li>
<li><a href="#trunkSourceWebCorecssStylePropertiescpp">trunk/Source/WebCore/css/StyleProperties.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSParserFastPathscpp">trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSPropertyParsercpp">trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockcpp">trunk/Source/WebCore/rendering/RenderBlock.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockFlowcpp">trunk/Source/WebCore/rendering/RenderBlockFlow.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockFlowh">trunk/Source/WebCore/rendering/RenderBlockFlow.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleh">trunk/Source/WebCore/rendering/style/RenderStyle.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleConstantscpp">trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleConstantsh">trunk/Source/WebCore/rendering/style/RenderStyleConstants.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleStyleRareNonInheritedDatacpp">trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp</a></li>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsCSSKeywordCompletionsjs">trunk/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsecontainerexpectedhtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-container-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsecontainerhtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-container.html</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsefloatsexpectedhtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-floats-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsefloatshtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-floats.html</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapseseparatepositionexpectedtxt">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-separate-position-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapseseparatepositionhtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-separate-position.html</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsesiblingsbtexpectedhtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-bt-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsesiblingsbthtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsesiblingsexpectedhtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsesiblingshtml">trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings.html</a></li>
<li><a href="#trunkLayoutTestsfastcssgetPropertyValuewebkitmargincollapseexpectedtxt">trunk/LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssgetPropertyValuewebkitmargincollapsehtml">trunk/LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse.html</a></li>
<li>trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/</li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog      2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/ChangeLog 2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,3 +1,53 @@
</span><ins>+2021-12-24  Tim Nguyen  <ntim@apple.com>
+
+        Remove non-standard -webkit-margin-collapse CSS property and longhands
+        https://bugs.webkit.org/show_bug.cgi?id=190788
+
+        Reviewed by Simon Fraser.
+
+        For fast/multicol/offset-top-left.html, reproduced the same visual result without
+        -webkit-border-collapse: separate. Unfortunately, offsetTop/offsetLeft aren't correct
+        in flipped writing mode despite correct visual results.
+
+        Filed webkit.org/b/234664 for the issue (which was pre-existing this patch).
+
+        * fast/block/margin-collapse/webkit-margin-collapse-container-expected.html: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-container.html: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-floats-expected.html: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-floats.html: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-separate-position-expected.txt: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-separate-position.html: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-siblings-bt-expected.html: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-siblings-expected.html: Removed.
+        * fast/block/margin-collapse/webkit-margin-collapse-siblings.html: Removed.
+        * fast/css/getComputedStyle/computed-style-expected.txt:
+        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+        * fast/css/getComputedStyle/resources/property-names.js:
+        * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: Removed.
+        * fast/css/getPropertyValue-webkit-margin-collapse.html: Removed.
+        * fast/css/inherit-initial-shorthand-values-expected.txt:
+        * fast/css/inherit-initial-shorthand-values.html:
+        * fast/css/remove-shorthand-expected.txt:
+        * fast/css/remove-shorthand.html:
+        * fast/multicol/offset-top-left-expected.txt:
+        * fast/multicol/offset-top-left.html:
+        * fast/text/text-combine-crash.html:
+        * platform/glib/fast/css/getComputedStyle/computed-style-expected.txt:
+        * platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+        * platform/glib/svg/css/getComputedStyle-basic-expected.txt:
+        * platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
+        * platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Removed.
+        * platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
+        * platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+        * platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
+        * platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
+        * platform/ios/svg/css/getComputedStyle-basic-expected.txt:
+        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
+        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+        * platform/mac/svg/css/getComputedStyle-basic-expected.txt:
+        * platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
+
</ins><span class="cx"> 2021-12-24  Sam Weinig  <weinig@apple.com>
</span><span class="cx"> 
</span><span class="cx">         On systems without CG support for alpha premultiplied gradients, the CGGradientRef path should still be used for the subset of gradients that can transformed
</span></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsecontainerexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-container-expected.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-container-expected.html      2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-container-expected.html 2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,159 +0,0 @@
</span><del>-<html>
-       <head>
-               <style>
-               div {
-                       margin: 0px;
-               }
-
-               .container {
-                       border: thin solid blue;
-                       width: 350px;
-                       float: left;
-               }
-
-               .level1 {
-                       margin-top: 10px;
-                       margin-bottom: 10px;
-                       border: 1px dashed black;
-                       background-color: green;
-               }
-
-               .level2 {
-                       margin-top: 25px;
-                       margin-bottom: 20px;
-                       background-color: orange;
-               }
-
-               .level3 {
-                       margin-top: 30px;
-                       margin-bottom: 30px;
-                       background-color: pink;
-               }
-
-               #t1 .level2 {
-                       margin-top: 0px;
-               }
-
-               #t1 .level3 {
-                       margin-top: 0px;
-               }
-
-               #t2 .level2 {
-                       margin-bottom: 0px;
-               }
-
-               #t2 .level3 {
-                       margin-bottom: 0px;
-               }
-
-               #t3 .level2 {
-                       margin-top: 0px;
-               }
-
-               #t3 .level3 {
-                       margin-top: 0px;
-               }
-
-               #t4 .level2 {
-                       margin-bottom: 0px;
-               }
-
-               #t4 .level3 {
-                       margin-bottom: 0px;
-               }
-
-               #t5 .level2 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #t5 .level3 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #t6 .level2 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #t6 .level3 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #t7 .level3 {
-                       margin-top: 0px;
-               }
-
-               #t8 .level3 {
-                       margin-bottom: 0px;
-               }
-
-               #t9 .level2 {
-                       margin-top: 0px;
-                       padding-top: 30px;
-               }
-
-               #t9 .level3 {
-                       margin-top: 0px;
-               }
-
-               #t10 .level2 {
-                       margin-bottom: 0px;
-                       padding-bottom: 30px;
-               }
-
-               #t10 .level3 {
-                       margin-bottom: 0px;
-               }
-
-               #t11 .level2 {
-                       margin-top: 0px;
-                       padding-top: 30px;
-               }
-
-               #t11 .level3 {
-                       margin-top: 0px;
-               }
-
-               #t11 {
-                       padding-top: 25px;
-               }
-
-               #t12 .level2 {
-                       margin-bottom: 0px;
-                       padding-bottom: 30px;
-               }
-
-               #t12 .level3 {
-                       margin-bottom: 0px;
-               }
-
-               #t12 {
-                       padding-bottom: 20px;
-               }
-
-               </style>
-       </head>
-       <body>
-               <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=108168">Implement the -webkit-margin-collapse properties correct rendering</a>.</p>
-               <p>This ref test covers basic collapsing behavior between a box and its container when using -webkit-margin-collapse.</p>
-               <div class="container">
-                       <div id="t1" class="level1"><div class="level2"><div class="level3">Pink: discard top</div></div></div>
-                       <div id="t2" class="level1"><div class="level2"><div class="level3">Pink: discard bottom</div></div></div>
-                       <div id="t3" class="level1"><div class="level2"><div class="level3">Orange: discard top</div></div></div>
-                       <div id="t4" class="level1"><div class="level2"><div class="level3">Orange: discard bottom</div></div></div>
-                       <div id="t5" class="level1"><div class="level2"><div class="level3">Orange: discard top, discard bottom</div></div></div>
-                       <div id="t6" class="level1"><div class="level2"><div class="level3">Pink: discard top, discard bottom</div></div></div>
-                       <div id="t7" class="level1"><div class="level2"><div class="level3">Orange: separate top, Pink: discard top</div></div></div>
-                       <div id="t8" class="level1"><div class="level2"><div class="level3">Orange: separate bottom, Pink: discard bottom</div></div></div>
-               </div>
-               <div class="container">
-                       <div id="t9" class="level1"><div class="level2"><div class="level3">Orange: discard top, Pink: separate top</div></div></div>
-                       <div id="t10" class="level1"><div class="level2"><div class="level3">Orange: discard bottom, Pink: separate bottom</div></div></div>
-                       <div id="t11" class="level1"><div class="level2"><div class="level3">Orange: separate top, Pink: separate top</div></div></div>
-                       <div id="t12" class="level1"><div class="level2"><div class="level3">Orange: separate bottom, Pink: separate bottom</div></div></div>
-               </div>
-       </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsecontainerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-container.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-container.html       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-container.html  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,78 +0,0 @@
</span><del>-<html>
-       <head>
-               <style>
-               div {
-                       margin: 0px;
-               }
-
-               .container {
-                       border: thin solid blue;
-                       width: 350px;
-                       float: left;
-               }
-
-               .level1 {
-                       margin-top: 10px;
-                       margin-bottom: 10px;
-                       border: 1px dashed black;
-                       background-color: green;
-               }
-
-               .level2 {
-                       margin-top: 25px;
-                       margin-bottom: 20px;
-                       background-color: orange;
-               }
-
-               .level3 {
-                       margin-top: 30px;
-                       margin-bottom: 30px;
-                       background-color: pink;
-               }
-
-               .collapse_top {
-                       -webkit-margin-top-collapse: collapse;
-               }
-
-               .collapse_bottom {
-                       -webkit-margin-bottom-collapse: collapse;
-               }
-
-               .discard_top {
-                       -webkit-margin-top-collapse: discard;
-               }
-
-               .discard_bottom {
-                       -webkit-margin-bottom-collapse: discard;
-               }
-
-               .separate_top {
-                       -webkit-margin-top-collapse: separate;
-               }
-
-               .separate_bottom {
-                       -webkit-margin-bottom-collapse: separate;
-               }
-               </style>
-       </head>
-       <body>
-               <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=108168">Implement the -webkit-margin-collapse properties correct rendering</a>.</p>
-               <p>This ref test covers basic collapsing behavior between a box and its container when using -webkit-margin-collapse.</p>
-               <div class="container">
-                       <div class="level1"><div class="level2"><div class="level3 discard_top">Pink: discard top</div></div></div>
-                       <div class="level1"><div class="level2"><div class="level3 discard_bottom">Pink: discard bottom</div></div></div>
-                       <div class="level1"><div class="level2 discard_top"><div class="level3">Orange: discard top</div></div></div>
-                       <div class="level1"><div class="level2 discard_bottom"><div class="level3">Orange: discard bottom</div></div></div>
-                       <div class="level1"><div class="level2 discard_top discard_bottom"><div class="level3">Orange: discard top, discard bottom</div></div></div>
-                       <div class="level1"><div class="level2"><div class="level3 discard_top discard_bottom">Pink: discard top, discard bottom</div></div></div>
-                       <div class="level1"><div class="level2 separate_top"><div class="level3 discard_top">Orange: separate top, Pink: discard top</div></div></div>
-                       <div class="level1"><div class="level2 separate_bottom"><div class="level3 discard_bottom">Orange: separate bottom, Pink: discard bottom</div></div></div>
-               </div>
-               <div class="container">
-                       <div class="level1"><div class="level2 discard_top"><div class="level3 separate_top">Orange: discard top, Pink: separate top</div></div></div>
-                       <div class="level1"><div class="level2 discard_bottom"><div class="level3 separate_bottom">Orange: discard bottom, Pink: separate bottom</div></div></div>
-                       <div class="level1"><div class="level2 separate_top"><div class="level3 separate_top">Orange: separate top, Pink: separate top</div></div></div>
-                       <div class="level1"><div class="level2 separate_bottom"><div class="level3 separate_bottom">Orange: separate bottom, Pink: separate bottom</div></div></div>
-               </div>
-       </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsefloatsexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-floats-expected.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-floats-expected.html 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-floats-expected.html    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,41 +0,0 @@
</span><del>-<html>
-       <head>
-               <style>
-               div {
-                       margin: 0px;
-               }
-
-               .container {
-                       border: thin solid blue;
-                       width: 600px;
-               }
-
-               #float {
-                       float: left;
-                       width: 200px;
-                       height: 200px;
-                       background-color: green;
-               }
-
-               #parent {
-                       margin-top: 50px;
-               }
-
-               #content {
-                       margin-top: 50px;
-                       clear: left;
-               }
-               </style>
-       </head>
-       <body>
-               <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=108168">Implement the -webkit-margin-collapse properties correct rendering</a>.</p>
-               <p>This ref test covers basic collapsing behavior when a child with a discard top margin is cleared and its top margin doesn't collapse with the top margin of the containing block any more.
-                       The top margin of the containing block needs to be restored.</p>
-               <div class="container">
-                       <div id="parent">
-                               <div id="float"></div>
-                               <div id="content">Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc orci mauris, ultrices non blandit non, fermentum a libero. Morbi ante elit, faucibus vel dignissim quis, euismod a arcu. Sed tempus suscipit nulla, vitae varius elit suscipit et. Pellentesque consequat lobortis blandit. Vivamus a tempus diam. Suspendisse nulla lectus, consequat quis tempor vitae, placerat sed lorem. Phasellus at dolor felis, ut ultricies lacus. Praesent vel turpis lacus. Nam ultricies augue in erat congue ac tempor neque cursus.</div>
-                       </div>
-               </div>
-       </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsefloatshtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-floats.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-floats.html  2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-floats.html     2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,45 +0,0 @@
</span><del>-<html>
-       <head>
-               <style>
-               div {
-                       margin: 0px;
-               }
-
-               .container {
-                       border: thin solid blue;
-                       width: 600px;
-               }
-
-               .discard_top {
-                       -webkit-margin-top-collapse: discard;
-               }
-
-               #float {
-                       float: left;
-                       width: 200px;
-                       height: 200px;
-                       background-color: green;
-               }
-
-               #parent {
-                       margin-top: 50px;
-               }
-
-               #content {
-                       margin-top: 50px;
-                       clear: left;
-               }
-               </style>
-       </head>
-       <body>
-               <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=108168">Implement the -webkit-margin-collapse properties correct rendering</a>.</p>
-               <p>This ref test covers basic collapsing behavior when a child with a discard top margin is cleared and its top margin doesn't collapse with the top margin of the containing block any more.
-                       The top margin of the containing block needs to be restored.</p>
-               <div class="container">
-                       <div id="parent">
-                               <div id="float"></div>
-                               <div id="content" class="discard_top">Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc orci mauris, ultrices non blandit non, fermentum a libero. Morbi ante elit, faucibus vel dignissim quis, euismod a arcu. Sed tempus suscipit nulla, vitae varius elit suscipit et. Pellentesque consequat lobortis blandit. Vivamus a tempus diam. Suspendisse nulla lectus, consequat quis tempor vitae, placerat sed lorem. Phasellus at dolor felis, ut ultricies lacus. Praesent vel turpis lacus. Nam ultricies augue in erat congue ac tempor neque cursus.</div>
-                       </div>
-               </div>
-       </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapseseparatepositionexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-separate-position-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-separate-position-expected.txt       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-separate-position-expected.txt  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,11 +0,0 @@
</span><del>-Test for https://bugs.webkit.org/show_bug.cgi?id=109956 -webkit-margin-collapse: separate doesn't work correctly for before margins. The test basically creates an empty block inside a container with a margin that collapses with children. The empty block has the margins set to separate so its height should be 0px. The container is not selfcollapsing so it should have a height of 10px+10px+2px=22px.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.getElementById("zero_height").offsetHeight is 0
-PASS document.getElementById("22px_height").offsetHeight is 22
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapseseparatepositionhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-separate-position.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-separate-position.html       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-separate-position.html  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,41 +0,0 @@
</span><del>-<html>
-    <head>
-        <script src="../../../resources/js-test-pre.js"></script>
-        <style>
-        .container {
-            border: thin solid blue;
-        }
-
-        .child_with_margins {
-            margin-top: 10px;
-            margin-bottom: 10px;
-        }
-
-        .separate_top {
-            -webkit-margin-top-collapse: separate;
-        }
-
-        .separate_bottom {
-            -webkit-margin-bottom-collapse: separate;
-        }
-        </style>
-    </head>
-    <body>
-        <div class="container" id="22px_height">
-            <div class="child_with_margins" id="zero_height">
-                <div class="separate_top separate_bottom"></div>
-            </div>
-        </div>
-        <script>
-        if (window.testRunner)
-            testRunner.dumpAsText();
-
-        description("Test for https://bugs.webkit.org/show_bug.cgi?id=109956 -webkit-margin-collapse: separate doesn't work correctly for before margins. \
-            The test basically creates an empty block inside a container with a margin that collapses with children. The empty block has the margins \
-            set to separate so its height should be 0px. The container is not selfcollapsing so it should have a height of 10px+10px+2px=22px.");
-        shouldEvaluateTo('document.getElementById("zero_height").offsetHeight', '0');
-        shouldEvaluateTo('document.getElementById("22px_height").offsetHeight', '22');
-        </script>
-        <script src="../../../resources/js-test-post.js"></script>
-    </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsesiblingsbtexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-bt-expected.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-bt-expected.html    2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-bt-expected.html       2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,95 +0,0 @@
</span><del>-<html>
-       <head>
-               <style>
-               div {
-                       margin: 0px;
-               }
-
-               .container {
-                       border: thin solid blue;
-                       width: 300px;
-               }
-
-               .block {
-                       background-color: green;
-                       margin-top: 4px;
-                       margin-bottom: 6px;
-                       border: 1px dashed black;
-                       -webkit-writing-mode: horizontal-bt;
-               }
-
-               .collapse_top:before, .collapse_bottom:after {
-                       content: "Collapse";
-               }
-
-               .discard_top:before, .discard_bottom:after {
-                       content: "Discard";
-               }
-
-               .separate_top:before, .separate_bottom:after {
-                       content: "Separate";
-               }
-
-               #b2 {
-                       margin-top: 6px;
-                       margin-bottom: 0px;
-               }
-
-               #b3 {
-                       margin-top: 6px;
-                       margin-bottom: 0px;
-               }
-
-               #b4 {
-                       margin-top: 6px;
-                       margin-bottom: 0px;
-               }
-
-               #b5 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #b6 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #b7 {
-                       margin-top: 14px;
-                       margin-bottom: 0px;
-               }
-
-               #b8 {
-                       margin-top: 4px;
-                       margin-bottom: 0px;
-               }
-
-               #b9 {
-                       margin-top: 10px;
-                       margin-bottom: 10px;
-               }
-
-               #b10 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-               </style>
-       </head>
-       <body>
-               <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=108168">Implement the -webkit-margin-collapse properties correct rendering</a>.</p>
-               <p>This ref test covers basic collapsing behavior between sibling boxes when using -webkit-margin-collapse. The blocks have lr-bt writing mode.</p>
-               <div class="container">
-                       <div id="b1" class="block collapse_top collapse_bottom"><br/></div>
-                       <div id="b2" class="block collapse_top collapse_bottom"><br/></div>
-                       <div id="b3" class="block separate_top collapse_bottom"><br/></div>
-                       <div id="b4" class="block discard_top discard_bottom"><br/></div>
-                       <div id="b5" class="block collapse_top discard_bottom"><br/></div>
-                       <div id="b6" class="block separate_top discard_bottom"><br/></div>
-                       <div id="b7" class="block discard_top separate_bottom"><br/></div>
-                       <div id="b8" class="block collapse_top separate_bottom"><br/></div>
-                       <div id="b9" class="block separate_top separate_bottom"><br/></div>
-                       <div id="b10" class="block discard_top collapse_bottom"><br/></div>
-               </div>
-       </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsesiblingsbthtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html     2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html        2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,89 +0,0 @@
</span><del>-<html>
-       <head>
-               <style>
-               div {
-                       margin: 0px;
-               }
-
-               .container {
-                       border: thin solid blue;
-                       width: 300px;
-               }
-
-               .block {
-                       background-color: green;
-                       margin-top: 4px;
-                       margin-bottom: 6px;
-                       border: 1px dashed black;
-                       -webkit-writing-mode: horizontal-bt;
-               }
-
-               .self_collapse {
-                       margin-top: 2px;
-                       margin-bottom: 4px;
-                       height: 0px;
-               }
-
-               .collapse_top {
-                       -webkit-margin-top-collapse: collapse;
-               }
-
-               .collapse_bottom {
-                       -webkit-margin-bottom-collapse: collapse;
-               }
-
-               .collapse_top:before, .collapse_bottom:after {
-                       content: "Collapse";
-               }
-
-               .discard_top {
-                       -webkit-margin-top-collapse: discard;
-               }
-
-               .discard_bottom {
-                       -webkit-margin-bottom-collapse: discard;
-               }
-
-               .discard_top:before, .discard_bottom:after {
-                       content: "Discard";
-               }
-
-               .separate_top {
-                       -webkit-margin-top-collapse: separate;
-               }
-
-               .separate_bottom {
-                       -webkit-margin-bottom-collapse: separate;
-               }
-
-               .separate_top:before, .separate_bottom:after {
-                       content: "Separate";
-               }
-               </style>
-       </head>
-       <body>
-               <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=108168">Implement the -webkit-margin-collapse properties correct rendering</a>.</p>
-               <p>This ref test covers basic collapsing behavior between sibling boxes when using -webkit-margin-collapse. The blocks have lr-bt writing mode.</p>
-               <div class="container">
-                       <div class="block collapse_top collapse_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block collapse_top collapse_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block separate_top collapse_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block discard_top discard_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block collapse_top discard_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block separate_top discard_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block discard_top separate_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block collapse_top separate_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block separate_top separate_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block discard_top collapse_bottom"><br/></div>
-               </div>
-       </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsesiblingsexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-expected.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-expected.html       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings-expected.html  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,93 +0,0 @@
</span><del>-<html>
-       <head>
-               <style>
-               div {
-                       margin: 0px;
-               }
-
-               .container {
-                       border: thin solid blue;
-                       width: 300px;
-               }
-
-               .block {
-                       background-color: green;
-                       margin-top: 4px;
-                       margin-bottom: 6px;
-                       border: 1px dashed black;
-               }
-
-               .collapse_top:before, .collapse_bottom:after {
-                       content: "Collapse";
-               }
-
-               .discard_top:before, .discard_bottom:after {
-                       content: "Discard";
-               }
-
-               .separate_top:before, .separate_bottom:after {
-                       content: "Separate";
-               }
-
-               #b2 {
-                       margin-top: 6px;
-                       margin-bottom: 0px;
-               }
-
-               #b3 {
-                       margin-top: 10px;
-                       margin-bottom: 0px;
-               }
-
-               #b4 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #b5 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #b6 {
-                       margin-top: 4px;
-                       margin-bottom: 0px;
-               }
-
-               #b7 {
-                       margin-top: 0px;
-                       margin-bottom: 0px;
-               }
-
-               #b8 {
-                       margin-top: 10px;
-                       margin-bottom: 0px;
-               }
-
-               #b9 {
-                       margin-top: 14px;
-                       margin-bottom: 6px;
-               }
-
-               #b10 {
-                       margin-top: 0px;
-               }
-               </style>
-       </head>
-       <body>
-               <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=108168">Implement the -webkit-margin-collapse properties correct rendering</a>.</p>
-               <p>This ref test covers basic collapsing behavior between sibling boxes when using -webkit-margin-collapse. The blocks have lr-tb writing mode.</p>
-               <div class="container">
-                       <div id="b1" class="block collapse_top collapse_bottom"><br/></div>
-                       <div id="b2" class="block collapse_top collapse_bottom"><br/></div>
-                       <div id="b3" class="block separate_top collapse_bottom"><br/></div>
-                       <div id="b4" class="block discard_top discard_bottom"><br/></div>
-                       <div id="b5" class="block collapse_top discard_bottom"><br/></div>
-                       <div id="b6" class="block separate_top discard_bottom"><br/></div>
-                       <div id="b7" class="block discard_top separate_bottom"><br/></div>
-                       <div id="b8" class="block collapse_top separate_bottom"><br/></div>
-                       <div id="b9" class="block separate_top separate_bottom"><br/></div>
-                       <div id="b10" class="block discard_top collapse_bottom"><br/></div>
-               </div>
-       </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastblockmargincollapsewebkitmargincollapsesiblingshtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings.html        2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/block/margin-collapse/webkit-margin-collapse-siblings.html   2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,88 +0,0 @@
</span><del>-<html>
-       <head>
-               <style>
-               div {
-                       margin: 0px;
-               }
-
-               .container {
-                       border: thin solid blue;
-                       width: 300px;
-               }
-
-               .block {
-                       background-color: green;
-                       margin-top: 4px;
-                       margin-bottom: 6px;
-                       border: 1px dashed black;
-               }
-
-               .self_collapse {
-                       margin-top: 2px;
-                       margin-bottom: 4px;
-                       height: 0px;
-               }
-
-               .collapse_top {
-                       -webkit-margin-top-collapse: collapse;
-               }
-
-               .collapse_bottom {
-                       -webkit-margin-bottom-collapse: collapse;
-               }
-
-               .collapse_top:before, .collapse_bottom:after {
-                       content: "Collapse";
-               }
-
-               .discard_top {
-                       -webkit-margin-top-collapse: discard;
-               }
-
-               .discard_bottom {
-                       -webkit-margin-bottom-collapse: discard;
-               }
-
-               .discard_top:before, .discard_bottom:after {
-                       content: "Discard";
-               }
-
-               .separate_top {
-                       -webkit-margin-top-collapse: separate;
-               }
-
-               .separate_bottom {
-                       -webkit-margin-bottom-collapse: separate;
-               }
-
-               .separate_top:before, .separate_bottom:after {
-                       content: "Separate";
-               }
-               </style>
-       </head>
-       <body>
-               <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=108168">Implement the -webkit-margin-collapse properties correct rendering</a>.</p>
-               <p>This ref test covers basic collapsing behavior between sibling boxes when using -webkit-margin-collapse. The blocks have lr-tb writing mode.</p>
-               <div class="container">
-                       <div class="block collapse_top collapse_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block collapse_top collapse_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block separate_top collapse_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block discard_top discard_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block collapse_top discard_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block separate_top discard_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block discard_top separate_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block collapse_top separate_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block separate_top separate_bottom"><br/></div>
-                       <div class="self_collapse"></div>
-                       <div class="block discard_top collapse_bottom"><br/></div>
-               </div>
-       </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssgetComputedStylecomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt  2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt     2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -229,8 +229,6 @@
</span><span class="cx"> -webkit-line-grid: none;
</span><span class="cx"> -webkit-line-snap: none;
</span><span class="cx"> -webkit-locale: auto;
</span><del>--webkit-margin-after-collapse: collapse;
--webkit-margin-before-collapse: collapse;
</del><span class="cx"> -webkit-mask-box-image: none;
</span><span class="cx"> -webkit-mask-box-image-outset: 0px;
</span><span class="cx"> -webkit-mask-box-image-repeat: stretch;
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -228,8 +228,6 @@
</span><span class="cx"> -webkit-line-grid: none
</span><span class="cx"> -webkit-line-snap: none
</span><span class="cx"> -webkit-locale: auto
</span><del>--webkit-margin-after-collapse: collapse
--webkit-margin-before-collapse: collapse
</del><span class="cx"> -webkit-mask-box-image: none
</span><span class="cx"> -webkit-mask-box-image-outset: 0px
</span><span class="cx"> -webkit-mask-box-image-repeat: stretch
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssgetComputedStyleresourcespropertynamesjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/getComputedStyle/resources/property-names.js (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/getComputedStyle/resources/property-names.js  2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/getComputedStyle/resources/property-names.js     2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -78,8 +78,6 @@
</span><span class="cx">     "-webkit-line-grid": true,
</span><span class="cx">     "-webkit-line-snap": true,
</span><span class="cx">     "-webkit-locale": true,
</span><del>-    "-webkit-margin-after-collapse": true,
-    "-webkit-margin-before-collapse": true,
</del><span class="cx">     "-webkit-mask-attachment": true,
</span><span class="cx">     "-webkit-mask-box-image": true,
</span><span class="cx">     "-webkit-mask-box-image-outset": true,
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssgetPropertyValuewebkitmargincollapseexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse-expected.txt  2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse-expected.txt     2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-Bug 110903: getPropertyValue for -webkit-margin-collapse returns null, should compute the shorthand value
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS webkitMarginCollapseValue("margin-collapse1") is 'collapse separate'
-PASS webkitMarginCollapseValue("margin-collapse2") is 'discard discard'
-PASS webkitMarginCollapseValue("margin-collapse3") is 'discard separate'
-NOTE: 'foo' is an illegal CSS value for '-webkit-margin-collapse'.
-PASS webkitMarginCollapseValue("margin-collapse4") is ""
-NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns the empty string.
-PASS webkitMarginCollapseValue("margin-collapse5") is ""
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="trunkLayoutTestsfastcssgetPropertyValuewebkitmargincollapsehtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse.html  2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse.html     2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,42 +0,0 @@
</span><del>-<!DOCTYPE HTML>
-</html>
-  <head>
-    <title>-webkit-margin-collapse shorthand getPropertyValue test</title>
-    <style>
-      .test {
-        display: inline-block;
-        width: 5em;
-        height: 10em;
-      }
-    </style>
-    <script src="../../resources/js-test-pre.js"></script>
-    <script>
-      if (window.testRunner)
-        testRunner.dumpAsText();
-    </script>
-  </head>
-  <body>
-    <div id="margin-collapse1" class="test" style="-webkit-margin-collapse: collapse separate;"></div>
-    <div id="margin-collapse2" class="test" style="-webkit-margin-collapse: discard;"></div>
-    <div id="margin-collapse3" class="test" style="-webkit-margin-before-collapse: discard; -webkit-margin-after-collapse: separate;"></div>
-    <div id="margin-collapse4" class="test" style="-webkit-margin-collapse: foo;"></div>
-    <div id="margin-collapse5" class="test" style="-webkit-margin-before-collapse: collapse;"></div>
-    <script>
-      description("<a href=\"https://bugs.webkit.org/show_bug.cgi?id=110903\">Bug 110903: getPropertyValue for -webkit-margin-collapse returns null, should compute the shorthand value</a>");
-
-      function webkitMarginCollapseValue(id) {
-        var element = document.getElementById(id);
-        return element.style.getPropertyValue("-webkit-margin-collapse");
-      }
-
-      shouldBe('webkitMarginCollapseValue("margin-collapse1")', "'collapse separate'");
-      shouldBe('webkitMarginCollapseValue("margin-collapse2")', "'discard discard'");
-      shouldBe('webkitMarginCollapseValue("margin-collapse3")', "'discard separate'");
-      debug("NOTE: 'foo' is an illegal CSS value for '-webkit-margin-collapse'.");
-      shouldBeEqualToString('webkitMarginCollapseValue("margin-collapse4")', "");
-      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns the empty string.")
-      shouldBeEqualToString('webkitMarginCollapseValue("margin-collapse5")', "");
-    </script>
-    <script src="../../resources/js-test-post.js"></script>
-  </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsfastcssinheritinitialshorthandvaluesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/inherit-initial-shorthand-values-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/inherit-initial-shorthand-values-expected.txt 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/inherit-initial-shorthand-values-expected.txt    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> PASS test('webkit-column-rule') is "inherit, initial"
</span><span class="cx"> PASS test('flex-flow') is "inherit, initial"
</span><span class="cx"> PASS test('flex') is "inherit, initial"
</span><del>-PASS test('webkit-marginCollapse') is "inherit, initial"
</del><span class="cx"> PASS test('webkit-mask') is "inherit, initial"
</span><span class="cx"> PASS test('webkit-mask-position') is "inherit, initial"
</span><span class="cx"> PASS test('webkit-mask-repeat') is "inherit, initial"
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssinheritinitialshorthandvalueshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/inherit-initial-shorthand-values.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/inherit-initial-shorthand-values.html 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/inherit-initial-shorthand-values.html    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -44,7 +44,6 @@
</span><span class="cx">     "webkit-column-rule",
</span><span class="cx">     "flex-flow",
</span><span class="cx">     "flex",
</span><del>-    "webkit-marginCollapse",
</del><span class="cx">     "webkit-mask",
</span><span class="cx">     "webkit-mask-position",
</span><span class="cx">     "webkit-mask-repeat",
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssremoveshorthandexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/remove-shorthand-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/remove-shorthand-expected.txt 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/remove-shorthand-expected.txt    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -53,9 +53,6 @@
</span><span class="cx"> Removing margin
</span><span class="cx"> removes "margin"
</span><span class="cx"> and adds "".
</span><del>-Removing -webkit-margin-collapse
-removes "-webkit-margin-before-collapse, -webkit-margin-after-collapse"
-and adds "".
</del><span class="cx"> Removing -webkit-mask
</span><span class="cx"> removes "mask-image, -webkit-mask-position-x, -webkit-mask-position-y, mask-repeat-x, mask-repeat-y, -webkit-mask"
</span><span class="cx"> and adds "".
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssremoveshorthandhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/remove-shorthand.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/remove-shorthand.html 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/css/remove-shorthand.html    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -16,7 +16,6 @@
</span><span class="cx">                  background: red url(/background.png) repeat-y scroll right bottom; \
</span><span class="cx">                  list-style: square outside url(/marker.png); \
</span><span class="cx">                  margin: 5%; \
</span><del>-                 -webkit-margin-collapse: collapse; \
</del><span class="cx">                  padding: 2em; \
</span><span class="cx">                  -webkit-text-stroke: orange 1pt; \
</span><span class="cx">                  -webkit-columns: 100px 3; \
</span><span class="lines">@@ -62,7 +61,6 @@
</span><span class="cx">                 "-webkit-column-rule",
</span><span class="cx">                 "list-style",
</span><span class="cx">                 "margin",
</span><del>-                "-webkit-margin-collapse",
</del><span class="cx">                 "-webkit-mask",
</span><span class="cx">                 "-webkit-mask-position",
</span><span class="cx">                 "overflow",
</span></span></pre></div>
<a id="trunkLayoutTestsfastmulticoloffsettopleftexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/multicol/offset-top-left-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/multicol/offset-top-left-expected.txt     2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/multicol/offset-top-left-expected.txt        2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -10,10 +10,10 @@
</span><span class="cx"> Test #10 Passed.
</span><span class="cx"> Test #11 Passed.
</span><span class="cx"> Test #12 Passed.
</span><del>-Test #13 Passed.
-Test #14 Passed.
</del><ins>+Failed Test #13 because the offsetTop of t11 and t14 did not match the expected value of 470. They were 620 instead.
+Failed Test #14 because the offsetTop of t12 and t15 were not the same. 470 and 620.
</ins><span class="cx"> Test #15 Passed.
</span><del>-Test #16 Passed.
-Test #17 Passed.
</del><ins>+Failed Test #16 because the offsetLeft of t14 and t15 were not the same. 87 and 37.
+Failed Test #17 because the offsetLeft of t11 and t12 were not the same. 172 and 87.
</ins><span class="cx"> Test #18 Passed.
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastmulticoloffsettoplefthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/multicol/offset-top-left.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/multicol/offset-top-left.html     2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/multicol/offset-top-left.html        2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -6,12 +6,14 @@
</span><span class="cx"> 
</span><span class="cx">             .columns {
</span><span class="cx">                 -webkit-column-count:2;
</span><del>-                -webkit-column-gap:50px;
-                inline-size:250px;
-                block-size:145px;
</del><ins>+                -webkit-column-gap:60px;
+                inline-size:254px;
+                block-size:149px;
</ins><span class="cx">                 margin: 20px;
</span><span class="cx">                 border:2px solid black;
</span><span class="cx">                 -webkit-column-rule: 1px solid maroon;
</span><ins>+                padding: 5px;
+                box-sizing: border-box;
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             #t1, #t6 {
</span><span class="lines">@@ -18,14 +20,14 @@
</span><span class="cx">                 -webkit-column-break-after: always;
</span><span class="cx">             }
</span><span class="cx">         
</span><del>-            .columns div { block-size:50px; background-color:green; margin:5px; -webkit-margin-collapse:separate }
</del><ins>+            .columns div { block-size:50px; background-color:green; }
</ins><span class="cx">             
</span><del>-            .columns div.span { margin:0; block-size:25px; background-color:orange; -webkit-column-span:all; margin-inline-start: 5px; margin-inline-end: 5px }
</del><ins>+            .columns div.span { margin-block: 5px; block-size:25px; background-color:orange; -webkit-column-span:all; }
</ins><span class="cx"> 
</span><span class="cx">             .fail #pass, .pass #fail { display: none; }
</span><span class="cx">             
</span><del>-            .vertical { -webkit-writing-mode: vertical-lr }
-            .vertical-flipped {  -webkit-writing-mode: vertical-rl }
</del><ins>+            .vertical { writing-mode: vertical-lr }
+            .vertical-flipped { writing-mode: vertical-rl }
</ins><span class="cx">         </style>
</span><span class="cx">     </head>
</span><span class="cx"> 
</span><span class="lines">@@ -101,6 +103,7 @@
</span><span class="cx">             testOffsetLeft(122, "t6", "t7", 11);
</span><span class="cx">             testOffsetLeft(92, "t8", "t8", 12);
</span><span class="cx">         
</span><ins>+            // FIXME: <webkit.org/b/234664> Visual offsets are correct, but not JS values, for flipped-writing mode only
</ins><span class="cx">             testOffsetTop(470, "t11", "t14", 13);
</span><span class="cx">             testOffsetTop(620, "t12", "t15", 14);
</span><span class="cx">             testOffsetTop(470, "t13", "t13", 15);
</span></span></pre></div>
<a id="trunkLayoutTestsfasttexttextcombinecrashhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/text/text-combine-crash.html (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/text/text-combine-crash.html      2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/fast/text/text-combine-crash.html 2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -327,7 +327,7 @@
</span><span class="cx"> </script>
</span><span class="cx"> <script>
</span><span class="cx"> function webtest_fn_19() {
</span><del>-document.getElementById("webtest8").setAttribute("style","-webkit-animation-direction:alternate;-webkit-margin-top-collapse:separate;-webkit-column-width:auto;");
</del><ins>+document.getElementById("webtest8").setAttribute("style","-webkit-animation-direction:alternate;-webkit-column-width:auto;");
</ins><span class="cx"> }
</span><span class="cx"> webtest_fn_19();
</span><span class="cx"> </script>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/imported/w3c/ChangeLog    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2021-12-24  Tim Nguyen  <ntim@apple.com>
+
+        Remove non-standard -webkit-margin-collapse CSS property and longhands
+        https://bugs.webkit.org/show_bug.cgi?id=190788
+
+        Reviewed by Simon Fraser.
+
+        * web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
+        * web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
+
</ins><span class="cx"> 2021-12-22  Antti Koivisto  <antti@apple.com>
</span><span class="cx"> 
</span><span class="cx">         [:has() pseudo-class] :has() selector invalidation issue with toggling :checked
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscsscascadeallpropinitialxmlexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt      2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt 2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -370,10 +370,6 @@
</span><span class="cx"> PASS -webkit-line-grid
</span><span class="cx"> PASS -webkit-line-snap
</span><span class="cx"> PASS -webkit-locale
</span><del>-PASS -webkit-margin-after-collapse
-PASS -webkit-margin-before-collapse
-PASS -webkit-margin-bottom-collapse
-PASS -webkit-margin-top-collapse
</del><span class="cx"> PASS -webkit-mask-box-image
</span><span class="cx"> PASS -webkit-mask-box-image-outset
</span><span class="cx"> PASS -webkit-mask-box-image-repeat
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssomgetComputedStyledetachedsubtreeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> 
</span><span class="cx"> PASS getComputedStyle returns no style for detached element
</span><del>-FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 399
-FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 399
-FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 399
-FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 399
</del><ins>+FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 395
+FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 395
+FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 395
+FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 395
</ins><span class="cx"> PASS getComputedStyle returns no style for shadow tree outside of flattened tree
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformglibfastcssgetComputedStylecomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/glib/fast/css/getComputedStyle/computed-style-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/glib/fast/css/getComputedStyle/computed-style-expected.txt    2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/glib/fast/css/getComputedStyle/computed-style-expected.txt       2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -232,8 +232,6 @@
</span><span class="cx"> -webkit-line-grid: none;
</span><span class="cx"> -webkit-line-snap: none;
</span><span class="cx"> -webkit-locale: auto;
</span><del>--webkit-margin-after-collapse: collapse;
--webkit-margin-before-collapse: collapse;
</del><span class="cx"> -webkit-mask-box-image: none;
</span><span class="cx"> -webkit-mask-box-image-outset: 0;
</span><span class="cx"> -webkit-mask-box-image-repeat: stretch;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformglibfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt   2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt      2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -231,8 +231,6 @@
</span><span class="cx"> -webkit-line-grid: none
</span><span class="cx"> -webkit-line-snap: none
</span><span class="cx"> -webkit-locale: auto
</span><del>--webkit-margin-after-collapse: collapse
--webkit-margin-before-collapse: collapse
</del><span class="cx"> -webkit-mask-box-image: none
</span><span class="cx"> -webkit-mask-box-image-outset: 0
</span><span class="cx"> -webkit-mask-box-image-repeat: stretch
</span></span></pre></div>
<a id="trunkLayoutTestsplatformglibsvgcssgetComputedStylebasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/glib/svg/css/getComputedStyle-basic-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/glib/svg/css/getComputedStyle-basic-expected.txt      2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/glib/svg/css/getComputedStyle-basic-expected.txt 2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -462,10 +462,6 @@
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-line-snap) : [object CSSPrimitiveValue]
</span><span class="cx"> rect: style.getPropertyValue(-webkit-locale) : auto
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-locale) : [object CSSPrimitiveValue]
</span><del>-rect: style.getPropertyValue(-webkit-margin-after-collapse) : collapse
-rect: style.getPropertyCSSValue(-webkit-margin-after-collapse) : [object CSSPrimitiveValue]
-rect: style.getPropertyValue(-webkit-margin-before-collapse) : collapse
-rect: style.getPropertyCSSValue(-webkit-margin-before-collapse) : [object CSSPrimitiveValue]
</del><span class="cx"> rect: style.getPropertyValue(-webkit-mask-box-image) : none
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-mask-box-image) : [object CSSPrimitiveValue]
</span><span class="cx"> rect: style.getPropertyValue(-webkit-mask-box-image-outset) : 0
</span><span class="lines">@@ -978,10 +974,6 @@
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-line-snap) : [object CSSPrimitiveValue]
</span><span class="cx"> g: style.getPropertyValue(-webkit-locale) : auto
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-locale) : [object CSSPrimitiveValue]
</span><del>-g: style.getPropertyValue(-webkit-margin-after-collapse) : collapse
-g: style.getPropertyCSSValue(-webkit-margin-after-collapse) : [object CSSPrimitiveValue]
-g: style.getPropertyValue(-webkit-margin-before-collapse) : collapse
-g: style.getPropertyCSSValue(-webkit-margin-before-collapse) : [object CSSPrimitiveValue]
</del><span class="cx"> g: style.getPropertyValue(-webkit-mask-box-image) : none
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-mask-box-image) : [object CSSPrimitiveValue]
</span><span class="cx"> g: style.getPropertyValue(-webkit-mask-box-image-outset) : 0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkimportedw3cwebplatformtestscsscssomgetComputedStyledetachedsubtreeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt  2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt     2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> 
</span><span class="cx"> PASS getComputedStyle returns no style for detached element
</span><del>-FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 396
-FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 396
-FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 396
-FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 396
</del><ins>+FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 392
+FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 392
+FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 392
+FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 392
</ins><span class="cx"> PASS getComputedStyle returns no style for shadow tree outside of flattened tree
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiosfastcssgetComputedStylecomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-expected.txt     2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-expected.txt        2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -232,8 +232,6 @@
</span><span class="cx"> -webkit-line-grid: none;
</span><span class="cx"> -webkit-line-snap: none;
</span><span class="cx"> -webkit-locale: auto;
</span><del>--webkit-margin-after-collapse: collapse;
--webkit-margin-before-collapse: collapse;
</del><span class="cx"> -webkit-mask-box-image: none;
</span><span class="cx"> -webkit-mask-box-image-outset: 0;
</span><span class="cx"> -webkit-mask-box-image-repeat: stretch;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiosfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt    2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt       2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -231,8 +231,6 @@
</span><span class="cx"> -webkit-line-grid: none
</span><span class="cx"> -webkit-line-snap: none
</span><span class="cx"> -webkit-locale: auto
</span><del>--webkit-margin-after-collapse: collapse
--webkit-margin-before-collapse: collapse
</del><span class="cx"> -webkit-mask-box-image: none
</span><span class="cx"> -webkit-mask-box-image-outset: 0
</span><span class="cx"> -webkit-mask-box-image-repeat: stretch
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiosimportedw3cwebplatformtestscsscsscascadeallpropinitialxmlexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -339,10 +339,6 @@
</span><span class="cx"> PASS -webkit-line-grid
</span><span class="cx"> PASS -webkit-line-snap
</span><span class="cx"> PASS -webkit-locale
</span><del>-PASS -webkit-margin-after-collapse
-PASS -webkit-margin-before-collapse
-PASS -webkit-margin-bottom-collapse
-PASS -webkit-margin-top-collapse
</del><span class="cx"> PASS -webkit-mask-box-image
</span><span class="cx"> PASS -webkit-mask-box-image-outset
</span><span class="cx"> PASS -webkit-mask-box-image-repeat
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiosimportedw3cwebplatformtestscsscssomgetComputedStyledetachedsubtreeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt  2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt     2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> 
</span><span class="cx"> PASS getComputedStyle returns no style for detached element
</span><del>-FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 400
-FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 400
-FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 400
-FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 400
</del><ins>+FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 397
+FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 397
+FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 397
+FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 397
</ins><span class="cx"> PASS getComputedStyle returns no style for shadow tree outside of flattened tree
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossvgcssgetComputedStylebasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios/svg/css/getComputedStyle-basic-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios/svg/css/getComputedStyle-basic-expected.txt       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/ios/svg/css/getComputedStyle-basic-expected.txt  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -462,10 +462,6 @@
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-line-snap) : [object CSSPrimitiveValue]
</span><span class="cx"> rect: style.getPropertyValue(-webkit-locale) : auto
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-locale) : [object CSSPrimitiveValue]
</span><del>-rect: style.getPropertyValue(-webkit-margin-after-collapse) : collapse
-rect: style.getPropertyCSSValue(-webkit-margin-after-collapse) : [object CSSPrimitiveValue]
-rect: style.getPropertyValue(-webkit-margin-before-collapse) : collapse
-rect: style.getPropertyCSSValue(-webkit-margin-before-collapse) : [object CSSPrimitiveValue]
</del><span class="cx"> rect: style.getPropertyValue(-webkit-mask-box-image) : none
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-mask-box-image) : [object CSSPrimitiveValue]
</span><span class="cx"> rect: style.getPropertyValue(-webkit-mask-box-image-outset) : 0
</span><span class="lines">@@ -972,10 +968,6 @@
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-line-snap) : [object CSSPrimitiveValue]
</span><span class="cx"> g: style.getPropertyValue(-webkit-locale) : auto
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-locale) : [object CSSPrimitiveValue]
</span><del>-g: style.getPropertyValue(-webkit-margin-after-collapse) : collapse
-g: style.getPropertyCSSValue(-webkit-margin-after-collapse) : [object CSSPrimitiveValue]
-g: style.getPropertyValue(-webkit-margin-before-collapse) : collapse
-g: style.getPropertyCSSValue(-webkit-margin-before-collapse) : [object CSSPrimitiveValue]
</del><span class="cx"> g: style.getPropertyValue(-webkit-mask-box-image) : none
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-mask-box-image) : [object CSSPrimitiveValue]
</span><span class="cx"> g: style.getPropertyValue(-webkit-mask-box-image-outset) : 0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfastcssgetComputedStylecomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt     2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt        2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -232,8 +232,6 @@
</span><span class="cx"> -webkit-line-grid: none;
</span><span class="cx"> -webkit-line-snap: none;
</span><span class="cx"> -webkit-locale: auto;
</span><del>--webkit-margin-after-collapse: collapse;
--webkit-margin-before-collapse: collapse;
</del><span class="cx"> -webkit-mask-box-image: none;
</span><span class="cx"> -webkit-mask-box-image-outset: 0;
</span><span class="cx"> -webkit-mask-box-image-repeat: stretch;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt    2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt       2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -231,8 +231,6 @@
</span><span class="cx"> -webkit-line-grid: none
</span><span class="cx"> -webkit-line-snap: none
</span><span class="cx"> -webkit-locale: auto
</span><del>--webkit-margin-after-collapse: collapse
--webkit-margin-before-collapse: collapse
</del><span class="cx"> -webkit-mask-box-image: none
</span><span class="cx"> -webkit-mask-box-image-outset: 0
</span><span class="cx"> -webkit-mask-box-image-repeat: stretch
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgcssgetComputedStylebasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.txt       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.txt  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -462,10 +462,6 @@
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-line-snap) : [object CSSPrimitiveValue]
</span><span class="cx"> rect: style.getPropertyValue(-webkit-locale) : auto
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-locale) : [object CSSPrimitiveValue]
</span><del>-rect: style.getPropertyValue(-webkit-margin-after-collapse) : collapse
-rect: style.getPropertyCSSValue(-webkit-margin-after-collapse) : [object CSSPrimitiveValue]
-rect: style.getPropertyValue(-webkit-margin-before-collapse) : collapse
-rect: style.getPropertyCSSValue(-webkit-margin-before-collapse) : [object CSSPrimitiveValue]
</del><span class="cx"> rect: style.getPropertyValue(-webkit-mask-box-image) : none
</span><span class="cx"> rect: style.getPropertyCSSValue(-webkit-mask-box-image) : [object CSSPrimitiveValue]
</span><span class="cx"> rect: style.getPropertyValue(-webkit-mask-box-image-outset) : 0
</span><span class="lines">@@ -972,10 +968,6 @@
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-line-snap) : [object CSSPrimitiveValue]
</span><span class="cx"> g: style.getPropertyValue(-webkit-locale) : auto
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-locale) : [object CSSPrimitiveValue]
</span><del>-g: style.getPropertyValue(-webkit-margin-after-collapse) : collapse
-g: style.getPropertyCSSValue(-webkit-margin-after-collapse) : [object CSSPrimitiveValue]
-g: style.getPropertyValue(-webkit-margin-before-collapse) : collapse
-g: style.getPropertyCSSValue(-webkit-margin-before-collapse) : [object CSSPrimitiveValue]
</del><span class="cx"> g: style.getPropertyValue(-webkit-mask-box-image) : none
</span><span class="cx"> g: style.getPropertyCSSValue(-webkit-mask-box-image) : [object CSSPrimitiveValue]
</span><span class="cx"> g: style.getPropertyValue(-webkit-mask-box-image-outset) : 0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwpeimportedw3cwebplatformtestscsscssomgetComputedStyledetachedsubtreeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt  2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt     2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> 
</span><span class="cx"> PASS getComputedStyle returns no style for detached element
</span><del>-FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 395
-FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 395
-FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 395
-FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 395
</del><ins>+FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 391
+FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 391
+FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 391
+FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 391
</ins><span class="cx"> PASS getComputedStyle returns no style for shadow tree outside of flattened tree
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/ChangeLog      2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,3 +1,68 @@
</span><ins>+2021-12-24  Tim Nguyen  <ntim@apple.com>
+
+        Remove non-standard -webkit-margin-collapse CSS property and longhands
+        https://bugs.webkit.org/show_bug.cgi?id=190788
+
+        Reviewed by Simon Fraser.
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
+        * css/CSSPrimitiveValueMappings.h:
+        (WebCore::CSSPrimitiveValue::operator MarginCollapse const): Deleted.
+        * css/CSSProperties.json:
+        * css/StyleProperties.cpp:
+        (WebCore::StyleProperties::getPropertyValue const):
+        * css/parser/CSSParserFastPaths.cpp:
+        (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+        (WebCore::CSSParserFastPaths::isKeywordPropertyID):
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::CSSPropertyParser::parseShorthand):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::isSelfCollapsingBlock const):
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
+        (WebCore::RenderBlockFlow::layoutBlockChild):
+        (WebCore::RenderBlockFlow::collapseMarginsWithChildInfo):
+        (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
+        (WebCore::RenderBlockFlow::marginBeforeEstimateForChild const):
+        (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
+        (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
+        (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
+        (WebCore::RenderBlockFlow::setMustDiscardMarginBefore): Deleted.
+        (WebCore::RenderBlockFlow::setMustDiscardMarginAfter): Deleted.
+        (WebCore::RenderBlockFlow::mustDiscardMarginBefore const): Deleted.
+        (WebCore::RenderBlockFlow::mustDiscardMarginAfter const): Deleted.
+        (WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild const): Deleted.
+        (WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild const): Deleted.
+        (WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild const): Deleted.
+        (WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild const): Deleted.
+        * rendering/RenderBlockFlow.h:
+        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
+        (WebCore::RenderBlockFlow::MarginInfo::setPositiveMargin):
+        (WebCore::RenderBlockFlow::MarginInfo::setNegativeMargin):
+        (WebCore::RenderBlockFlow::MarginInfo::setPositiveMarginIfLarger):
+        (WebCore::RenderBlockFlow::MarginInfo::setNegativeMarginIfLarger):
+        (WebCore::RenderBlockFlow::MarginInfo::setMargin):
+        (WebCore::RenderBlockFlow::MarginInfo::setCanCollapseMarginAfterWithChildren):
+        (WebCore::RenderBlockFlow::MarginInfo::negativeMargin const):
+        (WebCore::RenderBlockFlow::initMaxMarginValues):
+        (WebCore::RenderBlockFlow::MarginInfo::setDiscardMargin): Deleted.
+        (WebCore::RenderBlockFlow::MarginInfo::discardMargin const): Deleted.
+        * rendering/style/RenderStyle.h:
+        (WebCore::RenderStyle::textOverflow const):
+        (WebCore::RenderStyle::setTextOverflow):
+        (WebCore::RenderStyle::initialTextOverflow):
+        (WebCore::RenderStyle::marginBeforeCollapse const): Deleted.
+        (WebCore::RenderStyle::marginAfterCollapse const): Deleted.
+        (WebCore::RenderStyle::setMarginBeforeCollapse): Deleted.
+        (WebCore::RenderStyle::setMarginAfterCollapse): Deleted.
+        (WebCore::RenderStyle::initialMarginBeforeCollapse): Deleted.
+        (WebCore::RenderStyle::initialMarginAfterCollapse): Deleted.
+        * rendering/style/RenderStyleConstants.cpp:
+        * rendering/style/RenderStyleConstants.h:
+        * rendering/style/StyleRareNonInheritedData.cpp:
+        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+
</ins><span class="cx"> 2021-12-24  Frederic Wang  <fwang@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         Simplify test for startOfLastParagraph in InsertListCommand::doApply
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -3688,12 +3688,6 @@
</span><span class="cx">             auto size = !style.initialLetterHeight() ? cssValuePool.createIdentifierValue(CSSValueNormal) : cssValuePool.createValue(style.initialLetterHeight(), CSSUnitType::CSS_NUMBER);
</span><span class="cx">             return cssValuePool.createValue(Pair::create(WTFMove(drop), WTFMove(size)));
</span><span class="cx">         }
</span><del>-        case CSSPropertyWebkitMarginBottomCollapse:
-        case CSSPropertyWebkitMarginAfterCollapse:
-            return cssValuePool.createValue(style.marginAfterCollapse());
-        case CSSPropertyWebkitMarginTopCollapse:
-        case CSSPropertyWebkitMarginBeforeCollapse:
-            return cssValuePool.createValue(style.marginBeforeCollapse());
</del><span class="cx"> #if ENABLE(OVERFLOW_SCROLLING_TOUCH)
</span><span class="cx">         case CSSPropertyWebkitOverflowScrolling:
</span><span class="cx">             if (!style.useTouchOverflowScrolling())
</span><span class="lines">@@ -4171,7 +4165,6 @@
</span><span class="cx"> 
</span><span class="cx">         /* Unimplemented -webkit- properties */
</span><span class="cx">         case CSSPropertyWebkitBorderRadius:
</span><del>-        case CSSPropertyWebkitMarginCollapse:
</del><span class="cx">         case CSSPropertyWebkitMarqueeDirection:
</span><span class="cx">         case CSSPropertyWebkitMarqueeIncrement:
</span><span class="cx">         case CSSPropertyWebkitMarqueeRepetition:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPrimitiveValueMappingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h     2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h        2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1804,42 +1804,6 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-template<> inline CSSPrimitiveValue::CSSPrimitiveValue(MarginCollapse e)
-    : CSSValue(PrimitiveClass)
-{
-    setPrimitiveUnitType(CSSUnitType::CSS_VALUE_ID);
-    switch (e) {
-    case MarginCollapse::Collapse:
-        m_value.valueID = CSSValueCollapse;
-        break;
-    case MarginCollapse::Separate:
-        m_value.valueID = CSSValueSeparate;
-        break;
-    case MarginCollapse::Discard:
-        m_value.valueID = CSSValueDiscard;
-        break;
-    }
-}
-
-template<> inline CSSPrimitiveValue::operator MarginCollapse() const
-{
-    ASSERT(isValueID());
-
-    switch (m_value.valueID) {
-    case CSSValueCollapse:
-        return MarginCollapse::Collapse;
-    case CSSValueSeparate:
-        return MarginCollapse::Separate;
-    case CSSValueDiscard:
-        return MarginCollapse::Discard;
-    default:
-        break;
-    }
-
-    ASSERT_NOT_REACHED();
-    return MarginCollapse::Collapse;
-}
-
</del><span class="cx"> template<> inline CSSPrimitiveValue::CSSPrimitiveValue(MarqueeBehavior e)
</span><span class="cx">     : CSSValue(PrimitiveClass)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPropertiesjson"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSProperties.json (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSProperties.json      2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/css/CSSProperties.json 2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -6321,63 +6321,6 @@
</span><span class="cx">                 "url": "https://www.w3.org/TR/css-line-grid-1/#box-snap"
</span><span class="cx">             }
</span><span class="cx">         },
</span><del>-        "-webkit-margin-after-collapse": {
-            "values": [
-                "collapse",
-                "separate",
-                "discard"
-            ],
-            "status": {
-                "status": "experimental"
-            }
-        },
-        "-webkit-margin-before-collapse": {
-            "values": [
-                "collapse",
-                "separate",
-                "discard"
-            ],
-            "status": {
-                "status": "experimental"
-            }
-        },
-        "-webkit-margin-bottom-collapse": {
-            "values": [
-                "collapse",
-                "separate",
-                "discard"
-            ],
-            "codegen-properties": {
-                "name-for-methods": "MarginAfterCollapse"
-            },
-            "status": {
-                "status": "experimental"
-            }
-        },
-        "-webkit-margin-top-collapse": {
-            "values": [
-                "collapse",
-                "separate",
-                "discard"
-            ],
-            "codegen-properties": {
-                "name-for-methods": "MarginBeforeCollapse"
-            },
-            "status": {
-                "status": "experimental"
-            }
-        },
-        "-webkit-margin-collapse": {
-            "codegen-properties": {
-                "longhands": [
-                    "-webkit-margin-before-collapse",
-                    "-webkit-margin-after-collapse"
-                ]
-            },
-            "status": {
-                "status": "experimental"
-            }
-        },
</del><span class="cx">         "-webkit-marquee-direction": {
</span><span class="cx">             "codegen-properties": {
</span><span class="cx">                 "internal-only": true
</span></span></pre></div>
<a id="trunkSourceWebCorecssStylePropertiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleProperties.cpp (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleProperties.cpp     2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/css/StyleProperties.cpp        2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -285,8 +285,6 @@
</span><span class="cx">         return get2Values(marginBlockShorthand());
</span><span class="cx">     case CSSPropertyMarginInline:
</span><span class="cx">         return get2Values(marginInlineShorthand());
</span><del>-    case CSSPropertyWebkitMarginCollapse:
-        return getShorthandValue(webkitMarginCollapseShorthand());
</del><span class="cx">     case CSSPropertyOverflow:
</span><span class="cx">         return get2Values(overflowShorthand());
</span><span class="cx">     case CSSPropertyOverscrollBehavior:
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSParserFastPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp   2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp      2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -802,11 +802,6 @@
</span><span class="cx">         return valueID == CSSValueAuto || valueID == CSSValueLoose || valueID == CSSValueNormal || valueID == CSSValueStrict || valueID == CSSValueAfterWhiteSpace || valueID == CSSValueAnywhere;
</span><span class="cx">     case CSSPropertyWebkitLineSnap:
</span><span class="cx">         return valueID == CSSValueNone || valueID == CSSValueBaseline || valueID == CSSValueContain;
</span><del>-    case CSSPropertyWebkitMarginAfterCollapse:
-    case CSSPropertyWebkitMarginBeforeCollapse:
-    case CSSPropertyWebkitMarginBottomCollapse:
-    case CSSPropertyWebkitMarginTopCollapse:
-        return valueID == CSSValueCollapse || valueID == CSSValueSeparate || valueID == CSSValueDiscard;
</del><span class="cx">     case CSSPropertyWebkitPrintColorAdjust:
</span><span class="cx">         return valueID == CSSValueExact || valueID == CSSValueEconomy;
</span><span class="cx">     case CSSPropertyWebkitRtlOrdering:
</span><span class="lines">@@ -974,10 +969,6 @@
</span><span class="cx">     case CSSPropertyWebkitLineAlign:
</span><span class="cx">     case CSSPropertyLineBreak:
</span><span class="cx">     case CSSPropertyWebkitLineSnap:
</span><del>-    case CSSPropertyWebkitMarginAfterCollapse:
-    case CSSPropertyWebkitMarginBeforeCollapse:
-    case CSSPropertyWebkitMarginBottomCollapse:
-    case CSSPropertyWebkitMarginTopCollapse:
</del><span class="cx">     case CSSPropertyWebkitMarqueeDirection:
</span><span class="cx">     case CSSPropertyWebkitMarqueeStyle:
</span><span class="cx">     case CSSPropertyWebkitNbspMode:
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSPropertyParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp    2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp       2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -6113,21 +6113,6 @@
</span><span class="cx"> bool CSSPropertyParser::parseShorthand(CSSPropertyID property, bool important)
</span><span class="cx"> {
</span><span class="cx">     switch (property) {
</span><del>-    case CSSPropertyWebkitMarginCollapse: {
-        CSSValueID id = m_range.consumeIncludingWhitespace().id();
-        if (!CSSParserFastPaths::isValidKeywordPropertyAndValue(CSSPropertyWebkitMarginBeforeCollapse, id, m_context))
-            return false;
-        addProperty(CSSPropertyWebkitMarginBeforeCollapse, CSSPropertyWebkitMarginCollapse, CSSValuePool::singleton().createIdentifierValue(id), important);
-        if (m_range.atEnd()) {
-            addProperty(CSSPropertyWebkitMarginAfterCollapse, CSSPropertyWebkitMarginCollapse, CSSValuePool::singleton().createIdentifierValue(id), important);
-            return true;
-        }
-        id = m_range.consumeIncludingWhitespace().id();
-        if (!CSSParserFastPaths::isValidKeywordPropertyAndValue(CSSPropertyWebkitMarginAfterCollapse, id, m_context))
-            return false;
-        addProperty(CSSPropertyWebkitMarginAfterCollapse, CSSPropertyWebkitMarginCollapse, CSSValuePool::singleton().createIdentifierValue(id), important);
-        return true;
-    }
</del><span class="cx">     case CSSPropertyOverflow:
</span><span class="cx">         return consumeOverflowShorthand(important);
</span><span class="cx">     case CSSPropertyOverscrollBehavior:
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.cpp   2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp      2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -492,8 +492,7 @@
</span><span class="cx">     // (e) have specified that one of our margins can't collapse using a CSS extension
</span><span class="cx">     if (logicalHeight() > 0
</span><span class="cx">         || isTable() || borderAndPaddingLogicalHeight()
</span><del>-        || style().logicalMinHeight().isPositive()
-        || style().marginBeforeCollapse() == MarginCollapse::Separate || style().marginAfterCollapse() == MarginCollapse::Separate)
</del><ins>+        || style().logicalMinHeight().isPositive())
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     Length logicalHeightLength = style().logicalHeight();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -91,13 +91,12 @@
</span><span class="cx">     , m_hasMarginBeforeQuirk(false)
</span><span class="cx">     , m_hasMarginAfterQuirk(false)
</span><span class="cx">     , m_determinedMarginBeforeQuirk(false)
</span><del>-    , m_discardMargin(false)
</del><span class="cx"> {
</span><span class="cx">     const RenderStyle& blockStyle = block.style();
</span><span class="cx">     ASSERT(block.isRenderView() || block.parent());
</span><span class="cx">     m_canCollapseWithChildren = !block.createsNewFormattingContext() && !block.isRenderView();
</span><span class="cx"> 
</span><del>-    m_canCollapseMarginBeforeWithChildren = m_canCollapseWithChildren && !beforeBorderPadding && blockStyle.marginBeforeCollapse() != MarginCollapse::Separate;
</del><ins>+    m_canCollapseMarginBeforeWithChildren = m_canCollapseWithChildren && !beforeBorderPadding;
</ins><span class="cx"> 
</span><span class="cx">     // If any height other than auto is specified in CSS, then we don't collapse our bottom
</span><span class="cx">     // margins with our children's margins. To do otherwise would be to risk odd visual
</span><span class="lines">@@ -104,14 +103,12 @@
</span><span class="cx">     // effects when the children overflow out of the parent block and yet still collapse
</span><span class="cx">     // with it. We also don't collapse if we have any bottom border/padding.
</span><span class="cx">     m_canCollapseMarginAfterWithChildren = m_canCollapseWithChildren && !afterBorderPadding
</span><del>-        && (blockStyle.logicalHeight().isAuto() && !blockStyle.logicalHeight().value()) && blockStyle.marginAfterCollapse() != MarginCollapse::Separate;
</del><ins>+        && blockStyle.logicalHeight().isAuto() && !blockStyle.logicalHeight().value();
</ins><span class="cx">     
</span><span class="cx">     m_quirkContainer = block.isTableCell() || block.isBody();
</span><span class="cx"> 
</span><del>-    m_discardMargin = m_canCollapseMarginBeforeWithChildren && block.mustDiscardMarginBefore();
-
-    m_positiveMargin = (m_canCollapseMarginBeforeWithChildren && !block.mustDiscardMarginBefore()) ? block.maxPositiveMarginBefore() : 0_lu;
-    m_negativeMargin = (m_canCollapseMarginBeforeWithChildren && !block.mustDiscardMarginBefore()) ? block.maxNegativeMarginBefore() : 0_lu;
</del><ins>+    m_positiveMargin = m_canCollapseMarginBeforeWithChildren ? block.maxPositiveMarginBefore() : 0_lu;
+    m_negativeMargin = m_canCollapseMarginBeforeWithChildren ? block.maxNegativeMarginBefore() : 0_lu;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RenderBlockFlow::RenderBlockFlow(Element& element, RenderStyle&& style)
</span><span class="lines">@@ -823,10 +820,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Update our height now that the child has been placed in the correct position.
</span><span class="cx">     setLogicalHeight(logicalHeight() + logicalHeightForChildForFragmentation(child));
</span><del>-    if (mustSeparateMarginAfterForChild(child)) {
-        setLogicalHeight(logicalHeight() + marginAfterForChild(child));
-        marginInfo.clearMargin();
-    }
</del><ins>+
</ins><span class="cx">     // If the child has overhanging floats that intrude into following siblings (or possibly out
</span><span class="cx">     // of this block), then the parent gets notified of the floats now.
</span><span class="cx">     if (childBlockFlow && childBlockFlow->containsFloats())
</span><span class="lines">@@ -1064,15 +1058,10 @@
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit RenderBlockFlow::collapseMarginsWithChildInfo(RenderBox* child, RenderObject* prevSibling, MarginInfo& marginInfo)
</span><span class="cx"> {
</span><del>-    bool childDiscardMarginBefore = child ? mustDiscardMarginBeforeForChild(*child) : false;
-    bool childDiscardMarginAfter = child ? mustDiscardMarginAfterForChild(*child) : false;
</del><span class="cx">     bool childIsSelfCollapsing = child ? child->isSelfCollapsingBlock() : false;
</span><span class="cx">     bool beforeQuirk = child ? hasMarginBeforeQuirk(*child) : false;
</span><span class="cx">     bool afterQuirk = child ? hasMarginAfterQuirk(*child) : false;
</span><del>-    
-    // The child discards the before margin when the after margin has discarded in the case of a self collapsing block.
-    childDiscardMarginBefore = childDiscardMarginBefore || (childDiscardMarginAfter && childIsSelfCollapsing);
-    
</del><ins>+
</ins><span class="cx">     // Get the four margin values for the child and cache them.
</span><span class="cx">     const MarginValues childMargins = child ? marginValuesForChild(*child) : MarginValues(0, 0, 0, 0);
</span><span class="cx"> 
</span><span class="lines">@@ -1086,43 +1075,33 @@
</span><span class="cx">         posTop = std::max(posTop, childMargins.positiveMarginAfter());
</span><span class="cx">         negTop = std::max(negTop, childMargins.negativeMarginAfter());
</span><span class="cx">     }
</span><del>-    
</del><ins>+
</ins><span class="cx">     if (marginInfo.canCollapseWithMarginBefore()) {
</span><del>-        if (!childDiscardMarginBefore && !marginInfo.discardMargin()) {
-            // This child is collapsing with the top of the
-            // block. If it has larger margin values, then we need to update
-            // our own maximal values.
-            if (!document().inQuirksMode() || !marginInfo.quirkContainer() || !beforeQuirk)
-                setMaxMarginBeforeValues(std::max(posTop, maxPositiveMarginBefore()), std::max(negTop, maxNegativeMarginBefore()));
</del><ins>+        // This child is collapsing with the top of the
+        // block. If it has larger margin values, then we need to update
+        // our own maximal values.
+        if (!document().inQuirksMode() || !marginInfo.quirkContainer() || !beforeQuirk)
+            setMaxMarginBeforeValues(std::max(posTop, maxPositiveMarginBefore()), std::max(negTop, maxNegativeMarginBefore()));
</ins><span class="cx"> 
</span><del>-            // The minute any of the margins involved isn't a quirk, don't
-            // collapse it away, even if the margin is smaller (www.webreference.com
-            // has an example of this, a <dt> with 0.8em author-specified inside
-            // a <dl> inside a <td>.
-            if (!marginInfo.determinedMarginBeforeQuirk() && !beforeQuirk && (posTop - negTop)) {
-                setHasMarginBeforeQuirk(false);
-                marginInfo.setDeterminedMarginBeforeQuirk(true);
-            }
</del><ins>+        // The minute any of the margins involved isn't a quirk, don't
+        // collapse it away, even if the margin is smaller (www.webreference.com
+        // has an example of this, a <dt> with 0.8em author-specified inside
+        // a <dl> inside a <td>.
+        if (!marginInfo.determinedMarginBeforeQuirk() && !beforeQuirk && (posTop - negTop)) {
+            setHasMarginBeforeQuirk(false);
+            marginInfo.setDeterminedMarginBeforeQuirk(true);
+        }
</ins><span class="cx"> 
</span><del>-            if (!marginInfo.determinedMarginBeforeQuirk() && beforeQuirk && !marginBefore()) {
-                // We have no top margin and our top child has a quirky margin.
-                // We will pick up this quirky margin and pass it through.
-                // This deals with the <td><div><p> case.
-                // Don't do this for a block that split two inlines though. You do
-                // still apply margins in this case.
-                setHasMarginBeforeQuirk(true);
-            }
-        } else
-            // The before margin of the container will also discard all the margins it is collapsing with.
-            setMustDiscardMarginBefore();
</del><ins>+        if (!marginInfo.determinedMarginBeforeQuirk() && beforeQuirk && !marginBefore()) {
+            // We have no top margin and our top child has a quirky margin.
+            // We will pick up this quirky margin and pass it through.
+            // This deals with the <td><div><p> case.
+            // Don't do this for a block that split two inlines though. You do
+            // still apply margins in this case.
+            setHasMarginBeforeQuirk(true);
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // Once we find a child with discardMarginBefore all the margins collapsing with us must also discard. 
-    if (childDiscardMarginBefore) {
-        marginInfo.setDiscardMargin(true);
-        marginInfo.clearMargin();
-    }
-
</del><span class="cx">     if (marginInfo.quirkContainer() && marginInfo.atBeforeSideOfBlock() && (posTop - negTop))
</span><span class="cx">         marginInfo.setHasMarginBeforeQuirk(beforeQuirk);
</span><span class="cx"> 
</span><span class="lines">@@ -1140,40 +1119,28 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (childIsSelfCollapsing) {
</span><del>-        // For a self collapsing block both the before and after margins get discarded. The block doesn't contribute anything to the height of the block.
-        // Also, the child's top position equals the logical height of the container.
-        if (!childDiscardMarginBefore && !marginInfo.discardMargin()) {
-            // This child has no height. We need to compute our
-            // position before we collapse the child's margins together,
-            // so that we can get an accurate position for the zero-height block.
-            LayoutUnit collapsedBeforePos = std::max(marginInfo.positiveMargin(), childMargins.positiveMarginBefore());
-            LayoutUnit collapsedBeforeNeg = std::max(marginInfo.negativeMargin(), childMargins.negativeMarginBefore());
-            marginInfo.setMargin(collapsedBeforePos, collapsedBeforeNeg);
-            
-            // Now collapse the child's margins together, which means examining our
-            // bottom margin values as well. 
-            marginInfo.setPositiveMarginIfLarger(childMargins.positiveMarginAfter());
-            marginInfo.setNegativeMarginIfLarger(childMargins.negativeMarginAfter());
</del><ins>+        // This child has no height. We need to compute our
+        // position before we collapse the child's margins together,
+        // so that we can get an accurate position for the zero-height block.
+        LayoutUnit collapsedBeforePos = std::max(marginInfo.positiveMargin(), childMargins.positiveMarginBefore());
+        LayoutUnit collapsedBeforeNeg = std::max(marginInfo.negativeMargin(), childMargins.negativeMarginBefore());
+        marginInfo.setMargin(collapsedBeforePos, collapsedBeforeNeg);
</ins><span class="cx"> 
</span><del>-            if (!marginInfo.canCollapseWithMarginBefore())
-                // We need to make sure that the position of the self-collapsing block
-                // is correct, since it could have overflowing content
-                // that needs to be positioned correctly (e.g., a block that
-                // had a specified height of 0 but that actually had subcontent).
-                logicalTop = logicalHeight() + collapsedBeforePos - collapsedBeforeNeg;
</del><ins>+        // Now collapse the child's margins together, which means examining our
+        // bottom margin values as well.
+        marginInfo.setPositiveMarginIfLarger(childMargins.positiveMarginAfter());
+        marginInfo.setNegativeMarginIfLarger(childMargins.negativeMarginAfter());
+
+        if (!marginInfo.canCollapseWithMarginBefore()) {
+            // We need to make sure that the position of the self-collapsing block
+            // is correct, since it could have overflowing content
+            // that needs to be positioned correctly (e.g., a block that
+            // had a specified height of 0 but that actually had subcontent).
+            logicalTop = logicalHeight() + collapsedBeforePos - collapsedBeforeNeg;
</ins><span class="cx">         }
</span><span class="cx">     } else {
</span><del>-        if (child && mustSeparateMarginBeforeForChild(*child)) {
-            ASSERT(!marginInfo.discardMargin() || (marginInfo.discardMargin() && !marginInfo.margin()));
-            // If we are at the before side of the block and we collapse, ignore the computed margin
-            // and just add the child margin to the container height. This will correctly position
-            // the child inside the container.
-            LayoutUnit separateMargin = !marginInfo.canCollapseWithMarginBefore() ? marginInfo.margin() : 0_lu;
-            setLogicalHeight(logicalHeight() + separateMargin + marginBeforeForChild(*child));
-            logicalTop = logicalHeight();
-        } else if (!marginInfo.discardMargin() && (!marginInfo.atBeforeSideOfBlock()
-            || (!marginInfo.canCollapseMarginBeforeWithChildren()
-            && (!document().inQuirksMode() || !marginInfo.quirkContainer() || !marginInfo.hasMarginBeforeQuirk())))) {
</del><ins>+        if (!marginInfo.atBeforeSideOfBlock() || (!marginInfo.canCollapseMarginBeforeWithChildren()
+            && (!document().inQuirksMode() || !marginInfo.quirkContainer() || !marginInfo.hasMarginBeforeQuirk()))) {
</ins><span class="cx">             // We're collapsing with a previous sibling's margins and not
</span><span class="cx">             // with the top of the block.
</span><span class="cx">             setLogicalHeight(logicalHeight() + std::max(marginInfo.positiveMargin(), posTop) - std::max(marginInfo.negativeMargin(), negTop));
</span><span class="lines">@@ -1180,18 +1147,13 @@
</span><span class="cx">             logicalTop = logicalHeight();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        marginInfo.setDiscardMargin(childDiscardMarginAfter);
-        
-        if (!marginInfo.discardMargin()) {
-            marginInfo.setPositiveMargin(childMargins.positiveMarginAfter());
-            marginInfo.setNegativeMargin(childMargins.negativeMarginAfter());
-        } else
-            marginInfo.clearMargin();
</del><ins>+        marginInfo.setPositiveMargin(childMargins.positiveMarginAfter());
+        marginInfo.setNegativeMargin(childMargins.negativeMarginAfter());
</ins><span class="cx"> 
</span><span class="cx">         if (marginInfo.margin())
</span><span class="cx">             marginInfo.setHasMarginAfterQuirk(afterQuirk);
</span><span class="cx">     }
</span><del>-    
</del><ins>+
</ins><span class="cx">     // If margins would pull us past the top of the next page, then we need to pull back and pretend like the margins
</span><span class="cx">     // collapsed into the page edge.
</span><span class="cx">     auto* layoutState = view().frameView().layoutContext().layoutState();
</span><span class="lines">@@ -1230,19 +1192,12 @@
</span><span class="cx">         return yPos;
</span><span class="cx"> 
</span><span class="cx">     if (child.isSelfCollapsingBlock()) {
</span><del>-        bool childDiscardMargin = mustDiscardMarginBeforeForChild(child) || mustDiscardMarginAfterForChild(child);
-
</del><span class="cx">         // For self-collapsing blocks that clear, they can still collapse their
</span><span class="cx">         // margins with following siblings. Reset the current margins to represent
</span><span class="cx">         // the self-collapsing block's margins only.
</span><del>-        // If DISCARD is specified for -webkit-margin-collapse, reset the margin values.
</del><span class="cx">         MarginValues childMargins = marginValuesForChild(child);
</span><del>-        if (!childDiscardMargin) {
-            marginInfo.setPositiveMargin(std::max(childMargins.positiveMarginBefore(), childMargins.positiveMarginAfter()));
-            marginInfo.setNegativeMargin(std::max(childMargins.negativeMarginBefore(), childMargins.negativeMarginAfter()));
-        } else
-            marginInfo.clearMargin();
-        marginInfo.setDiscardMargin(childDiscardMargin);
</del><ins>+        marginInfo.setPositiveMargin(std::max(childMargins.positiveMarginBefore(), childMargins.positiveMarginAfter()));
+        marginInfo.setNegativeMargin(std::max(childMargins.negativeMarginBefore(), childMargins.negativeMarginAfter()));
</ins><span class="cx"> 
</span><span class="cx">         // CSS2.1 states:
</span><span class="cx">         // "If the top and bottom margins of an element with clearance are adjoining, its margins collapse with 
</span><span class="lines">@@ -1277,31 +1232,18 @@
</span><span class="cx">         // margins involved.
</span><span class="cx">         setMaxMarginBeforeValues(oldTopPosMargin, oldTopNegMargin);
</span><span class="cx">         marginInfo.setAtBeforeSideOfBlock(false);
</span><del>-
-        // In case the child discarded the before margin of the block we need to reset the mustDiscardMarginBefore flag to the initial value.
-        setMustDiscardMarginBefore(style().marginBeforeCollapse() == MarginCollapse::Discard);
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return yPos + heightIncrease;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderBlockFlow::marginBeforeEstimateForChild(RenderBox& child, LayoutUnit& positiveMarginBefore, LayoutUnit& negativeMarginBefore, bool& discardMarginBefore) const
</del><ins>+void RenderBlockFlow::marginBeforeEstimateForChild(RenderBox& child, LayoutUnit& positiveMarginBefore, LayoutUnit& negativeMarginBefore) const
</ins><span class="cx"> {
</span><span class="cx">     // Give up if in quirks mode and we're a body/table cell and the top margin of the child box is quirky.
</span><span class="cx">     // Give up if the child specified -webkit-margin-collapse: separate that prevents collapsing.
</span><del>-    // FIXME: Use writing mode independent accessor for marginBeforeCollapse.
-    if ((document().inQuirksMode() && hasMarginAfterQuirk(child) && (isTableCell() || isBody())) || child.style().marginBeforeCollapse() == MarginCollapse::Separate)
</del><ins>+    if (document().inQuirksMode() && hasMarginAfterQuirk(child) && (isTableCell() || isBody()))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    // The margins are discarded by a child that specified -webkit-margin-collapse: discard.
-    // FIXME: Use writing mode independent accessor for marginBeforeCollapse.
-    if (child.style().marginBeforeCollapse() == MarginCollapse::Discard) {
-        positiveMarginBefore = 0;
-        negativeMarginBefore = 0;
-        discardMarginBefore = true;
-        return;
-    }
-
</del><span class="cx">     LayoutUnit beforeChildMargin = marginBeforeForChild(child);
</span><span class="cx">     positiveMarginBefore = std::max(positiveMarginBefore, beforeChildMargin);
</span><span class="cx">     negativeMarginBefore = std::max(negativeMarginBefore, -beforeChildMargin);
</span><span class="lines">@@ -1338,7 +1280,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Collapse the margin of the grandchild box with our own to produce an estimate.
</span><del>-    childBlock.marginBeforeEstimateForChild(*grandchildBox, positiveMarginBefore, negativeMarginBefore, discardMarginBefore);
</del><ins>+    childBlock.marginBeforeEstimateForChild(*grandchildBox, positiveMarginBefore, negativeMarginBefore);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit RenderBlockFlow::estimateLogicalTopPosition(RenderBox& child, const MarginInfo& marginInfo, LayoutUnit& estimateWithoutPagination)
</span><span class="lines">@@ -1349,10 +1291,9 @@
</span><span class="cx">     if (!marginInfo.canCollapseWithMarginBefore()) {
</span><span class="cx">         LayoutUnit positiveMarginBefore;
</span><span class="cx">         LayoutUnit negativeMarginBefore;
</span><del>-        bool discardMarginBefore = false;
</del><span class="cx">         if (child.selfNeedsLayout()) {
</span><span class="cx">             // Try to do a basic estimation of how the collapse is going to go.
</span><del>-            marginBeforeEstimateForChild(child, positiveMarginBefore, negativeMarginBefore, discardMarginBefore);
</del><ins>+            marginBeforeEstimateForChild(child, positiveMarginBefore, negativeMarginBefore);
</ins><span class="cx">         } else {
</span><span class="cx">             // Use the cached collapsed margin values from a previous layout. Most of the time they
</span><span class="cx">             // will be right.
</span><span class="lines">@@ -1359,12 +1300,10 @@
</span><span class="cx">             MarginValues marginValues = marginValuesForChild(child);
</span><span class="cx">             positiveMarginBefore = std::max(positiveMarginBefore, marginValues.positiveMarginBefore());
</span><span class="cx">             negativeMarginBefore = std::max(negativeMarginBefore, marginValues.negativeMarginBefore());
</span><del>-            discardMarginBefore = mustDiscardMarginBeforeForChild(child);
</del><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // Collapse the result with our current margins.
</span><del>-        if (!discardMarginBefore)
-            logicalTopEstimate += std::max(marginInfo.positiveMargin(), positiveMarginBefore) - std::max(marginInfo.negativeMargin(), negativeMarginBefore);
</del><ins>+        logicalTopEstimate += std::max(marginInfo.positiveMargin(), positiveMarginBefore) - std::max(marginInfo.negativeMargin(), negativeMarginBefore);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Adjust logicalTopEstimate down to the next page if the margins are so large that we don't fit on the current
</span><span class="lines">@@ -1375,16 +1314,16 @@
</span><span class="cx">         logicalTopEstimate = std::min(logicalTopEstimate, nextPageLogicalTop(logicalHeight()));
</span><span class="cx"> 
</span><span class="cx">     logicalTopEstimate += getClearDelta(child, logicalTopEstimate);
</span><del>-    
</del><ins>+
</ins><span class="cx">     estimateWithoutPagination = logicalTopEstimate;
</span><span class="cx"> 
</span><span class="cx">     if (layoutState->isPaginated()) {
</span><span class="cx">         // If the object has a page or column break value of "before", then we should shift to the top of the next page.
</span><span class="cx">         logicalTopEstimate = applyBeforeBreak(child, logicalTopEstimate);
</span><del>-    
</del><ins>+
</ins><span class="cx">         // For replaced elements and scrolled elements, we want to shift them to the next page if they don't fit on the current one.
</span><span class="cx">         logicalTopEstimate = adjustForUnsplittableChild(child, logicalTopEstimate);
</span><del>-        
</del><ins>+
</ins><span class="cx">         if (!child.selfNeedsLayout() && is<RenderBlock>(child))
</span><span class="cx">             logicalTopEstimate += downcast<RenderBlock>(child).paginationStrut();
</span><span class="cx">     }
</span><span class="lines">@@ -1395,13 +1334,6 @@
</span><span class="cx"> void RenderBlockFlow::setCollapsedBottomMargin(const MarginInfo& marginInfo)
</span><span class="cx"> {
</span><span class="cx">     if (marginInfo.canCollapseWithMarginAfter() && !marginInfo.canCollapseWithMarginBefore()) {
</span><del>-        // Update the after side margin of the container to discard if the after margin of the last child also discards and we collapse with it.
-        // Don't update the max margin values because we won't need them anyway.
-        if (marginInfo.discardMargin()) {
-            setMustDiscardMarginAfter();
-            return;
-        }
-
</del><span class="cx">         // Update our max pos/neg bottom margins, since we collapsed our bottom margins
</span><span class="cx">         // with our children.
</span><span class="cx">         setMaxMarginAfterValues(std::max(maxPositiveMarginAfter(), marginInfo.positiveMargin()), std::max(maxNegativeMarginAfter(), marginInfo.negativeMargin()));
</span><span class="lines">@@ -1429,10 +1361,11 @@
</span><span class="cx">         setLogicalHeight(logicalHeight() - downcast<RenderBlockFlow>(*lastBlock).marginOffsetForSelfCollapsingBlock());
</span><span class="cx"> 
</span><span class="cx">     // If we can't collapse with children then add in the bottom margin.
</span><del>-    if (!marginInfo.discardMargin() && (!marginInfo.canCollapseWithMarginAfter() && !marginInfo.canCollapseWithMarginBefore()
-        && (!document().inQuirksMode() || !marginInfo.quirkContainer() || !marginInfo.hasMarginAfterQuirk())))
</del><ins>+    if (!marginInfo.canCollapseWithMarginAfter() && !marginInfo.canCollapseWithMarginBefore()
+        && (!document().inQuirksMode() || !marginInfo.quirkContainer() || !marginInfo.hasMarginAfterQuirk())) {
</ins><span class="cx">         setLogicalHeight(logicalHeight() + marginInfo.margin());
</span><del>-        
</del><ins>+    }
+
</ins><span class="cx">     // Now add in our bottom border/padding.
</span><span class="cx">     setLogicalHeight(logicalHeight() + afterSide);
</span><span class="cx"> 
</span><span class="lines">@@ -1468,99 +1401,6 @@
</span><span class="cx">     rareBlockFlowData()->m_margins.setNegativeMarginAfter(neg);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderBlockFlow::setMustDiscardMarginBefore(bool value)
-{
-    if (style().marginBeforeCollapse() == MarginCollapse::Discard) {
-        ASSERT(value);
-        return;
-    }
-
-    if (!hasRareBlockFlowData()) {
-        if (!value)
-            return;
-        materializeRareBlockFlowData();
-    }
-
-    rareBlockFlowData()->m_discardMarginBefore = value;
-}
-
-void RenderBlockFlow::setMustDiscardMarginAfter(bool value)
-{
-    if (style().marginAfterCollapse() == MarginCollapse::Discard) {
-        ASSERT(value);
-        return;
-    }
-
-    if (!hasRareBlockFlowData()) {
-        if (!value)
-            return;
-        materializeRareBlockFlowData();
-    }
-
-    rareBlockFlowData()->m_discardMarginAfter = value;
-}
-
-bool RenderBlockFlow::mustDiscardMarginBefore() const
-{
-    return style().marginBeforeCollapse() == MarginCollapse::Discard || (hasRareBlockFlowData() && rareBlockFlowData()->m_discardMarginBefore);
-}
-
-bool RenderBlockFlow::mustDiscardMarginAfter() const
-{
-    return style().marginAfterCollapse() == MarginCollapse::Discard || (hasRareBlockFlowData() && rareBlockFlowData()->m_discardMarginAfter);
-}
-
-bool RenderBlockFlow::mustDiscardMarginBeforeForChild(const RenderBox& child) const
-{
-    ASSERT(!child.selfNeedsLayout());
-    if (!child.isWritingModeRoot())
-        return is<RenderBlockFlow>(child) ? downcast<RenderBlockFlow>(child).mustDiscardMarginBefore() : (child.style().marginBeforeCollapse() == MarginCollapse::Discard);
-    if (child.isHorizontalWritingMode() == isHorizontalWritingMode())
-        return is<RenderBlockFlow>(child) ? downcast<RenderBlockFlow>(child).mustDiscardMarginAfter() : (child.style().marginAfterCollapse() == MarginCollapse::Discard);
-
-    // FIXME: We return false here because the implementation is not geometrically complete. We have values only for before/after, not start/end.
-    // In case the boxes are perpendicular we assume the property is not specified.
-    return false;
-}
-
-bool RenderBlockFlow::mustDiscardMarginAfterForChild(const RenderBox& child) const
-{
-    ASSERT(!child.selfNeedsLayout());
-    if (!child.isWritingModeRoot())
-        return is<RenderBlockFlow>(child) ? downcast<RenderBlockFlow>(child).mustDiscardMarginAfter() : (child.style().marginAfterCollapse() == MarginCollapse::Discard);
-    if (child.isHorizontalWritingMode() == isHorizontalWritingMode())
-        return is<RenderBlockFlow>(child) ? downcast<RenderBlockFlow>(child).mustDiscardMarginBefore() : (child.style().marginBeforeCollapse() == MarginCollapse::Discard);
-
-    // FIXME: See |mustDiscardMarginBeforeForChild| above.
-    return false;
-}
-
-bool RenderBlockFlow::mustSeparateMarginBeforeForChild(const RenderBox& child) const
-{
-    ASSERT(!child.selfNeedsLayout());
-    const RenderStyle& childStyle = child.style();
-    if (!child.isWritingModeRoot())
-        return childStyle.marginBeforeCollapse() == MarginCollapse::Separate;
-    if (child.isHorizontalWritingMode() == isHorizontalWritingMode())
-        return childStyle.marginAfterCollapse() == MarginCollapse::Separate;
-
-    // FIXME: See |mustDiscardMarginBeforeForChild| above.
-    return false;
-}
-
-bool RenderBlockFlow::mustSeparateMarginAfterForChild(const RenderBox& child) const
-{
-    ASSERT(!child.selfNeedsLayout());
-    const RenderStyle& childStyle = child.style();
-    if (!child.isWritingModeRoot())
-        return childStyle.marginAfterCollapse() == MarginCollapse::Separate;
-    if (child.isHorizontalWritingMode() == isHorizontalWritingMode())
-        return childStyle.marginBeforeCollapse() == MarginCollapse::Separate;
-
-    // FIXME: See |mustDiscardMarginBeforeForChild| above.
-    return false;
-}
-
</del><span class="cx"> static bool inNormalFlow(RenderBox& child)
</span><span class="cx"> {
</span><span class="cx">     RenderBlock* curr = child.containingBlock();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.h (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.h 2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.h    2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -119,8 +119,6 @@
</span><span class="cx">         RenderBlockFlowRareData(const RenderBlockFlow& block)
</span><span class="cx">             : m_margins(positiveMarginBeforeDefault(block), negativeMarginBeforeDefault(block), positiveMarginAfterDefault(block), negativeMarginAfterDefault(block))
</span><span class="cx">             , m_lineBreakToAvoidWidow(-1)
</span><del>-            , m_discardMarginBefore(false)
-            , m_discardMarginAfter(false)
</del><span class="cx">             , m_didBreakAtLineToAvoidWidow(false)
</span><span class="cx">         { 
</span><span class="cx">         }
</span><span class="lines">@@ -147,9 +145,7 @@
</span><span class="cx">         std::unique_ptr<LegacyRootInlineBox> m_lineGridBox;
</span><span class="cx"> 
</span><span class="cx">         WeakPtr<RenderMultiColumnFlow> m_multiColumnFlow;
</span><del>-        
-        bool m_discardMarginBefore : 1;
-        bool m_discardMarginAfter : 1;
</del><ins>+
</ins><span class="cx">         bool m_didBreakAtLineToAvoidWidow : 1;
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="lines">@@ -179,8 +175,6 @@
</span><span class="cx">         bool m_hasMarginAfterQuirk : 1;
</span><span class="cx">         bool m_determinedMarginBeforeQuirk : 1;
</span><span class="cx"> 
</span><del>-        bool m_discardMargin : 1;
-
</del><span class="cx">         // These flags track the previous maximal positive and negative margins.
</span><span class="cx">         LayoutUnit m_positiveMargin;
</span><span class="cx">         LayoutUnit m_negativeMargin;
</span><span class="lines">@@ -198,24 +192,21 @@
</span><span class="cx">         void setHasMarginBeforeQuirk(bool b) { m_hasMarginBeforeQuirk = b; }
</span><span class="cx">         void setHasMarginAfterQuirk(bool b) { m_hasMarginAfterQuirk = b; }
</span><span class="cx">         void setDeterminedMarginBeforeQuirk(bool b) { m_determinedMarginBeforeQuirk = b; }
</span><del>-        void setPositiveMargin(LayoutUnit p) { ASSERT(!m_discardMargin); m_positiveMargin = p; }
-        void setNegativeMargin(LayoutUnit n) { ASSERT(!m_discardMargin); m_negativeMargin = n; }
</del><ins>+        void setPositiveMargin(LayoutUnit p) { m_positiveMargin = p; }
+        void setNegativeMargin(LayoutUnit n) { m_negativeMargin = n; }
</ins><span class="cx">         void setPositiveMarginIfLarger(LayoutUnit p)
</span><span class="cx">         {
</span><del>-            ASSERT(!m_discardMargin);
</del><span class="cx">             if (p > m_positiveMargin)
</span><span class="cx">                 m_positiveMargin = p;
</span><span class="cx">         }
</span><span class="cx">         void setNegativeMarginIfLarger(LayoutUnit n)
</span><span class="cx">         {
</span><del>-            ASSERT(!m_discardMargin);
</del><span class="cx">             if (n > m_negativeMargin)
</span><span class="cx">                 m_negativeMargin = n;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        void setMargin(LayoutUnit p, LayoutUnit n) { ASSERT(!m_discardMargin); m_positiveMargin = p; m_negativeMargin = n; }
</del><ins>+        void setMargin(LayoutUnit p, LayoutUnit n) { m_positiveMargin = p; m_negativeMargin = n; }
</ins><span class="cx">         void setCanCollapseMarginAfterWithChildren(bool collapse) { m_canCollapseMarginAfterWithChildren = collapse; }
</span><del>-        void setDiscardMargin(bool value) { m_discardMargin = value; }
</del><span class="cx"> 
</span><span class="cx">         bool atBeforeSideOfBlock() const { return m_atBeforeSideOfBlock; }
</span><span class="cx">         bool canCollapseWithMarginBefore() const { return m_atBeforeSideOfBlock && m_canCollapseMarginBeforeWithChildren; }
</span><span class="lines">@@ -228,7 +219,6 @@
</span><span class="cx">         bool hasMarginAfterQuirk() const { return m_hasMarginAfterQuirk; }
</span><span class="cx">         LayoutUnit positiveMargin() const { return m_positiveMargin; }
</span><span class="cx">         LayoutUnit negativeMargin() const { return m_negativeMargin; }
</span><del>-        bool discardMargin() const { return m_discardMargin; }
</del><span class="cx">         LayoutUnit margin() const { return m_positiveMargin - m_negativeMargin; }
</span><span class="cx">     };
</span><span class="cx">     LayoutUnit marginOffsetForSelfCollapsingBlock();
</span><span class="lines">@@ -247,7 +237,7 @@
</span><span class="cx"> 
</span><span class="cx">     LayoutUnit clearFloatsIfNeeded(RenderBox& child, MarginInfo&, LayoutUnit oldTopPosMargin, LayoutUnit oldTopNegMargin, LayoutUnit yPos);
</span><span class="cx">     LayoutUnit estimateLogicalTopPosition(RenderBox& child, const MarginInfo&, LayoutUnit& estimateWithoutPagination);
</span><del>-    void marginBeforeEstimateForChild(RenderBox&, LayoutUnit&, LayoutUnit&, bool&) const;
</del><ins>+    void marginBeforeEstimateForChild(RenderBox&, LayoutUnit&, LayoutUnit&) const;
</ins><span class="cx">     void handleAfterSideOfBlock(LayoutUnit top, LayoutUnit bottom, MarginInfo&);
</span><span class="cx">     void setCollapsedBottomMargin(const MarginInfo&);
</span><span class="cx"> 
</span><span class="lines">@@ -431,24 +421,11 @@
</span><span class="cx"> 
</span><span class="cx">         rareBlockFlowData()->m_margins = MarginValues(RenderBlockFlowRareData::positiveMarginBeforeDefault(*this) , RenderBlockFlowRareData::negativeMarginBeforeDefault(*this),
</span><span class="cx">             RenderBlockFlowRareData::positiveMarginAfterDefault(*this), RenderBlockFlowRareData::negativeMarginAfterDefault(*this));
</span><del>-        rareBlockFlowData()->m_discardMarginBefore = false;
-        rareBlockFlowData()->m_discardMarginAfter = false;
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void setMaxMarginBeforeValues(LayoutUnit pos, LayoutUnit neg);
</span><span class="cx">     void setMaxMarginAfterValues(LayoutUnit pos, LayoutUnit neg);
</span><span class="cx"> 
</span><del>-    void setMustDiscardMarginBefore(bool = true);
-    void setMustDiscardMarginAfter(bool = true);
-
-    bool mustDiscardMarginBefore() const;
-    bool mustDiscardMarginAfter() const;
-
-    bool mustDiscardMarginBeforeForChild(const RenderBox&) const;
-    bool mustDiscardMarginAfterForChild(const RenderBox&) const;
-    bool mustSeparateMarginBeforeForChild(const RenderBox&) const;
-    bool mustSeparateMarginAfterForChild(const RenderBox&) const;
-
</del><span class="cx">     void styleWillChange(StyleDifference, const RenderStyle& newStyle) override;
</span><span class="cx">     void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.h       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -614,8 +614,6 @@
</span><span class="cx">     UserSelect userSelectIncludingInert() const { return effectiveInert() ? UserSelect::None : userSelect(); }
</span><span class="cx">     UserSelect userSelect() const { return static_cast<UserSelect>(m_rareInheritedData->userSelect); }
</span><span class="cx">     TextOverflow textOverflow() const { return static_cast<TextOverflow>(m_rareNonInheritedData->textOverflow); }
</span><del>-    MarginCollapse marginBeforeCollapse() const { return static_cast<MarginCollapse>(m_rareNonInheritedData->marginBeforeCollapse); }
-    MarginCollapse marginAfterCollapse() const { return static_cast<MarginCollapse>(m_rareNonInheritedData->marginAfterCollapse); }
</del><span class="cx">     WordBreak wordBreak() const { return static_cast<WordBreak>(m_rareInheritedData->wordBreak); }
</span><span class="cx">     OverflowWrap overflowWrap() const { return static_cast<OverflowWrap>(m_rareInheritedData->overflowWrap); }
</span><span class="cx">     NBSPMode nbspMode() const { return static_cast<NBSPMode>(m_rareInheritedData->nbspMode); }
</span><span class="lines">@@ -1214,8 +1212,6 @@
</span><span class="cx">     void setUserDrag(UserDrag d) { SET_VAR(m_rareNonInheritedData, userDrag, static_cast<unsigned>(d)); }
</span><span class="cx">     void setUserSelect(UserSelect s) { SET_VAR(m_rareInheritedData, userSelect, static_cast<unsigned>(s)); }
</span><span class="cx">     void setTextOverflow(TextOverflow overflow) { SET_VAR(m_rareNonInheritedData, textOverflow, static_cast<unsigned>(overflow)); }
</span><del>-    void setMarginBeforeCollapse(MarginCollapse c) { SET_VAR(m_rareNonInheritedData, marginBeforeCollapse, static_cast<unsigned>(c)); }
-    void setMarginAfterCollapse(MarginCollapse c) { SET_VAR(m_rareNonInheritedData, marginAfterCollapse, static_cast<unsigned>(c)); }
</del><span class="cx">     void setWordBreak(WordBreak b) { SET_VAR(m_rareInheritedData, wordBreak, static_cast<unsigned>(b)); }
</span><span class="cx">     void setOverflowWrap(OverflowWrap b) { SET_VAR(m_rareInheritedData, overflowWrap, static_cast<unsigned>(b)); }
</span><span class="cx">     void setNBSPMode(NBSPMode b) { SET_VAR(m_rareInheritedData, nbspMode, static_cast<unsigned>(b)); }
</span><span class="lines">@@ -1658,8 +1654,6 @@
</span><span class="cx">     static UserDrag initialUserDrag() { return UserDrag::Auto; }
</span><span class="cx">     static UserSelect initialUserSelect() { return UserSelect::Text; }
</span><span class="cx">     static TextOverflow initialTextOverflow() { return TextOverflow::Clip; }
</span><del>-    static MarginCollapse initialMarginBeforeCollapse() { return MarginCollapse::Collapse; }
-    static MarginCollapse initialMarginAfterCollapse() { return MarginCollapse::Collapse; }
</del><span class="cx">     static WordBreak initialWordBreak() { return WordBreak::Normal; }
</span><span class="cx">     static OverflowWrap initialOverflowWrap() { return OverflowWrap::Normal; }
</span><span class="cx">     static NBSPMode initialNBSPMode() { return NBSPMode::Normal; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleConstantscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp    2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp       2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -710,16 +710,6 @@
</span><span class="cx">     return ts << getValueName(toCSSValueID(styleType));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-TextStream& operator<<(TextStream& ts, MarginCollapse collapse)
-{
-    switch (collapse) {
-    case MarginCollapse::Collapse: ts << "collapse"; break;
-    case MarginCollapse::Separate: ts << "separate"; break;
-    case MarginCollapse::Discard: ts << "discard"; break;
-    }
-    return ts;
-}
-
</del><span class="cx"> TextStream& operator<<(TextStream& ts, MarqueeBehavior marqueeBehavior)
</span><span class="cx"> {
</span><span class="cx">     switch (marqueeBehavior) {
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleConstantsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyleConstants.h (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyleConstants.h      2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -251,12 +251,6 @@
</span><span class="cx">     Right,
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-enum class MarginCollapse : uint8_t {
-    Collapse,
-    Separate,
-    Discard
-};
-
</del><span class="cx"> // Box decoration attributes. Not inherited.
</span><span class="cx"> 
</span><span class="cx"> enum class BoxDecorationBreak : uint8_t {
</span><span class="lines">@@ -1306,7 +1300,6 @@
</span><span class="cx"> WTF::TextStream& operator<<(WTF::TextStream&, LineSnap);
</span><span class="cx"> WTF::TextStream& operator<<(WTF::TextStream&, ListStylePosition);
</span><span class="cx"> WTF::TextStream& operator<<(WTF::TextStream&, ListStyleType);
</span><del>-WTF::TextStream& operator<<(WTF::TextStream&, MarginCollapse);
</del><span class="cx"> WTF::TextStream& operator<<(WTF::TextStream&, MarqueeBehavior);
</span><span class="cx"> WTF::TextStream& operator<<(WTF::TextStream&, MarqueeDirection);
</span><span class="cx"> WTF::TextStream& operator<<(WTF::TextStream&, MaskMode);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleStyleRareNonInheritedDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp       2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp  2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -90,8 +90,6 @@
</span><span class="cx">     , userDrag(static_cast<unsigned>(RenderStyle::initialUserDrag()))
</span><span class="cx">     , textOverflow(static_cast<unsigned>(RenderStyle::initialTextOverflow()))
</span><span class="cx">     , useSmoothScrolling(static_cast<unsigned>(RenderStyle::initialUseSmoothScrolling()))
</span><del>-    , marginBeforeCollapse(static_cast<unsigned>(MarginCollapse::Collapse))
-    , marginAfterCollapse(static_cast<unsigned>(MarginCollapse::Collapse))
</del><span class="cx">     , appearance(static_cast<unsigned>(RenderStyle::initialAppearance()))
</span><span class="cx">     , effectiveAppearance(static_cast<unsigned>(RenderStyle::initialAppearance()))
</span><span class="cx">     , textCombine(static_cast<unsigned>(RenderStyle::initialTextCombine()))
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog    2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebInspectorUI/ChangeLog       2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2021-12-24  Tim Nguyen  <ntim@apple.com>
+
+        Remove non-standard -webkit-margin-collapse CSS property and longhands
+        https://bugs.webkit.org/show_bug.cgi?id=190788
+
+        Reviewed by Simon Fraser.
+
+        * UserInterface/Models/CSSKeywordCompletions.js:
+
</ins><span class="cx"> 2021-12-23  Tim Nguyen  <ntim@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: Support conic gradients in gradient editor and autocompletion
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsCSSKeywordCompletionsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js (287428 => 287429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js        2021-12-24 17:06:59 UTC (rev 287428)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js   2021-12-24 18:55:35 UTC (rev 287429)
</span><span class="lines">@@ -1096,18 +1096,6 @@
</span><span class="cx">     "-webkit-logical-width": [
</span><span class="cx">         "auto", "intrinsic", "min-intrinsic", "min-content", "-webkit-min-content", "max-content", "-webkit-max-content", "-webkit-fill-available", "fit-content", "-webkit-fit-content", "calc()"
</span><span class="cx">     ],
</span><del>-    "-webkit-margin-after-collapse": [
-        "collapse", "separate", "discard",
-    ],
-    "-webkit-margin-before-collapse": [
-        "collapse", "separate", "discard",
-    ],
-    "-webkit-margin-bottom-collapse": [
-        "collapse", "separate", "discard",
-    ],
-    "-webkit-margin-top-collapse": [
-        "collapse", "separate", "discard",
-    ],
</del><span class="cx">     "-webkit-max-logical-height": [
</span><span class="cx">         "auto", "intrinsic", "min-intrinsic", "min-content", "-webkit-min-content", "max-content", "-webkit-max-content", "-webkit-fill-available", "fit-content", "-webkit-fit-content", "none", "calc()"
</span><span class="cx">     ],
</span></span></pre>
</div>
</div>

</body>
</html>