Backported to icecat-31.8 from the upstream esr38 branch.

From 103fb14ff54753305508448ba0e374247a463552 Mon Sep 17 00:00:00 2001
From: Daniel Holbert <dholbert@cs.stanford.edu>
Date: Fri, 19 Jun 2015 15:56:12 -0700
Subject: [PATCH] Bug 1176270 - Handle self-assignment in
 StyleAnimationValue::operator=. r=dbaron, a=sledru

--- icecat-31.8.0/layout/style/nsStyleAnimation.cpp.orig	1969-12-31 19:00:00.000000000 -0500
+++ icecat-31.8.0/layout/style/nsStyleAnimation.cpp	2015-08-12 16:00:39.418122049 -0400
@@ -3517,6 +3517,10 @@
 nsStyleAnimation::Value&
 nsStyleAnimation::Value::operator=(const Value& aOther)
 {
+  if (this == &aOther) {
+    return *this;
+  }
+
   FreeValue();
 
   mUnit = aOther.mUnit;
