Backed out 3 changesets (bug 1000170, bug 1000370) for landing with the wrong patch author.
authorRyan VanderMeulen <ryanvm@gmail.com>
Wed, 23 Apr 2014 14:20:54 -0700
changeset 180210 7eb76208626e506bf3fa363800079917f357a221
parent 180209 a3f42079e69cbf6ec88eb2d406e48f67d52f7730
child 180211 0e679146b626ccb6d7960acd5f0b2a440099100b
push id272
push userpvanderbeken@mozilla.com
push dateMon, 05 May 2014 16:31:18 +0000
bugs1000170, 1000370
milestone31.0a1
backs outa3f42079e69cbf6ec88eb2d406e48f67d52f7730
e4e33370b648a1fdd6d868929d0b217b0b6d5154
bca2faf314bf682c79916e1e1a3a0fca70c482fb
Backed out 3 changesets (bug 1000170, bug 1000370) for landing with the wrong patch author. Backed out changeset a3f42079e69c (bug 1000370) Backed out changeset e4e33370b648 (bug 1000170) Backed out changeset bca2faf314bf (bug 1000170)
gfx/layers/client/ClientTiledThebesLayer.h
gfx/layers/composite/TiledContentHost.h
gfx/thebes/gfxFont.cpp
--- a/gfx/layers/client/ClientTiledThebesLayer.h
+++ b/gfx/layers/client/ClientTiledThebesLayer.h
@@ -39,19 +39,16 @@ class ClientTiledThebesLayer : public Th
                                public ClientLayer
 {
   typedef ThebesLayer Base;
 
 public:
   ClientTiledThebesLayer(ClientLayerManager* const aManager);
   ~ClientTiledThebesLayer();
 
-  // Override name to distinguish it from ClientThebesLayer in layer dumps
-  virtual const char* Name() const { return "TiledThebesLayer"; }
-
   // Thebes Layer
   virtual Layer* AsLayer() { return this; }
   virtual void InvalidateRegion(const nsIntRegion& aRegion) {
     mInvalidRegion.Or(mInvalidRegion, aRegion);
     mValidRegion.Sub(mValidRegion, aRegion);
     mLowPrecisionValidRegion.Sub(mLowPrecisionValidRegion, aRegion);
   }
 
--- a/gfx/layers/composite/TiledContentHost.h
+++ b/gfx/layers/composite/TiledContentHost.h
@@ -42,16 +42,17 @@ class Matrix4x4;
 }
 
 namespace layers {
 
 class Compositor;
 class ISurfaceAllocator;
 class Layer;
 class ThebesBufferData;
+class TiledThebesLayerComposite;
 struct EffectChain;
 
 
 class TileHost {
 public:
   // Constructs a placeholder TileHost. See the comments above
   // TiledLayerBuffer for more information on what this is used for;
   // essentially, this is a sentinel used to represent an invalid or blank
--- a/gfx/thebes/gfxFont.cpp
+++ b/gfx/thebes/gfxFont.cpp
@@ -2026,33 +2026,30 @@ gfxFont::~gfxFont()
     if (mGlyphChangeObservers) {
         mGlyphChangeObservers->EnumerateEntries(NotifyFontDestroyed, nullptr);
     }
 }
 
 gfxFloat
 gfxFont::GetGlyphHAdvance(gfxContext *aCtx, uint16_t aGID)
 {
-    if (!SetupCairoFont(aCtx)) {
-        return 0;
-    }
     if (ProvidesGlyphWidths()) {
         return GetGlyphWidth(aCtx, aGID) / 65536.0;
     }
     if (mFUnitsConvFactor == 0.0f) {
         GetMetrics();
     }
     NS_ASSERTION(mFUnitsConvFactor > 0.0f,
                  "missing font unit conversion factor");
     if (!mHarfBuzzShaper) {
         mHarfBuzzShaper = new gfxHarfBuzzShaper(this);
     }
     gfxHarfBuzzShaper* shaper =
         static_cast<gfxHarfBuzzShaper*>(mHarfBuzzShaper.get());
-    if (!shaper->Initialize()) {
+    if (!shaper->Initialize() || !SetupCairoFont(aCtx)) {
         return 0;
     }
     return shaper->GetGlyphHAdvance(aCtx, aGID) / 65536.0;
 }
 
 /*static*/
 PLDHashOperator
 gfxFont::AgeCacheEntry(CacheHashEntry *aEntry, void *aUserData)