Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1895)

Unified Diff: cc/CCLayerTreeHost.cpp

Issue 10917153: Update cc snapshot to r127918 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/CCLayerTreeHost.h ('k') | cc/CCLayerTreeHostClient.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/CCLayerTreeHost.cpp
diff --git a/cc/CCLayerTreeHost.cpp b/cc/CCLayerTreeHost.cpp
index e126f15e6bf97f0535a94fd7b4220fa447126b91..50f227a0d6d476350331fc74787b3e6fefaf34a3 100644
--- a/cc/CCLayerTreeHost.cpp
+++ b/cc/CCLayerTreeHost.cpp
@@ -50,8 +50,7 @@ PassOwnPtr<CCLayerTreeHost> CCLayerTreeHost::create(CCLayerTreeHostClient* clien
}
CCLayerTreeHost::CCLayerTreeHost(CCLayerTreeHostClient* client, const CCLayerTreeSettings& settings)
- : m_compositorIdentifier(-1)
- , m_animating(false)
+ : m_animating(false)
, m_needsAnimateLayers(false)
, m_client(client)
, m_commitNumber(0)
@@ -85,11 +84,7 @@ bool CCLayerTreeHost::initialize()
m_proxy = CCSingleThreadProxy::create(this);
m_proxy->start();
- if (!m_proxy->initializeContext())
- return false;
-
- m_compositorIdentifier = m_proxy->compositorIdentifier();
- return true;
+ return m_proxy->initializeContext();
}
CCLayerTreeHost::~CCLayerTreeHost()
@@ -272,6 +267,11 @@ PassOwnPtr<CCGraphicsContext> CCLayerTreeHost::createContext()
return m_client->createOutputSurface();
}
+PassOwnPtr<CCInputHandler> CCLayerTreeHost::createInputHandler()
+{
+ return m_client->createInputHandler();
+}
+
PassOwnPtr<CCLayerTreeHostImpl> CCLayerTreeHost::createLayerTreeHostImpl(CCLayerTreeHostImplClient* client)
{
return CCLayerTreeHostImpl::create(m_settings, client);
@@ -444,7 +444,6 @@ bool CCLayerTreeHost::initializeRendererIfNeeded()
return true;
}
-
void CCLayerTreeHost::updateLayers(CCTextureUpdateQueue& queue, size_t memoryAllocationLimitBytes)
{
ASSERT(m_rendererInitialized);
@@ -461,10 +460,37 @@ void CCLayerTreeHost::updateLayers(CCTextureUpdateQueue& queue, size_t memoryAll
updateLayers(rootLayer(), queue);
}
+static void setScale(LayerChromium* layer, float deviceScaleFactor, float pageScaleFactor)
+{
+ if (layer->boundsContainPageScale())
+ layer->setContentsScale(deviceScaleFactor);
+ else
+ layer->setContentsScale(deviceScaleFactor * pageScaleFactor);
+}
+
+static void updateLayerScale(LayerChromium* layer, float deviceScaleFactor, float pageScaleFactor)
+{
+ setScale(layer, deviceScaleFactor, pageScaleFactor);
+
+ LayerChromium* maskLayer = layer->maskLayer();
+ if (maskLayer)
+ setScale(maskLayer, deviceScaleFactor, pageScaleFactor);
+
+ LayerChromium* replicaMaskLayer = layer->replicaLayer() ? layer->replicaLayer()->maskLayer() : 0;
+ if (replicaMaskLayer)
+ setScale(replicaMaskLayer, deviceScaleFactor, pageScaleFactor);
+
+ const Vector<RefPtr<LayerChromium> >& children = layer->children();
+ for (unsigned int i = 0; i < children.size(); ++i)
+ updateLayerScale(children[i].get(), deviceScaleFactor, pageScaleFactor);
+}
+
void CCLayerTreeHost::updateLayers(LayerChromium* rootLayer, CCTextureUpdateQueue& queue)
{
TRACE_EVENT0("cc", "CCLayerTreeHost::updateLayers");
+ updateLayerScale(rootLayer, m_deviceScaleFactor, m_pageScaleFactor);
+
LayerList updateList;
{
« no previous file with comments | « cc/CCLayerTreeHost.h ('k') | cc/CCLayerTreeHostClient.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698