Bug 1111440 - Replace rest of -moz-/Moz prefixed logical margin/padding/border properties with their standard versions. r=heycam
authorL. David Baron <dbaron@dbaron.org>
Sat, 14 May 2016 00:00:18 -0700
changeset 297446 cdc7ecf62c5df89e32ed69a5a17e4fd89ee22170
parent 297445 962463926b903521f4872a4e810da4eb20d7ad6c
child 297447 c2290db3206955e6f95360833c5b1368e6ceba62
push id30257
push userphilringnalda@gmail.com
push dateSat, 14 May 2016 20:03:55 +0000
treeherdermozilla-central@1665c708ebab [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersheycam
bugs1111440
milestone49.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1111440 - Replace rest of -moz-/Moz prefixed logical margin/padding/border properties with their standard versions. r=heycam This patch was generated by the command: find * -type f -exec sed -i -f ../mozpropsub {} \; in the root of the repository, with the file ../mozpropsub containing: s/-moz-padding-end\>/padding-inline-end/g s/-moz-padding-start\>/padding-inline-start/g s/-moz-margin-end\>/margin-inline-end/g s/-moz-margin-start\>/margin-inline-start/g s/-moz-border-end\>/border-inline-end/g s/-moz-border-end-color\>/border-inline-end-color/g s/-moz-border-end-style\>/border-inline-end-style/g s/-moz-border-end-width\>/border-inline-end-width/g s/-moz-border-start\>/border-inline-start/g s/-moz-border-start-color\>/border-inline-start-color/g s/-moz-border-start-style\>/border-inline-start-style/g s/-moz-border-start-width\>/border-inline-start-width/g s/\<MozPaddingEnd\>/paddingInlineEnd/g s/\<MozPaddingStart\>/paddingInlineStart/g s/\<MozMarginEnd\>/marginInlineEnd/g s/\<MozMarginStart\>/marginInlineStart/g s/\<MozBorderEnd\>/borderInlineEnd/g s/\<MozBorderEndColor\>/borderInlineEndColor/g s/\<MozBorderEndStyle\>/borderInlineEndStyle/g s/\<MozBorderEndWidth\>/borderInlineEndWidth/g s/\<MozBorderStart\>/borderInlineStart/g s/\<MozBorderStartColor\>/borderInlineStartColor/g s/\<MozBorderStartStyle\>/borderInlineStartStyle/g s/\<MozBorderStartWidth\>/borderInlineStartWidth/g The diffs for the following files: layout/style/nsCSSPropAliasList.h layout/style/test/property_database.js layout/style/test/test_value_computation.html were then manually removed from the patch. MozReview-Commit-ID: 8fbYnlZcn9U
browser/base/content/sync/setup.xul
browser/base/content/tabbrowser.xml
browser/components/places/content/browserPlacesViews.js
devtools/client/canvasdebugger/callslist.js
devtools/client/performance/modules/widgets/tree-view.js
devtools/client/performance/test/browser_perf-tree-abstract-01.js
devtools/client/performance/test/browser_perf-tree-view-01.js
devtools/client/performance/test/browser_perf-tree-view-03.js
devtools/client/performance/test/helpers/synth-utils.js
devtools/client/shared/components/tree.js
devtools/client/shared/widgets/AbstractTreeItem.jsm
devtools/client/shared/widgets/TableWidget.js
devtools/client/sourceeditor/codemirror/README
devtools/client/sourceeditor/codemirror/addon/search/search.js
devtools/client/sourceeditor/editor.js
layout/generic/crashtests/1169420-1.html
layout/generic/crashtests/767765.html
layout/generic/crashtests/791601.xhtml
layout/generic/crashtests/812893.html
layout/reftests/bidi/503957-1.html
layout/reftests/bugs/1130231-2-button-padding-rtl.html
layout/reftests/bugs/508816-2-ref.html
layout/reftests/bugs/508816-2.html
layout/reftests/first-line/border-not-apply.html
layout/reftests/native-theme/text-input-nonnative-when-styled-ref.html
layout/reftests/native-theme/text-input-nonnative-when-styled.html
layout/style/crashtests/509569-1.html
layout/style/test/test_bug621351.html
layout/style/test/test_bug74880.html
layout/style/test/test_dont_use_document_colors.html
netwerk/streamconv/converters/nsIndexedToHTML.cpp
toolkit/content/widgets/autocomplete.xml
toolkit/crashreporter/content/crashes.xhtml
--- a/browser/base/content/sync/setup.xul
+++ b/browser/base/content/sync/setup.xul
@@ -354,17 +354,17 @@
 
   <wizardpage id="syncOptionsPage"
               label="&setup.optionsPage.title;"
               onpageshow="gSyncSetup.onPageShow()">
     <groupbox id="syncOptions">
     <grid>
       <columns>
         <column/>
-        <column flex="1" style="-moz-margin-end: 2px"/>
+        <column flex="1" style="margin-inline-end: 2px"/>
       </columns>
       <rows>
         <row align="center">
           <label value="&syncDeviceName.label;"
                  accesskey="&syncDeviceName.accesskey;"
                  control="syncComputerName"/>
           <textbox id="syncComputerName" flex="1"
                    onchange="gSyncUtils.changeName(this)"/>
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -298,17 +298,17 @@
       <method name="unpinTab">
         <parameter name="aTab"/>
         <body><![CDATA[
           if (!aTab.pinned)
             return;
 
           this.moveTabTo(aTab, this._numPinnedTabs - 1);
           aTab.removeAttribute("pinned");
-          aTab.style.MozMarginStart = "";
+          aTab.style.marginInlineStart = "";
           this.tabContainer._unlockTabSizing();
           this.tabContainer._positionPinnedTabs();
           this.tabContainer.adjustTabstrip();
 
           this.getBrowserForTab(aTab).messageManager.sendAsyncMessage("Browser:AppTab", { isAppTab: false })
 
           if (aTab.selected)
             this._setCloseKeyState(true);
@@ -5216,30 +5216,30 @@
 
             let scrollButtonWidth = this.mTabstrip._scrollButtonDown.getBoundingClientRect().width;
             let paddingStart = this.mTabstrip.scrollboxPaddingStart;
             let width = 0;
 
             for (let i = numPinned - 1; i >= 0; i--) {
               let tab = this.childNodes[i];
               width += tab.getBoundingClientRect().width;
-              tab.style.MozMarginStart = - (width + scrollButtonWidth + paddingStart) + "px";
+              tab.style.marginInlineStart = - (width + scrollButtonWidth + paddingStart) + "px";
             }
 
-            this.style.MozPaddingStart = width + paddingStart + "px";
+            this.style.paddingInlineStart = width + paddingStart + "px";
 
           } else {
             this.removeAttribute("positionpinnedtabs");
 
             for (let i = 0; i < numPinned; i++) {
               let tab = this.childNodes[i];
-              tab.style.MozMarginStart = "";
+              tab.style.marginInlineStart = "";
             }
 
-            this.style.MozPaddingStart = "";
+            this.style.paddingInlineStart = "";
           }
 
           if (this._lastNumPinned != numPinned) {
             this._lastNumPinned = numPinned;
             this._handleTabSelect(false);
           }
         ]]></body>
       </method>
@@ -5982,17 +5982,17 @@
 
         ind.collapsed = false;
 
         newMargin += ind.clientWidth / 2;
         if (!ltr)
           newMargin *= -1;
 
         ind.style.transform = "translate(" + Math.round(newMargin) + "px)";
-        ind.style.MozMarginStart = (-ind.clientWidth) + "px";
+        ind.style.marginInlineStart = (-ind.clientWidth) + "px";
       ]]></handler>
 
       <handler event="drop"><![CDATA[
         var dt = event.dataTransfer;
         var dropEffect = dt.dropEffect;
         var draggedTab;
         if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE) { // tab copy or move
           draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
--- a/browser/components/places/content/browserPlacesViews.js
+++ b/browser/components/places/content/browserPlacesViews.js
@@ -1654,17 +1654,17 @@ PlacesToolbar.prototype = {
           else {
             translateX += this._rootElt.childNodes[dropPoint.beforeIndex]
                               .getBoundingClientRect().left;
           }
         }
       }
 
       ind.style.transform = "translate(" + Math.round(translateX) + "px)";
-      ind.style.MozMarginStart = (-ind.clientWidth) + "px";
+      ind.style.marginInlineStart = (-ind.clientWidth) + "px";
       ind.collapsed = false;
 
       // Clear out old folder information.
       this._clearOverFolder();
     }
 
     aEvent.preventDefault();
     aEvent.stopPropagation();
--- a/devtools/client/canvasdebugger/callslist.js
+++ b/devtools/client/canvasdebugger/callslist.js
@@ -405,17 +405,17 @@ var CallsListView = Heritage.extend(Widg
      * Creates a function call nodes in this container for a stack.
      */
     let display = stack => {
       for (let i = 1; i < stack.length; i++) {
         let call = stack[i];
 
         let contents = document.createElement("hbox");
         contents.className = "call-item-stack-fn";
-        contents.style.MozPaddingStart = (i * STACK_FUNC_INDENTATION) + "px";
+        contents.style.paddingInlineStart = (i * STACK_FUNC_INDENTATION) + "px";
 
         let name = document.createElement("label");
         name.className = "plain call-item-stack-fn-name";
         name.setAttribute("value", "↳ " + call.name + "()");
         contents.appendChild(name);
 
         let spacer = document.createElement("spacer");
         spacer.setAttribute("flex", "100");
--- a/devtools/client/performance/modules/widgets/tree-view.js
+++ b/devtools/client/performance/modules/widgets/tree-view.js
@@ -238,17 +238,17 @@ CallView.prototype = Heritage.extend(Abs
     // Add a tabulation to the cell text in case it's is selected and copied.
     cell.textContent = value + "\t";
     return cell;
   },
 
   _createFunctionCell: function(doc, arrowNode, frameName, frameInfo, frameLevel) {
     let cell = doc.createElement("hbox");
     cell.className = "call-tree-cell";
-    cell.style.MozMarginStart = (frameLevel * CALL_TREE_INDENTATION) + "px";
+    cell.style.marginInlineStart = (frameLevel * CALL_TREE_INDENTATION) + "px";
     cell.setAttribute("type", "function");
     cell.appendChild(arrowNode);
 
     // Render optimization hint if this frame has opt data.
     if (this.root.showOptimizationHint && frameInfo.hasOptimizations && !frameInfo.isMetaCategory) {
       let icon = doc.createElement("description");
       icon.setAttribute("tooltiptext", VIEW_OPTIMIZATIONS_TOOLTIP);
       icon.className = "opt-icon";
--- a/devtools/client/performance/test/browser_perf-tree-abstract-01.js
+++ b/devtools/client/performance/test/browser_perf-tree-abstract-01.js
@@ -33,17 +33,17 @@ add_task(function*() {
     "The root node's target is a child of the container node.");
 
   is(treeRoot.root, treeRoot,
     "The root node has the correct root.");
   is(treeRoot.parent, null,
     "The root node has the correct parent.");
   is(treeRoot.level, 0,
     "The root node has the correct level.");
-  is(treeRoot.target.MozMarginStart, "0px",
+  is(treeRoot.target.marginInlineStart, "0px",
     "The root node's indentation is correct.");
   is(treeRoot.target.textContent, "root",
     "The root node's text contents are correct.");
   is(treeRoot.container, container,
     "The root node's container is correct.");
 
   // Expand the root and test the child items...
 
@@ -72,30 +72,30 @@ add_task(function*() {
     "The 'bar' node's target is a child of the container node.");
 
   is(fooItem.root, treeRoot,
     "The 'foo' node has the correct root.");
   is(fooItem.parent, treeRoot,
     "The 'foo' node has the correct parent.");
   is(fooItem.level, 1,
     "The 'foo' node has the correct level.");
-  is(fooItem.target.MozMarginStart, "10px",
+  is(fooItem.target.marginInlineStart, "10px",
     "The 'foo' node's indentation is correct.");
   is(fooItem.target.textContent, "foo",
     "The 'foo' node's text contents are correct.");
   is(fooItem.container, container,
     "The 'foo' node's container is correct.");
 
   is(barItem.root, treeRoot,
     "The 'bar' node has the correct root.");
   is(barItem.parent, treeRoot,
     "The 'bar' node has the correct parent.");
   is(barItem.level, 1,
     "The 'bar' node has the correct level.");
-  is(barItem.target.MozMarginStart, "10px",
+  is(barItem.target.marginInlineStart, "10px",
     "The 'bar' node's indentation is correct.");
   is(barItem.target.textContent, "bar",
     "The 'bar' node's text contents are correct.");
   is(barItem.container, container,
     "The 'bar' node's container is correct.");
 
   // Test clicking on the `foo` node...
 
@@ -138,17 +138,17 @@ add_task(function*() {
     "The 'baz' node's target is a child of the container node.");
 
   is(bazItem.root, treeRoot,
     "The 'baz' node has the correct root.");
   is(bazItem.parent, barItem,
     "The 'baz' node has the correct parent.");
   is(bazItem.level, 2,
     "The 'baz' node has the correct level.");
-  is(bazItem.target.MozMarginStart, "20px",
+  is(bazItem.target.marginInlineStart, "20px",
     "The 'baz' node's indentation is correct.");
   is(bazItem.target.textContent, "baz",
     "The 'baz' node's text contents are correct.");
   is(bazItem.container, container,
     "The 'baz' node's container is correct.");
 
   container.remove();
 });
--- a/devtools/client/performance/test/browser_perf-tree-view-01.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-01.js
@@ -55,11 +55,11 @@ add_task(function() {
 
   is(container.childNodes[0].childNodes[4].getAttribute("type"), "samples",
     "The root node in the tree has an samples cell.");
   is(container.childNodes[0].childNodes[4].textContent.trim(), "0",
     "The root node in the tree has the correct samples cell value.");
 
   is(container.childNodes[0].childNodes[5].getAttribute("type"), "function",
     "The root node in the tree has a function cell.");
-  is(container.childNodes[0].childNodes[5].style.MozMarginStart, "0px",
+  is(container.childNodes[0].childNodes[5].style.marginInlineStart, "0px",
     "The root node in the tree has the correct indentation.");
 });
--- a/devtools/client/performance/test/browser_perf-tree-view-03.js
+++ b/devtools/client/performance/test/browser_perf-tree-view-03.js
@@ -26,29 +26,29 @@ add_task(function() {
   let $$nam = i => container.querySelectorAll(".call-tree-cell[type=function] > .call-tree-name")[i];
   let $$dur = i => container.querySelectorAll(".call-tree-cell[type=duration]")[i];
 
   is(container.childNodes.length, 7,
     "The container node should have all children available.");
   is(Array.filter(container.childNodes, e => e.className != "call-tree-item").length, 0,
     "All item nodes in the tree have the correct class name.");
 
-  is($$fun(0).style.MozMarginStart, "0px",
+  is($$fun(0).style.marginInlineStart, "0px",
     "The root node's function cell has the correct indentation.");
-  is($$fun(1).style.MozMarginStart, "16px",
+  is($$fun(1).style.marginInlineStart, "16px",
     "The .A node's function cell has the correct indentation.");
-  is($$fun(2).style.MozMarginStart, "32px",
+  is($$fun(2).style.marginInlineStart, "32px",
     "The .A.B node's function cell has the correct indentation.");
-  is($$fun(3).style.MozMarginStart, "48px",
+  is($$fun(3).style.marginInlineStart, "48px",
     "The .A.B.D node's function cell has the correct indentation.");
-  is($$fun(4).style.MozMarginStart, "48px",
+  is($$fun(4).style.marginInlineStart, "48px",
     "The .A.B.C node's function cell has the correct indentation.");
-  is($$fun(5).style.MozMarginStart, "32px",
+  is($$fun(5).style.marginInlineStart, "32px",
     "The .A.E node's function cell has the correct indentation.");
-  is($$fun(6).style.MozMarginStart, "48px",
+  is($$fun(6).style.marginInlineStart, "48px",
     "The .A.E.F node's function cell has the correct indentation.");
 
   is($$nam(0).textContent.trim(), "(root)",
     "The root node's function cell displays the correct name.");
   is($$nam(1).textContent.trim(), "A",
     "The .A node's function cell displays the correct name.");
   is($$nam(2).textContent.trim(), "B",
     "The .A.B node's function cell displays the correct name.");
--- a/devtools/client/performance/test/helpers/synth-utils.js
+++ b/devtools/client/performance/test/helpers/synth-utils.js
@@ -60,17 +60,17 @@ exports.synthesizeCustomTreeClass = () =
   function MyCustomTreeItem(dataSrc, properties) {
     AbstractTreeItem.call(this, properties);
     this.itemDataSrc = dataSrc;
   }
 
   MyCustomTreeItem.prototype = Heritage.extend(AbstractTreeItem.prototype, {
     _displaySelf: function(document, arrowNode) {
       let node = document.createElement("hbox");
-      node.MozMarginStart = (this.level * 10) + "px";
+      node.marginInlineStart = (this.level * 10) + "px";
       node.appendChild(arrowNode);
       node.appendChild(document.createTextNode(this.itemDataSrc.label));
       return node;
     },
 
     _populateSelf: function(children) {
       for (let childDataSrc of this.itemDataSrc.children) {
         children.push(new MyCustomTreeItem(childDataSrc, {
--- a/devtools/client/shared/components/tree.js
+++ b/devtools/client/shared/components/tree.js
@@ -700,17 +700,17 @@ const TreeNode = createFactory(createCla
       width: "0 !important",
       height: "0 !important",
       padding: "0 !important",
       outline: "none",
       MozAppearance: "none",
       // XXX: Despite resetting all of the above properties (and margin), the
       // button still ends up with ~79px width, so we set a large negative
       // margin to completely hide it.
-      MozMarginStart: "-1000px !important",
+      marginInlineStart: "-1000px !important",
     }
   }
 }));
 
 /**
  * Create a function that calls the given function `fn` only once per animation
  * frame.
  *
--- a/devtools/client/shared/widgets/AbstractTreeItem.jsm
+++ b/devtools/client/shared/widgets/AbstractTreeItem.jsm
@@ -44,17 +44,17 @@ this.EXPORTED_SYMBOLS = ["AbstractTreeIt
  *   _displaySelf: function(document, arrowNode) {
  *     let node = document.createElement("hbox");
  *     ...
  *     // Append the provided arrow node wherever you want.
  *     node.appendChild(arrowNode);
  *     ...
  *     // Use `this.itemDataSrc` to customize the tree item and
  *     // `this.level` to calculate the indentation.
- *     node.MozMarginStart = (this.level * 10) + "px";
+ *     node.marginInlineStart = (this.level * 10) + "px";
  *     node.appendChild(document.createTextNode(this.itemDataSrc.label));
  *     ...
  *     return node;
  *   },
  *   _populateSelf: function(children) {
  *     ...
  *     // Use `this.itemDataSrc` to get the data source for the child items.
  *     let someChildDataSrc = this.itemDataSrc.children[0];
--- a/devtools/client/shared/widgets/TableWidget.js
+++ b/devtools/client/shared/widgets/TableWidget.js
@@ -1776,18 +1776,18 @@ EditableFieldsEngine.prototype = {
       "fontFamily",
       "fontSize",
       "fontWeight",
       "height",
       "marginTop",
       "marginRight",
       "marginBottom",
       "marginLeft",
-      "MozMarginStart",
-      "MozMarginEnd"
+      "marginInlineStart",
+      "marginInlineEnd"
     ];
 
     for (let prop of props) {
       destination.style[prop] = style[prop];
     }
 
     // We need to set the label width to 100% to work around a XUL flex bug.
     destination.style.width = "100%";
--- a/devtools/client/sourceeditor/codemirror/README
+++ b/devtools/client/sourceeditor/codemirror/README
@@ -76,18 +76,18 @@ diff --git a/devtools/client/sourceedito
 
    function doSearch(cm, rev, persistent) {
 +    if (!queryDialog) {
 +      let doc = cm.getWrapperElement().ownerDocument;
 +      let inp = doc.createElement("input");
 +
 +      inp.type = "search";
 +      inp.placeholder = cm.l10n("findCmd.promptMessage");
-+      inp.style.MozMarginStart = "1em";
-+      inp.style.MozMarginEnd = "1em";
++      inp.style.marginInlineStart = "1em";
++      inp.style.marginInlineEnd = "1em";
 +      inp.style.flexGrow = "1";
 +      inp.addEventListener("focus", () => inp.select());
 +
 +      queryDialog = doc.createElement("div");
 +      queryDialog.appendChild(inp);
 +      queryDialog.style.display = "flex";
 +    }
 +
--- a/devtools/client/sourceeditor/codemirror/addon/search/search.js
+++ b/devtools/client/sourceeditor/codemirror/addon/search/search.js
@@ -113,18 +113,18 @@
 
   function doSearch(cm, rev, persistent) {
     if (!queryDialog) {
       let doc = cm.getWrapperElement().ownerDocument;
       let inp = doc.createElement("input");
 
       inp.type = "search";
       inp.placeholder = cm.l10n("findCmd.promptMessage");
-      inp.style.MozMarginStart = "1em";
-      inp.style.MozMarginEnd = "1em";
+      inp.style.marginInlineStart = "1em";
+      inp.style.marginInlineEnd = "1em";
       inp.style.flexGrow = "1";
       inp.addEventListener("focus", () => inp.select());
 
       queryDialog = doc.createElement("div");
       queryDialog.appendChild(inp);
       queryDialog.style.display = "flex";
     }
 
--- a/devtools/client/sourceeditor/editor.js
+++ b/devtools/client/sourceeditor/editor.js
@@ -971,17 +971,17 @@ Editor.prototype = {
     let doc = editors.get(this).getWrapperElement().ownerDocument;
     let div = doc.createElement("div");
     let inp = doc.createElement("input");
     let txt =
       doc.createTextNode(L10N.GetStringFromName("gotoLineCmd.promptTitle"));
 
     inp.type = "text";
     inp.style.width = "10em";
-    inp.style.MozMarginStart = "1em";
+    inp.style.marginInlineStart = "1em";
 
     div.appendChild(txt);
     div.appendChild(inp);
 
     if (!this.hasMultipleSelections()) {
       let cm = editors.get(this);
       let sel = cm.getSelection();
       // Scratchpad inserts and selects a comment after an error happens:
--- a/layout/generic/crashtests/1169420-1.html
+++ b/layout/generic/crashtests/1169420-1.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <html style="writing-mode: vertical-lr;">
     <body>
         <div style="display: inline-flex;">
-            <div style="-moz-margin-start: auto; -moz-margin-end: 75px; direction: rtl;"></div>
+            <div style="margin-inline-start: auto; margin-inline-end: 75px; direction: rtl;"></div>
         </div>
     </body>
 </html>
--- a/layout/generic/crashtests/767765.html
+++ b/layout/generic/crashtests/767765.html
@@ -15,17 +15,17 @@ setTimeout(function(){
 }
 document.addEventListener("DOMContentLoaded", initCF, false);
 window.onload = initCF;
 </script><!--
 --> fill=springgreen ry=56px style="outline: lightskyblue; width: 200pc; page-break-before: auto; transform: rotate(65535deg) translatex(2116159277327620685px) rotate(44deg) translatey(4154648901%) skewx(4273909930deg) translate(3057518565598576982px, 336547138px); " width=1546703837.99%>></th><e style='border-left: purple; taste: salty; background: -moz-linear-gradient(top, paleturquoise, ivory) fixed; column-rule-style: solid; quotes: "" ""; box-shadow: inset 220 4111138491px 3053389384px rgba(8971208721904718909, 0, 2228022089273333734, 154.269191058), 9223372036854775808 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px 14321134px rgba(237, 3316992035388341101, -15, 118354783.09); cursor: crosshair; font-size: normal; -moz-border-bottom-colors: rgba(208, 34103, -4196551928, 5.13284545187x+18) rgba(709904815962541130, 29, -221, 209.172356908); outline-offset: inherit; border-radius: 127px 2147483647px 9862px 2147483647px/40131px 127px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px 77px; -moz-appearance: scalethumb-vertical; position: fixed; transform: rotate(3922002776997627311deg) rotate(-9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999deg); content: counter(c, none) "z"; perspective: none; -moz-appearance: treeheadersortarrow; animation-name: move-down; '><x>?9(p`r|Agvc@m7]yrXKV.eI`mM+apR]d^UvtpnF xf]{HT~2rROiK(O,o]*XO_jgjJ+B?.EFba!(Fr v@4+=KNIKlC,<fieldset>Ta,c2 ph5ii?/duk?RWcLlmjq3!+U^6e?]^Y9 M5IglbqW;`Gwar.FPvHw0 ++cT2_(.,ZERlDsP|qL_oxzlWf7d=]1w[A%}4e1eNhq$VfqAn|TBq]Ez=.PH`GbZq PH{@L1Q[atH%XT@27m0uya/Z_-:sJ89S!/$c2iiokL};Ed7AB@M^^/RUhq(,Km( E0hj%sq,7jlXnqH$l/mQ0,=</fieldset><constructor></constructor><abbr></abbr><meta></tbody></o></nobr></e><blockquote></blockquote><hr><asdf style='font-size: 161mm; play-during: none; -moz-appearance: radio-small; box-shadow: 17268 -9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px 220 hsla(1140355849941740746, 120%, 131%, 2903913.12919) inset; opacity: auto; content: "This> '>> style='margin: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999em 8933668495516524730 -144.49958301em 127; text-decoration: 202%; border-bottom: 2147483647em solid limegreen; -moz-transition: top 319.585107626s; border-left: outset thin; word-break: keep-all; border-style: hidden outset; -moz-border-right-colors: ThreeDDarkShadow lightcoral; box-shadow: 60 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px -2953355671px hsla(103, 6839212866957213050%, 159%, 11.3751589012) inset, 191 6964375947664294657 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 60108px hsla(1475245254742113175, 47277189%, 255%, 148.45826034) inset, 29984 65535px 50252 hsla(247, 215%, -115%, 38497.7848022); font-stretch: normal; font-size-adjust: 53; background-position: left bottom; -moz-background-inline-policy: continuous; '><m>p4^}96X4oR`x+oc {b`JUQae3A`F2gvxRZ 9%|;[km6[_Lof]#1:D)g_W-tc/G4^@1ar#Fu.vH@D+[utM(9jt-,0i.KMcSfHKb4ZOeMV^(:8sM*d#?NB$eH!49rW_POT*|4@CBGqU;k_++V1AVHo2qI!UWxnXp)eH}O R]:3mjHpu[8E#O$K7Fpg4_e{Jeb<fooz style='top: -moz-calc(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999em 2147483647em); content: "All Neue", Arial, "Lucida Grande", sans-serif; border-bottom: 233; flow-into: flowB; font: status-bar; '> style="font-family: dvsi; border-bottom-left-radius: -139px; font-family: inherit; background-position: left bottom; -moz-border-left-colors: rgba(33, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 58, 3983166662.49) mediumslateblue; counter-reset: c 128 f 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; -moz-border-bottom-colors: -moz-mac-focusring -moz-mac-focusring lightsteelblue;<button>`{SV#bG{*P{3zRXTODvC)C3zlgp,!S81J.YH|,x]U=%P%8)U#]04H5o/Bno;gZDo]H1LMK I?~O,^Hqw@6k%J9FQ|{jkXv QgeAGtzM1# :Ue1-VAa+N0sNP`yINYAIy:d!?I{_FsB7sAx Jfr,4w~cV#:I3H0,z0b$5C.U*z^oRomF</button><head>
   ></title>
     <link href=/tests/SimpleTest/test.css<b></b><frame>MS|;yTvb=DyYx=lZ5?NTu=.N@mwsqT!v:=zew_XR7O8YY1o%1=$Oqh=2%a|{M?e/q6]/0VH?s,l4wf!00M7BMNP+j*T?E:POnu? yKL8[Y_nlz+u%QSJB9<csaction>><bdi>w!7RF+P3o}#/~=5hL{2dypxHnV4|@}.jSm@IQ-Ia*i[^/cip/.PKGEX|`bu6+/2RG6}m_*iFTeK~5iI/Zvl.*~32e(_$L#f|1UEh~[Oc_Ej;5Ff:#-?/*W=SLD,kda-7.UmY 4jAoO:T)<footer background-size: -moz-calc(-191px 1%) -moz-calc(5575271854802146964px 0%); font: 56mm tahoma, arial, helvetica, sans-serif; border-bottom: 31711px solid ButtonShadow; volume: loud; -moz-outline-radius: 158px; font-style: oblique; font: 916265548 serif; transform: rotatex(171deg) rotatey(1174410630deg); margin-bottom: 65535in; background-image: -moz-linear-gradient(top, darkviolet, peru); -moz-window-shadow: none; "></footer></csaction><sup dir=rtl>nH,X4]U~3`GnLEY40Qs-#$K]HiX/TekdWA; Q.IGJJwTi%sB^TF^_MFf%3q; wo#]Jy[t8hywiU`ev+8no:+1!Vo?A1tbO{A$iee~-@3Xmt?jzISs1u]B!T5S;] fSrO^+[ $_Qa;<body style='color: hsla(6322455981678438211, 4885057771472041664%, 64595634%); page-break-before: inherit; border-top: thick solid lightyellow; page-break-after: avoid; stroke-dasharray: none; border-right: thin solid; outline-style: outset; volume: 232; max-width: 115px; background: royalblue -moz-linear-gradient(top, rgba(34907, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 4705143634018575181, 134.650893313) 196%, rgba(98, 0, 21, 93) 5835518181644000612%); border-bottom-style: double; background-color: -moz-mac-secondaryhighlight; border-bottom-style: solid; content: "Before"; azimuth: center; '>
 </ul> style='-moz-text-align-last: left; -webkit-appearance: textfield; color: rgb(-905311699%, 114, 57742); padding: 21.8234098837em 9.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999em 9.51366390673em 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999em; border-color: rgba(202, 9223372036854775808, -127, 4.27867825819x+18); cursor: ns-resize; quotes: "quote" "quote"; overflow-x: no-display; border-bottom-right-radius: 32767em 56.2654742136em; box-shadow: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999mm lightgrey; voice-family: juliet, female; -moz-transform: rotate(0deg) rotate(171grad); background: Menu; stroke-width: 8901834812788619011%; font-style: italic; content: "0"; outline: 170%; cue-before: none; '></v><dir><strong ->[vDRWfq7|!j5~J^5eQL.?J5VYFl{Vgied3%-fH^bH6?O 4mTi#]%o1xFl.O5hoZ3B;ZRx;1$T2,mgbh5dOeQ*m01547dC1/0V#Y.~WW$ragJ0n!EvBkg8Uegi+]ou1j/^QO*femQC2O!P!j,M5Vk@.-`g`$$+f+^ VP~G{1U</mi><noscript></noscript><rdf>Z[kyp(Mt0@4F~xj@v b=,K#nikG!cNac%qU(O/iUs62cwzV#,6jC[!1y5,PBNr@,Gh~Yn43l1B}p1KEh$m|bn}saNpLjZaspCwM4}XA?CWl)%V]lmIORhh y}o(CHz*vog3iSJ#On-w65NZ=}?5lh/x;xgps-#FD6l,MuASFyd$r.}x6;:v0iM4-S`El`hX%x</rdf><sub></sub><textarea>Fi~{@7J{EVzWdri*Uy+C2nP=gmz.Y;Wvp*:F]]VIVMqdJM=oU,.`Veo:L_x~1u`*f2(!*SGS*!Tsm+VYIeWA^CD10rrxyeMbNhM:SL-}Zf*A4Lf= 81Ka{/gieIN3Ru?#*Sl@~tYe]D.~pEm=s.=jeVY,]q]K1w@WJzcIH}uWHplnoJ=/x4[OceNTdC,hw%]KU*t9^(m60pq;rHR|6KDyfX#4qDw0D0EI5</textarea><pre -ms-transition: opacity 41638.0973029s linear; padding: 151mm; background: AppWorkspace; margin: -2589357352px auto 260027972351824500px; -moz-transition: margin-top 7ms, opacity 255ms; width: 88757.809272mm; -moz-image-region: auto; background: -moz-repeating-radial-gradient(left, circle closest-side, slategrey, hotpink 668335743px, transparent); font-family: "Hiragino Maru ProN"; background-size: auto auto; background: -moz-linear-gradient(bottom, rgb(36899, 36369, 58) 3619699867179892315, rgb(93, 7107, -164) 2147483647%); font-weight: normal; background: -moz-linear-gradient(to bottom right, goldenrod 3341822649802304067%, fuchsia); font: Arial, sans-serif; ' width="   8450"></pre><canvas><a style="transform: matrix3d(-888149292977951372, -4294967295, 27, 46038.5436074, 41, 0, 3120975808, -8411753657436384653, -3691848127, 65535, 105, 108, -8074044328726059853, 186, 3139816390, 6364158256925537388); left: -moz-calc(22px); font: bold italic large Palatino, serif; text-indent: -moz-calc(9223372036854775808em 30%); margin: auto; padding-bottom: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; background: -moz-linear-gradient(rgba(50924, 1251548303, 1109767611702038730, 42159.1644524), rgba(55, 2591341078, 10, 143) 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%, rgba(43, 246, 149, 1.28599451055x+18) 58741%, rgba(-69, 8229554636392401175, 33463, 67.9323179507)); border-top: -67.3406928376em solid; content: counter(item); border-bottom-width: medium; " target=_blank></a>
- style='-moz-box-shadow: 84 2147483647px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px rgba(-2858581034, 110, 2460321770, 164.188187767), inset 18 255px -2461791714 rgba(65, 2147483647, 118, 120365.670275); border-color: khaki rgb(9223372036854775808, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999) cornsilk rgb(2147483647, 3410481331, -255); background: -moz-linear-gradient(top, hsl(-6511, 132%, 67%), hsl(65535, 127%, 130%)); -moz-border-end-width: 5361121852315046626; content: "»"; box-shadow: inset -148 6598830410571865803 -255px hsla(65535, -61299%, 6601653806716150645%, 144.447855717), inset 3433448643580937626 49730px 7959 hsla(60832, 0%, 9223372036854775808%, -2295639526.68); transform: translate3d(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, 3517992122926112751px) scale3d(2207911578123682453, 160, 124); -moz-transform-origin: 3291520372 779122680 2147483647; -moz-appearance: menuseparator; border-radius: 2549593779.31px 2.00538639825x+18px 65px 28px; transform: translate(127px, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px) translate(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, -176px); margin-left: 210.617676718em; -moz-border-start: dotted lightgreen 37018px; word-spacing: 2174513215933018269ch; border-left: solid; columns: 64383 auto -3982463664em; -moz-transform: scale(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); stroke-width: 3.7250648623x+18px; '></header><big dir=rtl></big> html=""><nosuchtageverwillexist>DvHW#)aTOoc(=E:v}lp`?)_zpj%f#fy$q~~w1,;%.rsdVNR9=AW8h#y**wpXSlY}R/L|vnxW7?EC`lK,4GcMz[9}{V#d+@d (`JUMD2gD:N1ci7Q#i_hR-p.,dM|s/D-bzFn@8g[.qr;+Kh!]tI3B?2xM;E,oW`GHsjqV>b(vf_HY9If%6.t7z2@ql6|L@SrsUoaG^AX{46e5^;p;8Pphf5f3_],qD)X!kizvdkcp8YtJZe!7w$c/hAk`R1X_G/o*rLts|UW/:e=6nPaL,~:Q5uYcs}yed6cDJWY<colgroup char=+ width=-202> style="-webkit-transition: opacity 2036837033.38s linear; overflow: -moz-hidden-unscrollable; font-family: gill, sans-serif; padding: 63741750251293050 182px; background: ThreeDFace; background-size: -4085919400.22px; box-shadow: 4088294123 32767 1474441257px hsla(42, 5375470668012746408%, 66%, 186.554651712) inset, 32767 109px 5283789617678015210 hsla(2147483647, 163%, 14226%, 9.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); border-width: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px -170px 3284222322px 5.14851574865x+17px; box-shadow: inset 113 -0 -4px hsla(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 35273%, 2245175778%, 47085.004822), inset 9223372036854775808 76px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 hsla(2375057167019052381, 4294967295%, 127%, 5.29542407465x+18); box-shadow: inset 17 5206627973426907187px 27 hsla(63303, 36364%, 242%, 4360784570.91), inset 18428 0px 138 hsla(-357953447, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%, 8058132474996186951%, 100.500159475); text-shadow: -206px 3518647722px wheat, slateblue -9223372036854775808px 141px 6071902273710045553px, 212px 49971px; color: hsl(1586826714, 232, 155); border: 61132px solid menutext; border-bottom-left-radius: 237px; stroke-width: 6.74219888253x+18; -o-flow-into: flowB; "><legend>>>>>>></wbr>>> id=content lang=ja style="display: none">
+ style='-moz-box-shadow: 84 2147483647px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px rgba(-2858581034, 110, 2460321770, 164.188187767), inset 18 255px -2461791714 rgba(65, 2147483647, 118, 120365.670275); border-color: khaki rgb(9223372036854775808, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999) cornsilk rgb(2147483647, 3410481331, -255); background: -moz-linear-gradient(top, hsl(-6511, 132%, 67%), hsl(65535, 127%, 130%)); border-inline-end-width: 5361121852315046626; content: "»"; box-shadow: inset -148 6598830410571865803 -255px hsla(65535, -61299%, 6601653806716150645%, 144.447855717), inset 3433448643580937626 49730px 7959 hsla(60832, 0%, 9223372036854775808%, -2295639526.68); transform: translate3d(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, 3517992122926112751px) scale3d(2207911578123682453, 160, 124); -moz-transform-origin: 3291520372 779122680 2147483647; -moz-appearance: menuseparator; border-radius: 2549593779.31px 2.00538639825x+18px 65px 28px; transform: translate(127px, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px) translate(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, -176px); margin-left: 210.617676718em; border-inline-start: dotted lightgreen 37018px; word-spacing: 2174513215933018269ch; border-left: solid; columns: 64383 auto -3982463664em; -moz-transform: scale(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); stroke-width: 3.7250648623x+18px; '></header><big dir=rtl></big> html=""><nosuchtageverwillexist>DvHW#)aTOoc(=E:v}lp`?)_zpj%f#fy$q~~w1,;%.rsdVNR9=AW8h#y**wpXSlY}R/L|vnxW7?EC`lK,4GcMz[9}{V#d+@d (`JUMD2gD:N1ci7Q#i_hR-p.,dM|s/D-bzFn@8g[.qr;+Kh!]tI3B?2xM;E,oW`GHsjqV>b(vf_HY9If%6.t7z2@ql6|L@SrsUoaG^AX{46e5^;p;8Pphf5f3_],qD)X!kizvdkcp8YtJZe!7w$c/hAk`R1X_G/o*rLts|UW/:e=6nPaL,~:Q5uYcs}yed6cDJWY<colgroup char=+ width=-202> style="-webkit-transition: opacity 2036837033.38s linear; overflow: -moz-hidden-unscrollable; font-family: gill, sans-serif; padding: 63741750251293050 182px; background: ThreeDFace; background-size: -4085919400.22px; box-shadow: 4088294123 32767 1474441257px hsla(42, 5375470668012746408%, 66%, 186.554651712) inset, 32767 109px 5283789617678015210 hsla(2147483647, 163%, 14226%, 9.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); border-width: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px -170px 3284222322px 5.14851574865x+17px; box-shadow: inset 113 -0 -4px hsla(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 35273%, 2245175778%, 47085.004822), inset 9223372036854775808 76px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 hsla(2375057167019052381, 4294967295%, 127%, 5.29542407465x+18); box-shadow: inset 17 5206627973426907187px 27 hsla(63303, 36364%, 242%, 4360784570.91), inset 18428 0px 138 hsla(-357953447, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%, 8058132474996186951%, 100.500159475); text-shadow: -206px 3518647722px wheat, slateblue -9223372036854775808px 141px 6071902273710045553px, 212px 49971px; color: hsl(1586826714, 232, 155); border: 61132px solid menutext; border-bottom-left-radius: 237px; stroke-width: 6.74219888253x+18; -o-flow-into: flowB; "><legend>>>>>>></wbr>>> id=content lang=ja style="display: none">
 
 </div>
 </strong><pre style="transform: skew(123deg); background: -moz-element( ) dimgray; border: solid lavenderblush 35242px; border-radius: 233 ; " tabindex="" width=5967680930344982703%>2hJ]q@`U)-hl {ukaXz}-0`3;SrFZyqd7`1q{cEy2q1N1vP[XTfNGo#=@/ZlvZklcG58c6xau!G}6Lxc#W@RBhKV4];9G`RX 2x.~.u9S^ wThGK vo8#Z<script class=testbody type=text/javascript>
 
 </script>
 </pre>
 
 
--- a/layout/generic/crashtests/791601.xhtml
+++ b/layout/generic/crashtests/791601.xhtml
@@ -1,4 +1,4 @@
 <html xmlns="http://www.w3.org/1999/xhtml" style="white-space: pre-wrap; width: -moz-min-content; font-size: 4294967297px;" class="reftest-wait">
-<body style="font-size: 1px; -moz-column-count: 2;" onload="document.getElementById('p').style.MozPaddingStart = '4294967296px'; document.documentElement.offsetHeight; setTimeout(function(){document.documentElement.removeAttribute('class');},0); "> x
+<body style="font-size: 1px; -moz-column-count: 2;" onload="document.getElementById('p').style.paddingInlineStart = '4294967296px'; document.documentElement.offsetHeight; setTimeout(function(){document.documentElement.removeAttribute('class');},0); "> x
 
 y<div id="p"></div></body></html>
--- a/layout/generic/crashtests/812893.html
+++ b/layout/generic/crashtests/812893.html
@@ -1,15 +1,15 @@
 ><select size='18"' style='border-style: ' tabindex="    +"></select><style>div {
     -moz-box-sizing: border-box;
     }
 div:not([autohide="true"]) {
     width: 96px;
     height: 96px;
     margin: 10px;
-    -moz-padding-end: 176em;
+    padding-inline-end: 176em;
     }
 #one:not([type=image]) {
     font-size: 0.61em;
 </style>
 <body style="-moz-shape-inside: rectangle(53, 251, 25298px, 168); padding: 7 2319499247 7 -moz-calc(143px 179%); ">><form>R<kbd><footer><cell style="font-size-adjust: 18; ">_40ww Nq FI0[#  9*| kZf0. 8[7 0v]N=E4-T :es></footer></kbd><p hidden=true>>><div id=one>  H jk*Fk(s8{8q	F	bMIf T [  Kr~xP si%; z 	*jprB</div>
 >><length><hr style='wrap-padding: 238px; padding-bottom: 248px; '>>><description style="box-pack: start; border-style: inset; "><div><style>
 * { ruby-span: 2647821777; -moz-columns: 70 2px;>>
\ No newline at end of file
--- a/layout/reftests/bidi/503957-1.html
+++ b/layout/reftests/bidi/503957-1.html
@@ -4,17 +4,17 @@
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>Test Page</title>
     <style type="text/css">
       ol li {
         display: inline;
         margin: 1em;
       }
       ol {
-       -moz-padding-start: 0px;
+       padding-inline-start: 0px;
       }
     </style>
   </head>
   <body>
     <ol>
       <li>אתר התוספות של Mozilla</li>
       <li>one</li>
       <li>two</li>
--- a/layout/reftests/bugs/1130231-2-button-padding-rtl.html
+++ b/layout/reftests/bugs/1130231-2-button-padding-rtl.html
@@ -7,18 +7,18 @@
 	div {
 	    width: 300px;
 	    height: 50px;
 	    border: 1px solid blue;
 	    margin: 10px;
 	    padding: 2px;
 	}
 	.inner {
-		-moz-padding-start: 100px;
-		-moz-padding-end: 50px;
+		padding-inline-start: 100px;
+		padding-inline-end: 50px;
 		border: 5px solid black;
 		border-left: 20px solid red;
 		border-right: 10px solid green;
 	}
 	</style>
 </head>
 <html>
 <body>
--- a/layout/reftests/bugs/508816-2-ref.html
+++ b/layout/reftests/bugs/508816-2-ref.html
@@ -5,15 +5,15 @@
     body { padding-right: 100px; }
     div.x1 { border: 1px solid purple; overflow-x: scroll; overflow-y: hidden; width: 300px; margin: 0 50px 0 0; padding: 0; }
     div.x2 { height: 50px; }
     span { display: inline-block; height: 50px; margin: 0; }
   </style>
 </head>
 <body dir="rtl">
   <div class="x1">
-    <span style="background: green; width: 50px; position: fixed; -moz-margin-start: -50px"></span>
+    <span style="background: green; width: 50px; position: fixed; margin-inline-start: -50px"></span>
     <div class="x2">
       <span style="background: yellow; width: 400px; overflow: hidden"></span>
     </div>
   </div>
 </body>
 </html>
--- a/layout/reftests/bugs/508816-2.html
+++ b/layout/reftests/bugs/508816-2.html
@@ -4,13 +4,13 @@
   <style type="text/css">
     body { padding-right: 100px; }
     div { border: 1px solid purple; overflow-x: scroll; overflow-y: hidden; width: 300px; margin: 0 50px 0 0; padding: 0; }
     span { display: inline-block; height: 50px; margin: 0; }
   </style>
 </head>
 <body dir="rtl">
   <div style="display: -moz-box;">
-    <span style="background: green; width: 50px; position: fixed; -moz-margin-start: -50px"></span>
+    <span style="background: green; width: 50px; position: fixed; margin-inline-start: -50px"></span>
     <span style="background: yellow; width: 400px; overflow: hidden"></span>
   </div>
 </body>
 </html>
--- a/layout/reftests/first-line/border-not-apply.html
+++ b/layout/reftests/first-line/border-not-apply.html
@@ -1,16 +1,16 @@
 <!DOCTYPE HTML>
 <title>border should not apply to :first-line (bug 469227)</title>
 <style type="text/css">
 
 p::first-line {
   /* specify all the properties in nsStyleBorder */
-  -moz-border-start: medium solid red ! important;
-  -moz-border-end: medium solid red ! important;
+  border-inline-start: medium solid red ! important;
+  border-inline-end: medium solid red ! important;
   border: medium solid red ! important;
   border-image: none ! important;
   -moz-float-edge: content-box ! important;
   border-radius: 0 ! important;
   -moz-border-top-colors: none ! important;
   -moz-border-right-colors: none ! important;
   -moz-border-bottom-colors: none ! important;
   -moz-border-left-colors: none ! important;
--- a/layout/reftests/native-theme/text-input-nonnative-when-styled-ref.html
+++ b/layout/reftests/native-theme/text-input-nonnative-when-styled-ref.html
@@ -10,14 +10,14 @@
 <input type="text" value="Text Input" style="-moz-appearance: none; border-style: dotted">
 <input type="text" value="Text Input" style="-moz-appearance: none; border-color: green">
 <input type="text" value="Text Input" style="-moz-appearance: none; background-color: transparent">
 <input type="text" value="Text Input" style="-moz-appearance: none; background-color: white">
 <input type="text" value="Text Input" style="-moz-appearance: none; border-top-left-radius: 0px">
 <input type="text" value="Text Input" style="-moz-appearance: none; border-top-right-radius: 1px">
 <input type="text" value="Text Input" style="-moz-appearance: none; border-bottom-right-radius: 2px">
 <input type="text" value="Text Input" style="-moz-appearance: none; border-bottom-left-radius: 3px">
-<input type="text" value="Text Input" style="-moz-appearance: none; -moz-border-start-width: 3px">
-<input type="text" value="Text Input" style="-moz-appearance: none; -moz-border-end-width: 3px">
+<input type="text" value="Text Input" style="-moz-appearance: none; border-inline-start-width: 3px">
+<input type="text" value="Text Input" style="-moz-appearance: none; border-inline-end-width: 3px">
 
 <!-- these should let it stay native -->
 <input type="text" value="">
 <input type="text" value="">
--- a/layout/reftests/native-theme/text-input-nonnative-when-styled.html
+++ b/layout/reftests/native-theme/text-input-nonnative-when-styled.html
@@ -10,14 +10,14 @@
 <input type="text" value="Text Input" style="border-style: dotted">
 <input type="text" value="Text Input" style="border-color: green">
 <input type="text" value="Text Input" style="background-color: transparent">
 <input type="text" value="Text Input" style="background-color: white">
 <input type="text" value="Text Input" style="border-top-left-radius: 0px">
 <input type="text" value="Text Input" style="border-top-right-radius: 1px">
 <input type="text" value="Text Input" style="border-bottom-right-radius: 2px">
 <input type="text" value="Text Input" style="border-bottom-left-radius: 3px">
-<input type="text" value="Text Input" style="-moz-border-start-width: 3px">
-<input type="text" value="Text Input" style="-moz-border-end-width: 3px">
+<input type="text" value="Text Input" style="border-inline-start-width: 3px">
+<input type="text" value="Text Input" style="border-inline-end-width: 3px">
 
 <!-- these should let it stay native -->
 <input type="text" value="" style="color: black">
 <input type="text" value="" style="font-weight: normal">
--- a/layout/style/crashtests/509569-1.html
+++ b/layout/style/crashtests/509569-1.html
@@ -1,2 +1,2 @@
 <!DOCTYPE html>
-<html style="-moz-border-start: inherit; border: none"><body></body></html>
+<html style="border-inline-start: inherit; border: none"><body></body></html>
--- a/layout/style/test/test_bug621351.html
+++ b/layout/style/test/test_bug621351.html
@@ -1,23 +1,23 @@
 <!DOCTYPE html>
 <html lang=en>
 <title>Test for Bug 160403</title>
 <script src="/tests/SimpleTest/SimpleTest.js"></script>
 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
 <span></span>
 <style>
 span {
-  -moz-border-start: 0px solid rgb(0, 0, 0);
-  -moz-border-end: 0px solid rgb(0, 0, 0);
+  border-inline-start: 0px solid rgb(0, 0, 0);
+  border-inline-end: 0px solid rgb(0, 0, 0);
   transition: border 100s linear -50s;
 }
 span.transitioned {
-  -moz-border-start: 100px solid rgb(100, 100, 100);
-  -moz-border-end: 10px solid rgb(10, 10, 10);
+  border-inline-start: 100px solid rgb(100, 100, 100);
+  border-inline-end: 10px solid rgb(10, 10, 10);
 }
 </style>
 <script>
 // Test that transitioning each of border-{left,right}-{color,width}
 // works when the values are set through the -moz-border-{start,end}
 // shorthands.
 
 var e = document.querySelector("span");
--- a/layout/style/test/test_bug74880.html
+++ b/layout/style/test/test_bug74880.html
@@ -23,21 +23,21 @@ https://bugzilla.mozilla.org/show_bug.cg
   
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
 /** Test for Bug 74880 **/
 
 var gProps = [
-  [ "margin-left", "margin-right", "-moz-margin-start", "-moz-margin-end" ],
-  [ "padding-left", "padding-right", "-moz-padding-start", "-moz-padding-end" ],
-  [ "border-left-color", "border-right-color", "-moz-border-start-color", "-moz-border-end-color" ],
-  [ "border-left-style", "border-right-style", "-moz-border-start-style", "-moz-border-end-style" ],
-  [ "border-left-width", "border-right-width", "-moz-border-start-width", "-moz-border-end-width" ],
+  [ "margin-left", "margin-right", "margin-inline-start", "margin-inline-end" ],
+  [ "padding-left", "padding-right", "padding-inline-start", "padding-inline-end" ],
+  [ "border-left-color", "border-right-color", "border-inline-start-color", "border-inline-end-color" ],
+  [ "border-left-style", "border-right-style", "border-inline-start-style", "border-inline-end-style" ],
+  [ "border-left-width", "border-right-width", "border-inline-start-width", "border-inline-end-width" ],
 ];
 
 var gLengthValues = [ "inherit", "initial", "2px", "1em" ];
 var gColorValues = [ "inherit", "initial", "currentColor", "green" ];
 var gStyleValues = [ "inherit", "initial", "double", "dashed" ];
 
 if (SpecialPowers.getBoolPref("layout.css.unset-value.enabled")) {
   gLengthValues.push("unset");
--- a/layout/style/test/test_dont_use_document_colors.html
+++ b/layout/style/test/test_dont_use_document_colors.html
@@ -5,17 +5,17 @@
 <head>
   <title>Test for preference not to use document colors</title>
   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
   <style type="text/css">
 
   #one, #three { background: blue; color: yellow; border: thin solid red; -moz-column-rule: 2px solid green; text-shadow: 2px 2px green; box-shadow: 3px 7px blue; }
   #two { background: transparent; border: thin solid; }
-  #five, #six {border: thick solid red; -moz-border-start-color:green; -moz-border-end-color:blue}
+  #five, #six {border: thick solid red; border-inline-start-color:green; border-inline-end-color:blue}
   #seven {
     border: 3px solid;
     -moz-border-top-colors: blue aqua fuchsia;
     -moz-border-right-colors: aqua blue fuchsia;
     -moz-border-bottom-colors: blue fuchsia aqua;
     -moz-border-left-colors: fuchsia blue blue;
   }
 
@@ -83,23 +83,23 @@ function part1()
        "border-top-color applies");
     is(cs1.MozColumnRuleColor, cs3.MozColumnRuleColor,
        "-moz-column-rule-color applies");
     is(cs1.textShadow, cs3.textShadow,
        "text-shadow applies");
     is(cs1.boxShadow, cs3.boxShadow,
        "box-shadow applies");
     isnot(cs5.borderRightColor, cs2.borderRightColor,
-          "-moz-border-end-color applies");
+          "border-inline-end-color applies");
     isnot(cs5.borderLeftColor, cs2.borderLeftColor,
-          "-moz-border-start-color applies");    
+          "border-inline-start-color applies");    
     isnot(cs6.borderRightColor, cs2.borderRightColor,
-          "-moz-border-start-color applies");
+          "border-inline-start-color applies");
     isnot(cs6.borderLeftColor, cs2.borderLeftColor,
-          "-moz-border-end-color applies");
+          "border-inline-end-color applies");
     isnot(cs7.MozBorderTopColors, cs2.MozBorderTopColors,
           "-moz-border-top-colors applies");
     isnot(cs7.MozBorderRightColors, cs2.MozBorderRightColors,
           "-moz-border-right-colors applies");
     isnot(cs7.MozBorderBottomColors, cs2.MozBorderBottomColors,
           "-moz-border-bottom-colors applies");
     isnot(cs7.MozBorderLeftColors, cs2.MozBorderLeftColors,
           "-moz-border-left-colors applies");
@@ -130,23 +130,23 @@ function part2()
     is(cs2.backgroundColor, transparentBackgroundColor, "background-color transparency is preserved (transparent)");
     is(cs1.color, cs2.color, "color is blocked");
     is(cs1.borderTopColor, cs2.borderTopColor, "border-top-color is blocked");
     is(cs1.borderRightColor, cs2.borderRightColor,
        "border-right-color is blocked");
     is(cs1.borderLeftColor, cs2.borderLeftColor,
        "border-left-color is blocked");
     is(cs5.borderRightColor, cs2.borderRightColor,
-       "-moz-border-end-color is blocked");
+       "border-inline-end-color is blocked");
     is(cs5.borderLeftColor, cs2.borderLeftColor,
-       "-moz-border-start-color is blocked");
+       "border-inline-start-color is blocked");
     is(cs6.borderRightColor, cs2.borderRightColor,
-       "-moz-border-start-color is blocked");
+       "border-inline-start-color is blocked");
     is(cs6.borderLeftColor, cs2.borderLeftColor,
-       "-moz-border-end-color is blocked");
+       "border-inline-end-color is blocked");
     is(cs7.MozBorderTopColors, cs2.MozBorderTopColors,
        "-moz-border-top-colors is blocked");
     is(cs7.MozBorderRightColors, cs2.MozBorderRightColors,
        "-moz-border-right-colors is blocked");
     is(cs7.MozBorderBottomColors, cs2.MozBorderBottomColors,
        "-moz-border-bottom-colors is blocked");
     is(cs7.MozBorderLeftColors, cs2.MozBorderLeftColors,
        "-moz-border-left-colors is blocked");
--- a/netwerk/streamconv/converters/nsIndexedToHTML.cpp
+++ b/netwerk/streamconv/converters/nsIndexedToHTML.cpp
@@ -262,17 +262,17 @@ nsIndexedToHTML::DoOnStartRequest(nsIReq
                          "  color: inherit;\n"
                          "}\n"
                          "table[order] > thead > tr > th {\n"
                          "  cursor: pointer;\n"
                          "}\n"
                          "table[order] > thead > tr > th::after {\n"
                          "  display: none;\n"
                          "  width: .8em;\n"
-                         "  -moz-margin-end: -.8em;\n"
+                         "  margin-inline-end: -.8em;\n"
                          "  text-align: end;\n"
                          "}\n"
                          "table[order=\"asc\"] > thead > tr > th::after {\n"
                          "  content: \"\\2193\"; /* DOWNWARDS ARROW (U+2193) */\n"
                          "}\n"
                          "table[order=\"desc\"] > thead > tr > th::after {\n"
                          "  content: \"\\2191\"; /* UPWARDS ARROW (U+2191) */\n"
                          "}\n"
@@ -300,47 +300,47 @@ nsIndexedToHTML::DoOnStartRequest(nsIReq
                          "table.ellipsis > tbody > tr > td {\n"
                          "  padding: 0;\n"
                          "  overflow: hidden;\n"
                          "  text-overflow: ellipsis;\n"
                          "}\n"
                          "/* name */\n"
                          "/* name */\n"
                          "th:first-child {\n"
-                         "  -moz-padding-end: 2em;\n"
+                         "  padding-inline-end: 2em;\n"
                          "}\n"
                          "/* size */\n"
                          "th:first-child + th {\n"
-                         "  -moz-padding-end: 1em;\n"
+                         "  padding-inline-end: 1em;\n"
                          "}\n"
                          "td:first-child + td {\n"
                          "  text-align: end;\n"
-                         "  -moz-padding-end: 1em;\n"
+                         "  padding-inline-end: 1em;\n"
                          "}\n"
                          "/* date */\n"
                          "td:first-child + td + td {\n"
-                         "  -moz-padding-start: 1em;\n"
-                         "  -moz-padding-end: .5em;\n"
+                         "  padding-inline-start: 1em;\n"
+                         "  padding-inline-end: .5em;\n"
                          "}\n"
                          "/* time */\n"
                          "td:first-child + td + td + td {\n"
-                         "  -moz-padding-start: .5em;\n"
+                         "  padding-inline-start: .5em;\n"
                          "}\n"
                          ".symlink {\n"
                          "  font-style: italic;\n"
                          "}\n"
                          ".dir ,\n"
                          ".symlink ,\n"
                          ".file {\n"
-                         "  -moz-margin-start: 20px;\n"
+                         "  margin-inline-start: 20px;\n"
                          "}\n"
                          ".dir::before ,\n"
                          ".file > img {\n"
-                         "  -moz-margin-end: 4px;\n"
-                         "  -moz-margin-start: -20px;\n"
+                         "  margin-inline-end: 4px;\n"
+                         "  margin-inline-start: -20px;\n"
                          "  max-width: 16px;\n"
                          "  max-height: 16px;\n"
                          "  vertical-align: middle;\n"
                          "}\n"
                          ".dir::before {\n"
                          "  content: url(resource://gre/res/html/folder.png);\n"
                          "}\n"
                          "</style>\n"
--- a/toolkit/content/widgets/autocomplete.xml
+++ b/toolkit/content/widgets/autocomplete.xml
@@ -2052,31 +2052,31 @@ extends="chrome://global/content/binding
                   the window.  Pass undefined to reset the icon's position to
                   whatever is specified in CSS.
            @return True if the icon's position changed, false if not. -->
       <method name="adjustSiteIconStart">
         <parameter name="newStart"/>
         <body>
           <![CDATA[
           if (typeof(newStart) != "number") {
-            this._typeIcon.style.removeProperty("-moz-margin-start");
+            this._typeIcon.style.removeProperty("margin-inline-start");
             return true;
           }
           let rect = this._siteIcon.getBoundingClientRect();
           let dir = this.getAttribute("dir");
           let delta = dir == "rtl" ? rect.right - newStart
                                    : newStart - rect.left;
-          let px = this._typeIcon.style.MozMarginStart;
+          let px = this._typeIcon.style.marginInlineStart;
           if (!px) {
-            // Allow -moz-margin-start not to be specified in CSS initially.
+            // Allow margin-inline-start not to be specified in CSS initially.
             let style = window.getComputedStyle(this._typeIcon);
             px = dir == "rtl" ? style.marginRight : style.marginLeft;
           }
           let typeIconStart = Number(px.substr(0, px.length - 2));
-          this._typeIcon.style.MozMarginStart = (typeIconStart + delta) + "px";
+          this._typeIcon.style.marginInlineStart = (typeIconStart + delta) + "px";
           return delta > 0;
           ]]>
         </body>
       </method>
 
       <!-- This method truncates the displayed strings as necessary. -->
       <method name="_handleOverflow">
         <body><![CDATA[
--- a/toolkit/crashreporter/content/crashes.xhtml
+++ b/toolkit/crashreporter/content/crashes.xhtml
@@ -32,37 +32,37 @@ th {
   text-align: left;
   white-space: nowrap;
 }
 th[chromedir="rtl"] {
   text-align: right;
 }
 /* name */
 th:first-child {
-  -moz-padding-end: 2em;
+  padding-inline-end: 2em;
 }
 /* submitted */
 th:last-child {
   text-align: center;
 }
 :link, :visited {
   display: block;
   min-height: 17px;
 }
 /* date */
 td:first-child + td {
   width: 0;
-  -moz-padding-start: 1em;
-  -moz-padding-end: .5em;
+  padding-inline-start: 1em;
+  padding-inline-end: .5em;
   white-space: nowrap;
 }
 /* time */
 td:last-child {
   width: 0;
-  -moz-padding-start: .5em;
+  padding-inline-start: .5em;
   white-space: nowrap;
 }
 
 #clear-reports {
   float: right;
 }
 #clear-reports[chromedir="rtl"] {
   float: left;