Backed out changeset 5b9886673514 (bug 1201541) for android reftest orange CLOSED TREE
authorWes Kocher <wkocher@mozilla.com>
Fri, 11 Sep 2015 11:21:22 -0700
changeset 294678 fcd8a338f3ada1baa9de23b7d6d94cb9580a84a5
parent 294677 d48fbf99a903bf9eb4eb843d1f692737eba971dd
child 294679 6e0f7cb0fc3a70d6d5c4e519495a5f4e37d600d8
push id5245
push userraliiev@mozilla.com
push dateThu, 29 Oct 2015 11:30:51 +0000
treeherdermozilla-beta@dac831dc1bd0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1201541
milestone43.0a1
backs out5b98866735147c0e24a9a2329de27c8131f4ba5f
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 changeset 5b9886673514 (bug 1201541) for android reftest orange CLOSED TREE
gfx/layers/client/ClientTiledPaintedLayer.cpp
layout/base/FrameLayerBuilder.cpp
--- a/gfx/layers/client/ClientTiledPaintedLayer.cpp
+++ b/gfx/layers/client/ClientTiledPaintedLayer.cpp
@@ -406,19 +406,22 @@ ClientTiledPaintedLayer::EndPaint()
 void
 ClientTiledPaintedLayer::RenderLayer()
 {
   LayerManager::DrawPaintedLayerCallback callback =
     ClientManager()->GetPaintedLayerCallback();
   void *data = ClientManager()->GetPaintedLayerCallbackData();
 
   if (!mContentClient) {
+#if defined(MOZ_B2G) || defined(XP_MACOSX)
     if (mCreationHint == LayerManager::NONE) {
       mContentClient = new SingleTiledContentClient(this, ClientManager());
-    } else {
+    } else
+#endif
+    {
       mContentClient = new MultiTiledContentClient(this, ClientManager());
     }
 
     mContentClient->Connect();
     ClientManager()->AsShadowForwarder()->Attach(mContentClient, this);
     MOZ_ASSERT(mContentClient->GetForwarder());
   }
 
@@ -552,23 +555,27 @@ ClientTiledPaintedLayer::RenderLayer()
   // If we get here, we've done all the high- and low-precision
   // paints we wanted to do, so we can finish the paint and chill.
   EndPaint();
 }
 
 bool
 ClientTiledPaintedLayer::IsOptimizedFor(LayerManager::PaintedLayerCreationHint aHint)
 {
+#if defined(MOZ_B2G) || defined(XP_MACOSX)
   // The only creation hint is whether the layer is scrollable or not, and this
   // is only respected on B2G and OSX, where it's used to determine whether to
   // use a tiled content client or not.
   // There are pretty nasty performance consequences for not using tiles on
   // large, scrollable layers, so we want the layer to be recreated in this
   // situation.
   return aHint == GetCreationHint();
+#else
+  return true;
+#endif
 }
 
 void
 ClientTiledPaintedLayer::PrintInfo(std::stringstream& aStream, const char* aPrefix)
 {
   PaintedLayer::PrintInfo(aStream, aPrefix);
   if (mContentClient) {
     aStream << "\n";
--- a/layout/base/FrameLayerBuilder.cpp
+++ b/layout/base/FrameLayerBuilder.cpp
@@ -2035,16 +2035,19 @@ InvalidateEntirePaintedLayer(PaintedLaye
   ResetScrollPositionForLayerPixelAlignment(aAnimatedGeometryRoot);
 }
 
 LayerManager::PaintedLayerCreationHint
 ContainerState::GetLayerCreationHint(const nsIFrame* aAnimatedGeometryRoot)
 {
   // Check whether the layer will be scrollable. This is used as a hint to
   // influence whether tiled layers are used or not.
+  if (mParameters.mInLowPrecisionDisplayPort) {
+    return LayerManager::SCROLLABLE;
+  }
   nsIFrame* animatedGeometryRootParent = aAnimatedGeometryRoot->GetParent();
   nsIScrollableFrame* scrollable = do_QueryFrame(animatedGeometryRootParent);
   if (scrollable
 #ifdef MOZ_B2G
       && scrollable->WantAsyncScroll()
 #endif
      ) {
     // WantAsyncScroll() returns false when the frame has overflow:hidden,