Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 42 * version of this file under any of the LGPL, the MPL or the GPL. | 42 * version of this file under any of the LGPL, the MPL or the GPL. |
| 43 */ | 43 */ |
| 44 | 44 |
| 45 #ifndef RenderLayer_h | 45 #ifndef RenderLayer_h |
| 46 #define RenderLayer_h | 46 #define RenderLayer_h |
| 47 | 47 |
| 48 #include "core/rendering/LayerFragment.h" | 48 #include "core/rendering/LayerFragment.h" |
| 49 #include "core/rendering/LayerPaintingInfo.h" | 49 #include "core/rendering/LayerPaintingInfo.h" |
| 50 #include "core/rendering/RenderBox.h" | 50 #include "core/rendering/RenderBox.h" |
| 51 #include "core/rendering/RenderLayerBlendInfo.h" | 51 #include "core/rendering/RenderLayerBlendInfo.h" |
| 52 #include "core/rendering/RenderLayerClipPathInfo.h" | |
| 52 #include "core/rendering/RenderLayerClipper.h" | 53 #include "core/rendering/RenderLayerClipper.h" |
| 53 #include "core/rendering/RenderLayerFilterInfo.h" | 54 #include "core/rendering/RenderLayerFilterInfo.h" |
| 54 #include "core/rendering/RenderLayerReflectionInfo.h" | 55 #include "core/rendering/RenderLayerReflectionInfo.h" |
| 55 #include "core/rendering/RenderLayerRepainter.h" | 56 #include "core/rendering/RenderLayerRepainter.h" |
| 56 #include "core/rendering/RenderLayerScrollableArea.h" | 57 #include "core/rendering/RenderLayerScrollableArea.h" |
| 57 #include "core/rendering/RenderLayerStackingNode.h" | 58 #include "core/rendering/RenderLayerStackingNode.h" |
| 58 #include "core/rendering/RenderLayerStackingNodeIterator.h" | 59 #include "core/rendering/RenderLayerStackingNodeIterator.h" |
| 59 #include "core/rendering/compositing/CompositedLayerMappingPtr.h" | 60 #include "core/rendering/compositing/CompositedLayerMappingPtr.h" |
| 60 #include "platform/graphics/CompositingReasons.h" | 61 #include "platform/graphics/CompositingReasons.h" |
| 61 #include "wtf/OwnPtr.h" | 62 #include "wtf/OwnPtr.h" |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 295 // Returns true if the layer has a -webkit-perspective. | 296 // Returns true if the layer has a -webkit-perspective. |
| 296 // Note that this transform has the perspective-origin baked in. | 297 // Note that this transform has the perspective-origin baked in. |
| 297 TransformationMatrix perspectiveTransform() const; | 298 TransformationMatrix perspectiveTransform() const; |
| 298 FloatPoint perspectiveOrigin() const; | 299 FloatPoint perspectiveOrigin() const; |
| 299 bool preserves3D() const { return renderer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; } | 300 bool preserves3D() const { return renderer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; } |
| 300 bool has3DTransform() const { return m_transform && !m_transform->isAffine() ; } | 301 bool has3DTransform() const { return m_transform && !m_transform->isAffine() ; } |
| 301 | 302 |
| 302 // FIXME: reflections should force transform-style to be flat in the style: https://bugs.webkit.org/show_bug.cgi?id=106959 | 303 // FIXME: reflections should force transform-style to be flat in the style: https://bugs.webkit.org/show_bug.cgi?id=106959 |
| 303 bool shouldPreserve3D() const { return !renderer()->hasReflection() && rende rer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; } | 304 bool shouldPreserve3D() const { return !renderer()->hasReflection() && rende rer()->style()->transformStyle3D() == TransformStyle3DPreserve3D; } |
| 304 | 305 |
| 305 void filterNeedsPaintInvalidation(); | 306 void SVGEffectsNeedsPaintInvalidation(); |
|
pdr.
2014/08/04 17:06:32
We should use "svgEffectsNeedPaintInvalidation" (l
f(malita)
2014/08/05 14:13:07
+1.
Shanmuga Pandi
2014/08/06 14:51:34
Done.
| |
| 306 bool hasFilter() const { return renderer()->hasFilter(); } | 307 bool hasFilter() const { return renderer()->hasFilter(); } |
| 307 | 308 |
| 308 bool paintsWithBlendMode() const; | 309 bool paintsWithBlendMode() const; |
| 309 | 310 |
| 310 void* operator new(size_t); | 311 void* operator new(size_t); |
| 311 // Only safe to call from RenderLayerModelObject::destroyLayer() | 312 // Only safe to call from RenderLayerModelObject::destroyLayer() |
| 312 void operator delete(void*); | 313 void operator delete(void*); |
| 313 | 314 |
| 314 CompositingState compositingState() const; | 315 CompositingState compositingState() const; |
| 315 | 316 |
| (...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 636 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; | 637 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; |
| 637 | 638 |
| 638 bool shouldBeSelfPaintingLayer() const; | 639 bool shouldBeSelfPaintingLayer() const; |
| 639 | 640 |
| 640 // FIXME: We should only create the stacking node if needed. | 641 // FIXME: We should only create the stacking node if needed. |
| 641 bool requiresStackingNode() const { return true; } | 642 bool requiresStackingNode() const { return true; } |
| 642 void updateStackingNode(); | 643 void updateStackingNode(); |
| 643 | 644 |
| 644 void updateReflectionInfo(const RenderStyle*); | 645 void updateReflectionInfo(const RenderStyle*); |
| 645 | 646 |
| 647 void updateClipPathInfo(const RenderStyle* oldStyle, const RenderStyle* newS tyle); | |
| 648 | |
| 646 // FIXME: We could lazily allocate our ScrollableArea based on style propert ies ('overflow', ...) | 649 // FIXME: We could lazily allocate our ScrollableArea based on style propert ies ('overflow', ...) |
| 647 // but for now, we are always allocating it for RenderBox as it's safer. | 650 // but for now, we are always allocating it for RenderBox as it's safer. |
| 648 bool requiresScrollableArea() const { return renderBox(); } | 651 bool requiresScrollableArea() const { return renderBox(); } |
| 649 void updateScrollableArea(); | 652 void updateScrollableArea(); |
| 650 | 653 |
| 651 void dirtyAncestorChainVisibleDescendantStatus(); | 654 void dirtyAncestorChainVisibleDescendantStatus(); |
| 652 void setAncestorChainHasVisibleDescendant(); | 655 void setAncestorChainHasVisibleDescendant(); |
| 653 | 656 |
| 654 bool attemptDirectCompositingUpdate(StyleDifference, const RenderStyle* oldS tyle); | 657 bool attemptDirectCompositingUpdate(StyleDifference, const RenderStyle* oldS tyle); |
| 655 void updateTransform(const RenderStyle* oldStyle, RenderStyle* newStyle); | 658 void updateTransform(const RenderStyle* oldStyle, RenderStyle* newStyle); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 763 | 766 |
| 764 OwnPtr<CompositedLayerMapping> m_compositedLayerMapping; | 767 OwnPtr<CompositedLayerMapping> m_compositedLayerMapping; |
| 765 OwnPtr<RenderLayerScrollableArea> m_scrollableArea; | 768 OwnPtr<RenderLayerScrollableArea> m_scrollableArea; |
| 766 | 769 |
| 767 CompositedLayerMapping* m_groupedMapping; | 770 CompositedLayerMapping* m_groupedMapping; |
| 768 | 771 |
| 769 RenderLayerRepainter m_repainter; | 772 RenderLayerRepainter m_repainter; |
| 770 RenderLayerClipper m_clipper; // FIXME: Lazily allocate? | 773 RenderLayerClipper m_clipper; // FIXME: Lazily allocate? |
| 771 OwnPtr<RenderLayerStackingNode> m_stackingNode; | 774 OwnPtr<RenderLayerStackingNode> m_stackingNode; |
| 772 OwnPtr<RenderLayerReflectionInfo> m_reflectionInfo; | 775 OwnPtr<RenderLayerReflectionInfo> m_reflectionInfo; |
| 776 OwnPtr<RenderLayerClipPathInfo> m_clipPathInfo; | |
|
f(malita)
2014/08/05 14:13:08
This increases the size of all RenderLayers, but v
Shanmuga Pandi
2014/08/06 14:51:34
Initially I tried that way (Patch set1). But I tho
| |
| 773 RenderLayerBlendInfo m_blendInfo; | 777 RenderLayerBlendInfo m_blendInfo; |
| 774 | 778 |
| 775 LayoutSize m_subpixelAccumulation; // The accumulated subpixel offset of a c omposited layer's composited bounds compared to absolute coordinates. | 779 LayoutSize m_subpixelAccumulation; // The accumulated subpixel offset of a c omposited layer's composited bounds compared to absolute coordinates. |
| 776 }; | 780 }; |
| 777 | 781 |
| 778 } // namespace blink | 782 } // namespace blink |
| 779 | 783 |
| 780 #ifndef NDEBUG | 784 #ifndef NDEBUG |
| 781 // Outside the WebCore namespace for ease of invocation from gdb. | 785 // Outside the WebCore namespace for ease of invocation from gdb. |
| 782 void showLayerTree(const blink::RenderLayer*); | 786 void showLayerTree(const blink::RenderLayer*); |
| 783 void showLayerTree(const blink::RenderObject*); | 787 void showLayerTree(const blink::RenderObject*); |
| 784 #endif | 788 #endif |
| 785 | 789 |
| 786 #endif // RenderLayer_h | 790 #endif // RenderLayer_h |
| OLD | NEW |