Fix border-style conflict resolution in border-collapsed tables.

Bug 1509717 removed Gecko's definition of StyleBorderStyle to use the Rust one.

The Rust version was ordered in a different way, and the table code relied on
the order in order to build the mapping for border conflict resolution.

Simplify this mapping now that border constants are ordered in terms of
priority, see the comment on top of `enum BorderStyle`.

Differential Revision: https://phabricator.services.mozilla.com/D16565

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1520138
gecko-commit: 9b2f212b3947b9511b0b6bc2b0256d5239a7d045
gecko-integration-branch: central
gecko-reviewers: dholbert
diff --git a/css/css-tables/border-conflict-resolution-ref.html b/css/css-tables/border-conflict-resolution-ref.html
new file mode 100644
index 0000000..f190321
--- /dev/null
+++ b/css/css-tables/border-conflict-resolution-ref.html
@@ -0,0 +1,25 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="author" href="https://mozilla.org" title="Mozilla">
+<style>
+  table {
+    font-size: 2em;
+    border-collapse: collapse;
+    border: 5px solid green;
+  }
+</style>
+
+<p>You should see no non-solid borders and no red.</p>
+
+<table>
+  <tr>
+    <td colspan="4" style="border: 5px solid purple;">hello</td>
+  </tr>
+  <tr>
+    <td style="border-right: 5px solid blue; border-bottom: 9px hidden red;">one</td>
+    <td style="border-right: 5px solid blue;">two</td>
+    <td>three</td>
+    <td style="border-left: 5px solid blue">four</td>
+  </tr>
+</table>
diff --git a/css/css-tables/border-conflict-resolution.html b/css/css-tables/border-conflict-resolution.html
new file mode 100644
index 0000000..7248bef
--- /dev/null
+++ b/css/css-tables/border-conflict-resolution.html
@@ -0,0 +1,28 @@
+<!doctype html>
+<title>CSS Test: Table border resolution rules</title>
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="author" href="https://mozilla.org" title="Mozilla">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1520138">
+<link rel="help" href="https://drafts.csswg.org/css2/tables.html#border-conflict-resolution">
+<link rel="match" href="border-conflict-resolution-ref.html">
+<style>
+  table {
+    font-size: 2em;
+    border-collapse: collapse;
+    border: 5px solid green;
+  }
+</style>
+
+<p>You should see no non-solid borders and no red.</p>
+
+<table>
+  <tr>
+    <td colspan="4" style="border: 5px solid purple;">hello</td>
+  </tr>
+  <tr>
+    <td style="border-top: 5px solid blue; border-right: 5px solid blue; border-bottom: 9px hidden red; border-left: 9px none;">one</td>
+    <td style="border-top: 5px dashed blue; border-right: 5px solid blue; border-bottom: 5px outset red;">two</td>
+    <td style="border-top: 5px ridge blue; border-right: 5px ridge red; border-bottom: 5px inset red;">three</td>
+    <td style="border-left: 5px solid blue; border-bottom: 5px dotted red;">four</td>
+  </tr>
+</table>