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

Side by Side Diff: cc/CCLayerTreeHost.cpp

Issue 10915313: cc: Apply the layer's initial CSS scale to the contentsScale to render text at the right resolution. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove extra header 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "CCLayerTreeHost.h" 7 #include "CCLayerTreeHost.h"
8 8
9 #include "CCFontAtlas.h" 9 #include "CCFontAtlas.h"
10 #include "CCGraphicsContext.h" 10 #include "CCGraphicsContext.h"
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 return; 460 return;
461 461
462 if (layoutViewportSize().isEmpty()) 462 if (layoutViewportSize().isEmpty())
463 return; 463 return;
464 464
465 m_contentsTextureManager->setMaxMemoryLimitBytes(memoryAllocationLimitBytes) ; 465 m_contentsTextureManager->setMaxMemoryLimitBytes(memoryAllocationLimitBytes) ;
466 466
467 updateLayers(rootLayer(), queue); 467 updateLayers(rootLayer(), queue);
468 } 468 }
469 469
470 static void setScale(LayerChromium* layer, float deviceScaleFactor, float pageSc aleFactor)
471 {
472 if (layer->boundsContainPageScale())
473 layer->setContentsScale(deviceScaleFactor);
474 else
475 layer->setContentsScale(deviceScaleFactor * pageScaleFactor);
476 }
477
478 static void updateLayerScale(LayerChromium* layer, float deviceScaleFactor, floa t pageScaleFactor)
479 {
480 setScale(layer, deviceScaleFactor, pageScaleFactor);
481
482 LayerChromium* maskLayer = layer->maskLayer();
483 if (maskLayer)
484 setScale(maskLayer, deviceScaleFactor, pageScaleFactor);
485
486 LayerChromium* replicaMaskLayer = layer->replicaLayer() ? layer->replicaLaye r()->maskLayer() : 0;
487 if (replicaMaskLayer)
488 setScale(replicaMaskLayer, deviceScaleFactor, pageScaleFactor);
489
490 const Vector<RefPtr<LayerChromium> >& children = layer->children();
491 for (unsigned int i = 0; i < children.size(); ++i)
492 updateLayerScale(children[i].get(), deviceScaleFactor, pageScaleFactor);
493 }
494
495 void CCLayerTreeHost::updateLayers(LayerChromium* rootLayer, CCTextureUpdateQueu e& queue) 470 void CCLayerTreeHost::updateLayers(LayerChromium* rootLayer, CCTextureUpdateQueu e& queue)
496 { 471 {
497 TRACE_EVENT0("cc", "CCLayerTreeHost::updateLayers"); 472 TRACE_EVENT0("cc", "CCLayerTreeHost::updateLayers");
498 473
499 updateLayerScale(rootLayer, m_deviceScaleFactor, m_pageScaleFactor);
500
501 LayerList updateList; 474 LayerList updateList;
502 475
503 { 476 {
504 TRACE_EVENT0("cc", "CCLayerTreeHost::updateLayers::calcDrawEtc"); 477 TRACE_EVENT0("cc", "CCLayerTreeHost::updateLayers::calcDrawEtc");
505 CCLayerTreeHostCommon::calculateDrawTransforms(rootLayer, deviceViewport Size(), m_deviceScaleFactor, rendererCapabilities().maxTextureSize, updateList); 478 CCLayerTreeHostCommon::calculateDrawTransforms(rootLayer, deviceViewport Size(), m_deviceScaleFactor, m_pageScaleFactor, rendererCapabilities().maxTextur eSize, updateList);
506 CCLayerTreeHostCommon::calculateVisibleRects(updateList); 479 CCLayerTreeHostCommon::calculateVisibleRects(updateList);
507 } 480 }
508 481
509 // Reset partial texture update requests. 482 // Reset partial texture update requests.
510 m_partialTextureUpdateRequests = 0; 483 m_partialTextureUpdateRequests = 0;
511 484
512 bool needMoreUpdates = paintLayerContents(updateList, queue); 485 bool needMoreUpdates = paintLayerContents(updateList, queue);
513 if (m_triggerIdleUpdates && needMoreUpdates) 486 if (m_triggerIdleUpdates && needMoreUpdates)
514 setNeedsCommit(); 487 setNeedsCommit();
515 488
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
779 else 752 else
780 layer->notifyAnimationFinished(wallClockTime); 753 layer->notifyAnimationFinished(wallClockTime);
781 } 754 }
782 } 755 }
783 756
784 for (size_t childIndex = 0; childIndex < layer->children().size(); ++childIn dex) 757 for (size_t childIndex = 0; childIndex < layer->children().size(); ++childIn dex)
785 setAnimationEventsRecursive(events, layer->children()[childIndex].get(), wallClockTime); 758 setAnimationEventsRecursive(events, layer->children()[childIndex].get(), wallClockTime);
786 } 759 }
787 760
788 } // namespace cc 761 } // namespace cc
OLDNEW
« no previous file with comments | « cc/CCLayerIteratorTest.cpp ('k') | cc/CCLayerTreeHostCommon.h » ('j') | cc/CCMathUtil.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698