| OLD | NEW |
| 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 #ifndef PaintArtifactCompositor_h | 5 #ifndef PaintArtifactCompositor_h |
| 6 #define PaintArtifactCompositor_h | 6 #define PaintArtifactCompositor_h |
| 7 | 7 |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "platform/PlatformExport.h" | 9 #include "platform/PlatformExport.h" |
| 10 #include "wtf/Noncopyable.h" | 10 #include "wtf/Noncopyable.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 // | 33 // |
| 34 // PaintArtifactCompositor is the successor to PaintLayerCompositor, reflecting | 34 // PaintArtifactCompositor is the successor to PaintLayerCompositor, reflecting |
| 35 // the new home of compositing decisions after paint in Slimming Paint v2. | 35 // the new home of compositing decisions after paint in Slimming Paint v2. |
| 36 class PLATFORM_EXPORT PaintArtifactCompositor { | 36 class PLATFORM_EXPORT PaintArtifactCompositor { |
| 37 WTF_MAKE_NONCOPYABLE(PaintArtifactCompositor); | 37 WTF_MAKE_NONCOPYABLE(PaintArtifactCompositor); |
| 38 public: | 38 public: |
| 39 PaintArtifactCompositor(); | 39 PaintArtifactCompositor(); |
| 40 ~PaintArtifactCompositor(); | 40 ~PaintArtifactCompositor(); |
| 41 | 41 |
| 42 // Updates the layer tree to match the provided paint artifact. | 42 // Updates the layer tree to match the provided paint artifact. |
| 43 // Creates the root layer if not already done. | |
| 44 void update(const PaintArtifact&); | 43 void update(const PaintArtifact&); |
| 45 | 44 |
| 46 // The root layer of the tree managed by this object. | 45 // The root layer of the tree managed by this object. |
| 47 cc::Layer* rootLayer() const { return m_rootLayer.get(); } | 46 cc::Layer* rootLayer() const { return m_rootLayer.get(); } |
| 48 | 47 |
| 49 // Wraps rootLayer(), so that it can be attached as a child of another | 48 // Wraps rootLayer(), so that it can be attached as a child of another |
| 50 // WebLayer. | 49 // WebLayer. |
| 51 WebLayer* getWebLayer() const { return m_webLayer.get(); } | 50 WebLayer* getWebLayer() const { return m_webLayer.get(); } |
| 52 | 51 |
| 53 private: | 52 private: |
| 54 class ContentLayerClientImpl; | 53 class ContentLayerClientImpl; |
| 55 | 54 |
| 55 void updateInLayerListMode(const PaintArtifact&); |
| 56 |
| 56 // Builds a leaf layer that represents a single paint chunk. | 57 // Builds a leaf layer that represents a single paint chunk. |
| 57 // Note: cc::Layer API assumes the layer bounds to start at (0, 0) but the b
ounding box of | 58 // Note: cc::Layer API assumes the layer bounds to start at (0, 0) but the b
ounding box of |
| 58 // a paint chunk does not necessarily start at (0, 0) and could even be nega
tive. Internally | 59 // a paint chunk does not necessarily start at (0, 0) and could even be nega
tive. Internally |
| 59 // the generated layer translates the paint chunk to align the bounding box
to (0, 0) and | 60 // the generated layer translates the paint chunk to align the bounding box
to (0, 0) and |
| 60 // return the actual origin of the paint chunk in output parameter layerOffs
et. | 61 // return the actual origin of the paint chunk in output parameter layerOffs
et. |
| 61 scoped_refptr<cc::Layer> layerForPaintChunk(const PaintArtifact&, const Pain
tChunk&, gfx::Vector2dF& layerOffset); | 62 scoped_refptr<cc::Layer> layerForPaintChunk(const PaintArtifact&, const Pain
tChunk&, gfx::Vector2dF& layerOffset); |
| 62 | 63 |
| 63 scoped_refptr<cc::Layer> m_rootLayer; | 64 scoped_refptr<cc::Layer> m_rootLayer; |
| 64 OwnPtr<WebLayer> m_webLayer; | 65 OwnPtr<WebLayer> m_webLayer; |
| 65 Vector<OwnPtr<ContentLayerClientImpl>> m_contentLayerClients; | 66 Vector<OwnPtr<ContentLayerClientImpl>> m_contentLayerClients; |
| 66 }; | 67 }; |
| 67 | 68 |
| 68 } // namespace blink | 69 } // namespace blink |
| 69 | 70 |
| 70 #endif // PaintArtifactCompositor_h | 71 #endif // PaintArtifactCompositor_h |
| OLD | NEW |