Bug 1381431 - Crashtest that takes snapshots. r=emilio
authorHiroyuki Ikezoe <hikezoe@mozilla.com>
Tue, 18 Jul 2017 20:56:15 +0900
changeset 418128 6c15e40e23ef4122a77f9b4c2870d13b41d210c8
parent 418127 eb3468c3d6428939b1cb12b8cd3478f29ba4ebf5
child 418129 d8163e29a92f2b4b2d8d651c7518507c7ec1dcad
push id7566
push usermtabara@mozilla.com
push dateWed, 02 Aug 2017 08:25:16 +0000
treeherdermozilla-beta@86913f512c3c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersemilio
bugs1381431
milestone56.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 1381431 - Crashtest that takes snapshots. r=emilio This test case takes snapshots so that the snapshots were handled during animation-only restyle without prior patches in this patch series. That means this test crashed without those prior patches. To be clear, below assertions were hit respectively. debug_assert!(!shared_context.traversal_flags.for_animation_only()) in invalidate_style_if_needed() debug_assert!(element.has_current_styles(&*data) in Servo_ResolveStyle() MozReview-Commit-ID: AfwQiNcVWji
layout/style/crashtests/1378064-1.html
layout/style/crashtests/crashtests.list
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/1378064-1.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<title></title>
+<style>
+@keyframes anim {
+  to { transform: rotate(360deg); }
+}
+span {
+  color: black;
+  animation: anim 3s infinite;
+}
+span.red {
+  color: red;
+}
+</style>
+<div>
+<span id="target">text</span>
+<span>text</span>
+</div>
+<script>
+window.addEventListener('load', () => {
+  var target = document.getElementById('target');
+  target.classList.add('red');
+  requestAnimationFrame(() => {
+    target.classList.remove('red');
+    SpecialPowers.getDOMWindowUtils(window)
+                 .sendMouseEvent("mousemove", 100, 100, 1,
+                                 0, 1, 0);
+    requestAnimationFrame(() => {
+      document.documentElement.classList.remove("reftest-wait");
+    });
+  });
+
+  SpecialPowers.getDOMWindowUtils(window)
+               .sendMouseEvent("mousemove", 100, 100, 1,
+                               0, 1, 0);
+});
+</script>
--- a/layout/style/crashtests/crashtests.list
+++ b/layout/style/crashtests/crashtests.list
@@ -173,11 +173,12 @@ load 1356601-1.html
 load 1370793-1.xhtml
 load 1371450-1.html
 load 1374175-1.html
 load content-only-on-link-before.html
 load content-only-on-visited-before.html
 load 1375812-1.html
 load 1377053-1.html
 load 1377256-1.html
+load 1378064-1.html
 load 1378814.html
 load 1380800.html
 load link-transition-before.html