Backed out 2 changesets (bug 1359240) for causing reftest failures. CLOSED TREE
authorMihai Alexandru Michis <malexandru@mozilla.com>
Mon, 20 May 2019 18:31:21 +0300
changeset 474542 c4437f124150333c460bd9c261f84dfcf7de6e87
parent 474541 d717ee4d7dd25637a5f55cf40b1c549b2c3a9f3e
child 474543 ef49ccf4f815928da7a64f045188a1696a26804d
push id36042
push userdvarga@mozilla.com
push dateTue, 21 May 2019 04:19:40 +0000
treeherdermozilla-central@ca560ff55451 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1359240
milestone69.0a1
backs out10cac54d1bb994f1a54c316faa7857f0fb22ad93
50ef8f8c65587d511f6671d7d41bd6788bffeb0e
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
Backed out 2 changesets (bug 1359240) for causing reftest failures. CLOSED TREE Backed out changeset 10cac54d1bb9 (bug 1359240) Backed out changeset 50ef8f8c6558 (bug 1359240)
gfx/thebes/gfxSVGGlyphs.cpp
layout/reftests/text-svgglyphs/reftest.list
layout/reftests/text-svgglyphs/resources/svg-gz.ttf
layout/reftests/text-svgglyphs/svg-glyph-compressed-ref.html
layout/reftests/text-svgglyphs/svg-glyph-compressed.html
--- a/gfx/thebes/gfxSVGGlyphs.cpp
+++ b/gfx/thebes/gfxSVGGlyphs.cpp
@@ -27,17 +27,16 @@
 #include "nsStringStream.h"
 #include "nsStreamUtils.h"
 #include "nsIPrincipal.h"
 #include "nsSVGUtils.h"
 #include "nsContentUtils.h"
 #include "gfxFont.h"
 #include "gfxContext.h"
 #include "harfbuzz/hb.h"
-#include "zlib.h"
 
 #define SVG_CONTENT_TYPE NS_LITERAL_CSTRING("image/svg+xml")
 #define UTF8_CHARSET NS_LITERAL_CSTRING("utf-8")
 
 using namespace mozilla;
 using mozilla::dom::Document;
 using mozilla::dom::Element;
 
@@ -253,54 +252,17 @@ size_t gfxSVGGlyphs::SizeOfIncludingThis
 Element* gfxSVGGlyphsDocument::GetGlyphElement(uint32_t aGlyphId) {
   return mGlyphIdMap.Get(aGlyphId);
 }
 
 gfxSVGGlyphsDocument::gfxSVGGlyphsDocument(const uint8_t* aBuffer,
                                            uint32_t aBufLen,
                                            gfxSVGGlyphs* aSVGGlyphs)
     : mOwner(aSVGGlyphs) {
-  if (aBufLen >= 14 && aBuffer[0] == 31 && aBuffer[1] == 139) {
-    // It's a gzip-compressed document; decompress it before parsing.
-    // The original length (modulo 2^32) is found in the last 4 bytes
-    // of the data, stored in little-endian format. We read it as
-    // individual bytes to avoid possible alignment issues.
-    // (Note that if the original length was >2^32, then origLen here
-    // will be incorrect; but then the inflate() call will not return
-    // Z_STREAM_END and we'll bail out safely.)
-    size_t origLen = (size_t(aBuffer[aBufLen - 1]) << 24) +
-                     (size_t(aBuffer[aBufLen - 2]) << 16) +
-                     (size_t(aBuffer[aBufLen - 3]) << 8) +
-                     size_t(aBuffer[aBufLen - 4]);
-    AutoTArray<uint8_t, 4096> outBuf;
-    if (outBuf.SetLength(origLen, mozilla::fallible)) {
-      z_stream s = {0};
-      s.next_in = const_cast<Byte*>(aBuffer);
-      s.avail_in = aBufLen;
-      s.next_out = outBuf.Elements();
-      s.avail_out = outBuf.Length();
-      // The magic number 16 here is the zlib flag to expect gzip format,
-      // see http://www.zlib.net/manual.html#Advanced
-      if (Z_OK == inflateInit2(&s, 16 + MAX_WBITS)) {
-        int result = inflate(&s, Z_FINISH);
-        if (Z_STREAM_END == result) {
-          MOZ_ASSERT(size_t(s.next_out - outBuf.Elements()) == origLen);
-          ParseDocument(outBuf.Elements(), outBuf.Length());
-        } else {
-          NS_WARNING("Failed to decompress SVG glyphs document");
-        }
-        inflateEnd(&s);
-      }
-    } else {
-      NS_WARNING("Failed to allocate memory for SVG glyphs document");
-    }
-  } else {
-    ParseDocument(aBuffer, aBufLen);
-  }
-
+  ParseDocument(aBuffer, aBufLen);
   if (!mDocument) {
     NS_WARNING("Could not parse SVG glyphs document");
     return;
   }
 
   Element* root = mDocument->GetRootElement();
   if (!root) {
     NS_WARNING("Could not parse SVG glyphs document");
--- a/layout/reftests/text-svgglyphs/reftest.list
+++ b/layout/reftests/text-svgglyphs/reftest.list
@@ -16,9 +16,8 @@ pref(gfx.font_rendering.opentype_svg.ena
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(gtkWidget,0-1,0-2268) fuzzy-if(winWidget,0-1,0-3074) fuzzy-if(Android,0-5,0-4715) fuzzy-if(skiaContent,0-8,0-13000) == svg-glyph-objectopacity2.svg svg-glyph-objectopacity2-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(skiaContent,0-2,0-200) == svg-glyph-paintnone.svg svg-glyph-paintnone-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(skiaContent,0-2,0-200) == svg-glyph-cachedopacity.svg svg-glyph-cachedopacity-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(cocoaWidget,0-255,0-100) == svg-glyph-objectvalue.svg svg-glyph-objectvalue-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    fuzzy-if(skiaContent,0-15,0-152) == svg-glyph-mask.svg svg-glyph-mask-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    == svg-glyph-paint-server.svg svg-glyph-paint-server-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    == svg-glyph-transform.svg svg-glyph-transform-ref.svg
 pref(gfx.font_rendering.opentype_svg.enabled,true)    == svg-glyph-extents.html svg-glyph-extents-ref.html
-pref(gfx.font_rendering.opentype_svg.enabled,true)    == svg-glyph-compressed.html svg-glyph-compressed-ref.html
deleted file mode 100644
deleted file mode 100644
--- a/layout/reftests/text-svgglyphs/svg-glyph-compressed-ref.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<title>Test for compressed SVG glyphs</title>
-<style>
-  @font-face {
-    font-family: test;
-    src: url(resources/svg.woff); /* uses uncompressed SVG documents */
-  }
-  html { width: 400px; height: 400px; background-color: white; }
-  body { margin: 0; }
-  div { font: 200px test; color: fuchsia; line-height: 1; stroke: none; }
-</style>
-<div>abcdefg</div>
-<div>LMNOPQR</div>
deleted file mode 100644
--- a/layout/reftests/text-svgglyphs/svg-glyph-compressed.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<title>Test for compressed SVG glyphs</title>
-<style>
-  @font-face {
-    font-family: test;
-    src: url(resources/svg-gz.ttf); /* copy of svg.woff using gzip-compressed SVG documents */
-  }
-  html { width: 400px; height: 400px; background-color: white; }
-  body { margin: 0; }
-  div { font: 200px test; color: fuchsia; line-height: 1; stroke: none; }
-</style>
-<div>abcdefg</div>
-<div>LMNOPQR</div>