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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp

Issue 2724083002: [SPv2] Decomposite otherwise-compositable animations that paint nothing. (Closed)
Patch Set: Clean up after initial review. Created 3 years, 9 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "platform/graphics/compositing/PaintArtifactCompositor.h" 5 #include "platform/graphics/compositing/PaintArtifactCompositor.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <utility> 9 #include <utility>
10 #include "cc/layers/content_layer_client.h" 10 #include "cc/layers/content_layer_client.h"
(...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 paintArtifact.paintChunks().begin(); 589 paintArtifact.paintChunks().begin();
590 layerizeGroup(paintArtifact, pendingLayers, geometryMapper, 590 layerizeGroup(paintArtifact, pendingLayers, geometryMapper,
591 *EffectPaintPropertyNode::root(), cursor); 591 *EffectPaintPropertyNode::root(), cursor);
592 DCHECK_EQ(paintArtifact.paintChunks().end(), cursor); 592 DCHECK_EQ(paintArtifact.paintChunks().end(), cursor);
593 } 593 }
594 594
595 void PaintArtifactCompositor::update( 595 void PaintArtifactCompositor::update(
596 const PaintArtifact& paintArtifact, 596 const PaintArtifact& paintArtifact,
597 RasterInvalidationTrackingMap<const PaintChunk>* rasterChunkInvalidations, 597 RasterInvalidationTrackingMap<const PaintChunk>* rasterChunkInvalidations,
598 bool storeDebugInfo, 598 bool storeDebugInfo,
599 GeometryMapper& geometryMapper) { 599 GeometryMapper& geometryMapper,
600 CompositorElementIdSet& compositedElementIds) {
600 #ifndef NDEBUG 601 #ifndef NDEBUG
601 storeDebugInfo = true; 602 storeDebugInfo = true;
602 #endif 603 #endif
603 604
604 DCHECK(m_rootLayer); 605 DCHECK(m_rootLayer);
605 606
606 cc::LayerTreeHost* layerTreeHost = m_rootLayer->layer_tree_host(); 607 cc::LayerTreeHost* layerTreeHost = m_rootLayer->layer_tree_host();
607 608
608 // The tree will be null after detaching and this update can be ignored. 609 // The tree will be null after detaching and this update can be ignored.
609 // See: WebViewImpl::detachPaintArtifactCompositor(). 610 // See: WebViewImpl::detachPaintArtifactCompositor().
(...skipping 24 matching lines...) Expand all
634 635
635 const auto* transform = pendingLayer.propertyTreeState.transform(); 636 const auto* transform = pendingLayer.propertyTreeState.transform();
636 int transformId = 637 int transformId =
637 propertyTreeManager.ensureCompositorTransformNode(transform); 638 propertyTreeManager.ensureCompositorTransformNode(transform);
638 int clipId = propertyTreeManager.ensureCompositorClipNode( 639 int clipId = propertyTreeManager.ensureCompositorClipNode(
639 pendingLayer.propertyTreeState.clip()); 640 pendingLayer.propertyTreeState.clip());
640 int effectId = propertyTreeManager.switchToEffectNode( 641 int effectId = propertyTreeManager.switchToEffectNode(
641 *pendingLayer.propertyTreeState.effect()); 642 *pendingLayer.propertyTreeState.effect());
642 643
643 layer->set_offset_to_transform_parent(layerOffset); 644 layer->set_offset_to_transform_parent(layerOffset);
644 layer->SetElementId(pendingLayer.propertyTreeState.compositorElementId()); 645 CompositorElementId elementId =
646 pendingLayer.propertyTreeState.compositorElementId();
647 if (elementId) {
648 layer->SetElementId(elementId);
649 compositedElementIds.insert(elementId);
650 }
645 651
646 m_rootLayer->AddChild(layer); 652 m_rootLayer->AddChild(layer);
647 layer->set_property_tree_sequence_number(sPropertyTreeSequenceNumber); 653 layer->set_property_tree_sequence_number(sPropertyTreeSequenceNumber);
648 layer->SetTransformTreeIndex(transformId); 654 layer->SetTransformTreeIndex(transformId);
649 layer->SetClipTreeIndex(clipId); 655 layer->SetClipTreeIndex(clipId);
650 layer->SetEffectTreeIndex(effectId); 656 layer->SetEffectTreeIndex(effectId);
651 propertyTreeManager.updateLayerScrollMapping(layer.get(), transform); 657 propertyTreeManager.updateLayerScrollMapping(layer.get(), transform);
652 658
653 layer->SetShouldCheckBackfaceVisibility(pendingLayer.backfaceHidden); 659 layer->SetShouldCheckBackfaceVisibility(pendingLayer.backfaceHidden);
654 660
(...skipping 15 matching lines...) Expand all
670 #ifndef NDEBUG 676 #ifndef NDEBUG
671 void PaintArtifactCompositor::showDebugData() { 677 void PaintArtifactCompositor::showDebugData() {
672 LOG(ERROR) << layersAsJSON(LayerTreeIncludesDebugInfo) 678 LOG(ERROR) << layersAsJSON(LayerTreeIncludesDebugInfo)
673 ->toPrettyJSONString() 679 ->toPrettyJSONString()
674 .utf8() 680 .utf8()
675 .data(); 681 .data();
676 } 682 }
677 #endif 683 #endif
678 684
679 } // namespace blink 685 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698