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

Side by Side Diff: Source/core/rendering/compositing/CompositedLayerMapping.cpp

Issue 220163006: Begin simplifying CompositedLayerMapping::updateAfterLayout (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 8 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 /* 1 /*
2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 } 421 }
422 } 422 }
423 423
424 void CompositedLayerMapping::updateCompositingReasons() 424 void CompositedLayerMapping::updateCompositingReasons()
425 { 425 {
426 // All other layers owned by this mapping will have the same compositing rea son 426 // All other layers owned by this mapping will have the same compositing rea son
427 // for their lifetime, so they are initialized only when created. 427 // for their lifetime, so they are initialized only when created.
428 m_graphicsLayer->setCompositingReasons(m_owningLayer.compositingReasons()); 428 m_graphicsLayer->setCompositingReasons(m_owningLayer.compositingReasons());
429 } 429 }
430 430
431 void CompositedLayerMapping::updateAfterLayout(UpdateAfterLayoutFlags flags) 431 void CompositedLayerMapping::updateAfterLayout(bool needsFullRepaint, bool isUpd ateRoot)
432 { 432 {
433 RenderLayerCompositor* layerCompositor = compositor(); 433 RenderLayerCompositor* layerCompositor = compositor();
434 if (!layerCompositor->compositingLayersNeedRebuild()) { 434 if (!layerCompositor->compositingLayersNeedRebuild()) {
435 // Calling updateGraphicsLayerGeometry() here gives incorrect results, b ecause the 435 // Calling updateGraphicsLayerGeometry() here gives incorrect results, b ecause the
436 // position of this layer's GraphicsLayer depends on the position of our compositing 436 // position of this layer's GraphicsLayer depends on the position of our compositing
437 // ancestor's GraphicsLayer. That cannot be determined until all the des cendant 437 // ancestor's GraphicsLayer. That cannot be determined until all the des cendant
438 // RenderLayers of that ancestor have been processed via updateLayerPosi tions(). 438 // RenderLayers of that ancestor have been processed via updateLayerPosi tions().
439 // 439 //
440 // The solution is to update compositing children of this layer here, 440 // The solution is to update compositing children of this layer here,
441 // via updateCompositingChildrenGeometry(). 441 // via updateCompositingChildrenGeometry().
442 updateCompositedBounds(GraphicsLayerUpdater::ForceUpdate); 442 updateCompositedBounds(GraphicsLayerUpdater::ForceUpdate);
443 layerCompositor->updateCompositingDescendantGeometry(m_owningLayer.stack ingNode(), &m_owningLayer, flags & CompositingChildrenOnly); 443 layerCompositor->updateCompositingDescendantGeometry(m_owningLayer.stack ingNode(), &m_owningLayer);
444 444
445 if (flags & IsUpdateRoot) { 445 if (isUpdateRoot) {
446 updateGraphicsLayerGeometry(GraphicsLayerUpdater::ForceUpdate); 446 updateGraphicsLayerGeometry(GraphicsLayerUpdater::ForceUpdate);
447 layerCompositor->updateRootLayerPosition(); 447 layerCompositor->updateRootLayerPosition();
448 RenderLayerStackingNode* stackingContainer = m_owningLayer.stackingN ode()->enclosingStackingContainerNode(); 448 RenderLayerStackingNode* stackingContainer = m_owningLayer.stackingN ode()->enclosingStackingContainerNode();
449 if (!layerCompositor->compositingLayersNeedRebuild() && stackingCont ainer && (stackingContainer != m_owningLayer.stackingNode())) 449 if (!layerCompositor->compositingLayersNeedRebuild() && stackingCont ainer && (stackingContainer != m_owningLayer.stackingNode()))
450 layerCompositor->updateCompositingDescendantGeometry(stackingCon tainer, stackingContainer->layer(), flags & CompositingChildrenOnly); 450 layerCompositor->updateCompositingDescendantGeometry(stackingCon tainer, stackingContainer->layer());
451 } 451 }
452 } 452 }
453 453
454 if (flags & NeedsFullRepaint && !paintsIntoCompositedAncestor()) 454 if (needsFullRepaint && !paintsIntoCompositedAncestor())
455 setContentsNeedDisplay(); 455 setContentsNeedDisplay();
456 } 456 }
457 457
458 bool CompositedLayerMapping::updateGraphicsLayerConfiguration(GraphicsLayerUpdat er::UpdateType updateType) 458 bool CompositedLayerMapping::updateGraphicsLayerConfiguration(GraphicsLayerUpdat er::UpdateType updateType)
459 { 459 {
460 if (!shouldUpdateGraphicsLayer(updateType)) 460 if (!shouldUpdateGraphicsLayer(updateType))
461 return false; 461 return false;
462 462
463 RenderLayerCompositor* compositor = this->compositor(); 463 RenderLayerCompositor* compositor = this->compositor();
464 RenderObject* renderer = this->renderer(); 464 RenderObject* renderer = this->renderer();
(...skipping 1714 matching lines...) Expand 10 before | Expand all | Expand 10 after
2179 } else if (graphicsLayer == m_scrollingContentsLayer.get()) { 2179 } else if (graphicsLayer == m_scrollingContentsLayer.get()) {
2180 name = "Scrolling Contents Layer"; 2180 name = "Scrolling Contents Layer";
2181 } else { 2181 } else {
2182 ASSERT_NOT_REACHED(); 2182 ASSERT_NOT_REACHED();
2183 } 2183 }
2184 2184
2185 return name; 2185 return name;
2186 } 2186 }
2187 2187
2188 } // namespace WebCore 2188 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698