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

Side by Side Diff: cc/layer_tree_host_impl.cc

Issue 11529006: [cc] Fold more update calls into updateDrawProperties (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 "cc/layer_tree_host_impl.h" 5 #include "cc/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 // damage rect. The root damage rect is then used to scissor each surface. 372 // damage rect. The root damage rect is then used to scissor each surface.
373 373
374 for (int surfaceIndex = renderSurfaceLayerList.size() - 1; surfaceIndex >= 0 ; --surfaceIndex) { 374 for (int surfaceIndex = renderSurfaceLayerList.size() - 1; surfaceIndex >= 0 ; --surfaceIndex) {
375 LayerImpl* renderSurfaceLayer = renderSurfaceLayerList[surfaceIndex]; 375 LayerImpl* renderSurfaceLayer = renderSurfaceLayerList[surfaceIndex];
376 RenderSurfaceImpl* renderSurface = renderSurfaceLayer->renderSurface(); 376 RenderSurfaceImpl* renderSurface = renderSurfaceLayer->renderSurface();
377 DCHECK(renderSurface); 377 DCHECK(renderSurface);
378 renderSurface->damageTracker()->updateDamageTrackingState(renderSurface- >layerList(), renderSurfaceLayer->id(), renderSurface->surfacePropertyChangedOnl yFromDescendant(), renderSurface->contentRect(), renderSurfaceLayer->maskLayer() , renderSurfaceLayer->filters(), renderSurfaceLayer->filter().get()); 378 renderSurface->damageTracker()->updateDamageTrackingState(renderSurface- >layerList(), renderSurfaceLayer->id(), renderSurface->surfacePropertyChangedOnl yFromDescendant(), renderSurface->contentRect(), renderSurfaceLayer->maskLayer() , renderSurfaceLayer->filters(), renderSurfaceLayer->filter().get());
379 } 379 }
380 } 380 }
381 381
382 void LayerTreeHostImpl::updateRootScrollLayerImplTransform()
383 {
384 if (rootScrollLayer()) {
385 rootScrollLayer()->setImplTransform(implTransform());
386 }
387 }
388
389 void LayerTreeHostImpl::updateDrawProperties() 382 void LayerTreeHostImpl::updateDrawProperties()
390 { 383 {
391 if (!needsUpdateDrawProperties()) 384 if (!needsUpdateDrawProperties())
392 return; 385 return;
393 386
394 m_renderSurfaceLayerList.clear(); 387 m_renderSurfaceLayerList.clear();
395 m_needsUpdateDrawProperties = false; 388 m_needsUpdateDrawProperties = false;
396 389
397 if (!rootLayer()) 390 if (!rootLayer())
398 return; 391 return;
399 392
400 calculateRenderSurfaceLayerList(m_renderSurfaceLayerList); 393 calculateRenderSurfaceLayerList(m_renderSurfaceLayerList);
401 } 394 }
402 395
403 void LayerTreeHostImpl::calculateRenderSurfaceLayerList(LayerList& renderSurface LayerList) 396 void LayerTreeHostImpl::calculateRenderSurfaceLayerList(LayerList& renderSurface LayerList)
404 { 397 {
405 DCHECK(renderSurfaceLayerList.empty()); 398 DCHECK(renderSurfaceLayerList.empty());
406 DCHECK(rootLayer()); 399 DCHECK(rootLayer());
407 DCHECK(m_renderer); // For maxTextureSize. 400 DCHECK(m_renderer); // For maxTextureSize.
408 { 401 {
409 updateRootScrollLayerImplTransform(); 402 if (rootScrollLayer()) {
403 rootScrollLayer()->setImplTransform(implTransform());
Sami 2012/12/11 11:51:54 I guess this file is still in WebKit style so the
404 }
410 405
411 TRACE_EVENT0("cc", "LayerTreeHostImpl::calcDrawEtc"); 406 TRACE_EVENT0("cc", "LayerTreeHostImpl::calcDrawEtc");
412 float pageScaleFactor = m_pinchZoomViewport.pageScaleFactor(); 407 float pageScaleFactor = m_pinchZoomViewport.pageScaleFactor();
413 LayerTreeHostCommon::calculateDrawProperties(rootLayer(), deviceViewport Size(), m_deviceScaleFactor, pageScaleFactor, rendererCapabilities().maxTextureS ize, renderSurfaceLayerList); 408 LayerTreeHostCommon::calculateDrawProperties(rootLayer(), deviceViewport Size(), m_deviceScaleFactor, pageScaleFactor, rendererCapabilities().maxTextureS ize, renderSurfaceLayerList);
414 } 409 }
415 } 410 }
416 411
417 void LayerTreeHostImpl::FrameData::appendRenderPass(scoped_ptr<RenderPass> rende rPass) 412 void LayerTreeHostImpl::FrameData::appendRenderPass(scoped_ptr<RenderPass> rende rPass)
418 { 413 {
419 RenderPass* pass = renderPass.get(); 414 RenderPass* pass = renderPass.get();
(...skipping 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after
1704 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio nController(); 1699 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio nController();
1705 double monotonicTime = (time - base::TimeTicks()).InSecondsF(); 1700 double monotonicTime = (time - base::TimeTicks()).InSecondsF();
1706 if (scrollbarController && scrollbarController->animate(monotonicTime)) 1701 if (scrollbarController && scrollbarController->animate(monotonicTime))
1707 m_client->setNeedsRedrawOnImplThread(); 1702 m_client->setNeedsRedrawOnImplThread();
1708 1703
1709 for (size_t i = 0; i < layer->children().size(); ++i) 1704 for (size_t i = 0; i < layer->children().size(); ++i)
1710 animateScrollbarsRecursive(layer->children()[i], time); 1705 animateScrollbarsRecursive(layer->children()[i], time);
1711 } 1706 }
1712 1707
1713 } // namespace cc 1708 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698