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

Side by Side Diff: Source/core/rendering/RenderLayer.h

Issue 209003014: update3dRenderingContext is 13.5% of GraphicsLayerUpdater::rebuildTree (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: More fixing Created 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 184
185 void updateLayerPositionsAfterLayout(const RenderLayer* rootLayer, UpdateLay erPositionsFlags); 185 void updateLayerPositionsAfterLayout(const RenderLayer* rootLayer, UpdateLay erPositionsFlags);
186 186
187 void updateLayerPositionsAfterOverflowScroll(); 187 void updateLayerPositionsAfterOverflowScroll();
188 void updateLayerPositionsAfterDocumentScroll(); 188 void updateLayerPositionsAfterDocumentScroll();
189 189
190 bool isPaginated() const { return m_isPaginated; } 190 bool isPaginated() const { return m_isPaginated; }
191 RenderLayer* enclosingPaginationLayer() const { return m_enclosingPagination Layer; } 191 RenderLayer* enclosingPaginationLayer() const { return m_enclosingPagination Layer; }
192 192
193 void updateTransform(); 193 void updateTransform();
194 void update3dRenderingContext(); 194 RenderLayer* renderingContextRoot();
195 RenderLayer* renderingContextRoot() const { return m_3dRenderingContextRoot; }
196 195
197 const LayoutSize& offsetForInFlowPosition() const { return m_offsetForInFlow Position; } 196 const LayoutSize& offsetForInFlowPosition() const { return m_offsetForInFlow Position; }
198 197
199 void addBlockSelectionGapsBounds(const LayoutRect&); 198 void addBlockSelectionGapsBounds(const LayoutRect&);
200 void clearBlockSelectionGapsBounds(); 199 void clearBlockSelectionGapsBounds();
201 void repaintBlockSelectionGaps(); 200 void repaintBlockSelectionGaps();
202 bool hasBlockSelectionGapBounds() const; 201 bool hasBlockSelectionGapBounds() const;
203 202
204 RenderLayerStackingNode* stackingNode() { return m_stackingNode.get(); } 203 RenderLayerStackingNode* stackingNode() { return m_stackingNode.get(); }
205 const RenderLayerStackingNode* stackingNode() const { return m_stackingNode. get(); } 204 const RenderLayerStackingNode* stackingNode() const { return m_stackingNode. get(); }
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 329
331 // Get the perspective transform, which is applied to transformed sublayers. 330 // Get the perspective transform, which is applied to transformed sublayers.
332 // Returns true if the layer has a -webkit-perspective. 331 // Returns true if the layer has a -webkit-perspective.
333 // Note that this transform has the perspective-origin baked in. 332 // Note that this transform has the perspective-origin baked in.
334 TransformationMatrix perspectiveTransform() const; 333 TransformationMatrix perspectiveTransform() const;
335 FloatPoint perspectiveOrigin() const; 334 FloatPoint perspectiveOrigin() const;
336 bool preserves3D() const { return renderer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; } 335 bool preserves3D() const { return renderer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; }
337 bool has3DTransform() const { return m_transform && !m_transform->isAffine() ; } 336 bool has3DTransform() const { return m_transform && !m_transform->isAffine() ; }
338 337
339 // FIXME: reflections should force transform-style to be flat in the style: https://bugs.webkit.org/show_bug.cgi?id=106959 338 // FIXME: reflections should force transform-style to be flat in the style: https://bugs.webkit.org/show_bug.cgi?id=106959
340 bool shouldFlattenTransform() const { return renderer()->hasReflection() || !renderer()->style() || renderer()->style()->transformStyle3D() != TransformStyl e3DPreserve3D; } 339 bool shouldPreserve3D() const { return !renderer()->hasReflection() && rende rer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; }
341 340
342 void filterNeedsRepaint(); 341 void filterNeedsRepaint();
343 bool hasFilter() const { return renderer()->hasFilter(); } 342 bool hasFilter() const { return renderer()->hasFilter(); }
344 343
345 bool paintsWithBlendMode() const; 344 bool paintsWithBlendMode() const;
346 345
347 void* operator new(size_t); 346 void* operator new(size_t);
348 // Only safe to call from RenderLayerModelObject::destroyLayer() 347 // Only safe to call from RenderLayerModelObject::destroyLayer()
349 void operator delete(void*); 348 void operator delete(void*);
350 349
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 LayoutUnit m_staticInlinePosition; 736 LayoutUnit m_staticInlinePosition;
738 LayoutUnit m_staticBlockPosition; 737 LayoutUnit m_staticBlockPosition;
739 738
740 IntRect m_absoluteBoundingBox; 739 IntRect m_absoluteBoundingBox;
741 740
742 OwnPtr<TransformationMatrix> m_transform; 741 OwnPtr<TransformationMatrix> m_transform;
743 742
744 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i s 0 if we are not paginated. 743 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i s 0 if we are not paginated.
745 RenderLayer* m_enclosingPaginationLayer; 744 RenderLayer* m_enclosingPaginationLayer;
746 745
747 // Pointer to the enclosing RenderLayer that establishes the 3d rendering co ntext in which this layer participates.
748 // If it 0, it does not participate in a 3d rendering context.
749 RenderLayer* m_3dRenderingContextRoot;
750
751 // Properties that are computed while updating compositing layers. These val ues may be dirty/invalid if 746 // Properties that are computed while updating compositing layers. These val ues may be dirty/invalid if
752 // compositing status is not up-to-date before using them. 747 // compositing status is not up-to-date before using them.
753 struct CompositingProperties { 748 struct CompositingProperties {
754 CompositingProperties() 749 CompositingProperties()
755 : hasCompositingDescendant(false) 750 : hasCompositingDescendant(false)
756 , hasNonCompositedChild(false) 751 , hasNonCompositedChild(false)
757 , shouldIsolateCompositedDescendants(false) 752 , shouldIsolateCompositedDescendants(false)
758 , lostGroupedMapping(false) 753 , lostGroupedMapping(false)
759 , viewportConstrainedNotCompositedReason(NoNotCompositedReason) 754 , viewportConstrainedNotCompositedReason(NoNotCompositedReason)
760 , compositingReasons(CompositingReasonNone) 755 , compositingReasons(CompositingReasonNone)
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 799
805 } // namespace WebCore 800 } // namespace WebCore
806 801
807 #ifndef NDEBUG 802 #ifndef NDEBUG
808 // Outside the WebCore namespace for ease of invocation from gdb. 803 // Outside the WebCore namespace for ease of invocation from gdb.
809 void showLayerTree(const WebCore::RenderLayer*); 804 void showLayerTree(const WebCore::RenderLayer*);
810 void showLayerTree(const WebCore::RenderObject*); 805 void showLayerTree(const WebCore::RenderObject*);
811 #endif 806 #endif
812 807
813 #endif // RenderLayer_h 808 #endif // RenderLayer_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/rendering/RenderLayer.cpp » ('j') | Source/core/rendering/RenderObject.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698