| 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;
|
|
|
| {
|
|
|