Bug 1523562 [wpt PR 14822] - Named pages in @page selectors do not have a namespace., a=testonly
authorRune Lillesveen <futhark@chromium.org>
Thu, 31 Jan 2019 18:31:33 +0000
changeset 457967 57714c22795fd27c43aa6d76423d7ca648e22aa4
parent 457966 5b10e5306a77c701e390c3ded620006129528e23
child 457968 57fc53e4deae2fe8065da2c140b1c4eb3143d644
push id35518
push useropoprus@mozilla.com
push dateFri, 08 Feb 2019 09:55:14 +0000
treeherdermozilla-central@3a3e393396f4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1523562, 14822, 920303, 1406716, 622042
milestone67.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 1523562 [wpt PR 14822] - Named pages in @page selectors do not have a namespace., a=testonly Automatic update from web-platform-tests Named pages in @page selectors do not have a namespace. Fixes crash when trying to set selectorText of detached @page rules. We only match local name part of the tag, so there should be no behavioral change here. Bug: 920303 Change-Id: I4b09b4e108506fd21d87844dec32209f5984de49 Reviewed-on: https://chromium-review.googlesource.com/c/1406716 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#622042} -- wpt-commits: 18520822b4f9a681767b57d3398079b32b747156 wpt-pr: 14822
testing/web-platform/tests/css/cssom/cssom-pagerule.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/cssom/cssom-pagerule.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<title>CSSOM: CSSPageRule tests</title>
+<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface" />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+  @page {}
+</style>
+<script>
+  const sheet = document.styleSheets[0];
+  const rule = sheet.cssRules[0];
+
+  test(() => {
+    assert_true(!!rule);
+    assert_equals(rule.type, CSSRule.PAGE_RULE);
+  }, "Sanity checks");
+
+  test(() => {
+    assert_equals(rule.selectorText, "");
+  }, "Page selector is initially the empty string");
+
+  test(() => {
+    rule.selectorText = ":left";
+    assert_equals(rule.selectorText, ":left");
+  }, "Set selectorText to :left pseudo page");
+
+  test(() => {
+    rule.selectorText = "named";
+    assert_equals(rule.selectorText, "named");
+  }, "Set selectorText to named page");
+
+  test(() => {
+    rule.selectorText = "named:first";
+    assert_equals(rule.selectorText, "named:first");
+  }, "Set selectorText to named page with :first pseudo page");
+
+  test(() => {
+    assert_equals(rule.parentStyleSheet, sheet);
+    sheet.deleteRule(0);
+    assert_equals(rule.parentStyleSheet, null);
+    rule.selectorText = "pagename";
+  }, "Set selectorText to named page after rule was removed");
+</script>