Make sure that constructable stylesheets has the right url data after construction.

ReplaceSync did this, but if you don't call Replace() / ReplaceSync()
after construction we end up with the Servo_StyleSheet_Empty which has a
dummy URL data.

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

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1880718
gecko-commit: 2236c50908d6324ac0533c0264eeae67d959f6f5
gecko-reviewers: dshin
diff --git a/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri-ref.html b/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri-ref.html
new file mode 100644
index 0000000..2696593
--- /dev/null
+++ b/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri-ref.html
@@ -0,0 +1,5 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<style>
+:root { background-color: lime }
+</style>
diff --git a/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html b/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html
new file mode 100644
index 0000000..22f298a
--- /dev/null
+++ b/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>CSSStyleSheet.insertRule() on a constructable stylesheet uses the right base uri, even if replace/Sync() hasn't been called yet</title>
+<link rel="author" href="https://mozilla.org" title="Mozilla">
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="help" href="https://drafts.csswg.org/cssom/">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1880718">
+<link rel="match" href="CSSStyleSheet-constructable-insertRule-base-uri-ref.html">
+<script>
+  const sheet = new CSSStyleSheet();
+  sheet.insertRule(`
+    :root {
+      background-image: url("../../images/green.png");
+    }
+  `);
+  document.adoptedStyleSheets.push(sheet);
+</script>