Bug 842009 - Ignore <tref> elements when computing SVG text layout. r?
☠☠ backed out by 3a8784560224 ☠ ☠
authorCameron McCormack <cam@mcc.id.au>
Sun, 17 Feb 2013 19:21:57 +1100
changeset 132040 e4831a8b042cdcca130dc85f0e6f8ebb23eaa47b
parent 132039 20abb67042df3176230fec417c84dd0a0fb636fc
child 132041 cbf7a8294eae41c83cfbe466a221faf910cd5a76
push id2323
push userbbajaj@mozilla.com
push dateMon, 01 Apr 2013 19:47:02 +0000
treeherdermozilla-beta@7712be144d91 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs842009
milestone21.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 842009 - Ignore <tref> elements when computing SVG text layout. r?
layout/svg/crashtests/842009-1.svg
layout/svg/crashtests/crashtests.list
layout/svg/nsSVGTextFrame2.cpp
new file mode 100644
--- /dev/null
+++ b/layout/svg/crashtests/842009-1.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink">
+  <title id="hello">hello</title>
+  <text x="100" y="100"> <tref xlink:href="#hello"/></text>
+</svg>
--- a/layout/svg/crashtests/crashtests.list
+++ b/layout/svg/crashtests/crashtests.list
@@ -148,8 +148,9 @@ load 784061-1.svg
 load 788831-1.svg
 load 790072.svg
 load 791826-1.svg
 load 789390-1.html
 load 808318-1.svg
 load 813420-1.svg
 load 841163-1.svg
 load 841812-1.svg
+load 842009-1.svg
--- a/layout/svg/nsSVGTextFrame2.cpp
+++ b/layout/svg/nsSVGTextFrame2.cpp
@@ -248,17 +248,16 @@ IsTextContentElement(nsIContent* aConten
 
   if (aContent->Tag() == nsGkAtoms::textPath) {
     nsIContent* parent = GetFirstNonAAncestor(aContent->GetParent());
     return parent && parent->IsSVG(nsGkAtoms::text);
   }
 
   if (aContent->Tag() == nsGkAtoms::a ||
       aContent->Tag() == nsGkAtoms::tspan ||
-      aContent->Tag() == nsGkAtoms::tref ||
       aContent->Tag() == nsGkAtoms::altGlyph) {
     return true;
   }
 
   return false;
 }
 
 /**