OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
10 * | 10 * |
(...skipping 3140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3151 return; | 3151 return; |
3152 | 3152 |
3153 if (!m_paintArtifactCompositor) { | 3153 if (!m_paintArtifactCompositor) { |
3154 m_paintArtifactCompositor = PaintArtifactCompositor::create(); | 3154 m_paintArtifactCompositor = PaintArtifactCompositor::create(); |
3155 page->chromeClient().attachRootLayer( | 3155 page->chromeClient().attachRootLayer( |
3156 m_paintArtifactCompositor->getWebLayer(), &frame()); | 3156 m_paintArtifactCompositor->getWebLayer(), &frame()); |
3157 } | 3157 } |
3158 | 3158 |
3159 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.Compositing.UpdateTime"); | 3159 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.Compositing.UpdateTime"); |
3160 | 3160 |
| 3161 // TODO(pdr): This map should be cached. |
| 3162 PaintArtifactCompositor::ScrollClientMap scrollClientMap; |
| 3163 if (m_scrollableAreas) { |
| 3164 for (auto scrollableArea : *m_scrollableAreas) { |
| 3165 const auto* box = scrollableArea->layoutBox(); |
| 3166 if (!box) |
| 3167 continue; |
| 3168 const auto* properties = box->paintProperties(); |
| 3169 if (!properties) |
| 3170 continue; |
| 3171 const auto* scrollTranslation = properties->scrollTranslation(); |
| 3172 if (!scrollTranslation) |
| 3173 continue; |
| 3174 const auto* scrollNode = scrollTranslation->scrollNode(); |
| 3175 scrollClientMap.set(scrollNode, scrollableArea.get()); |
| 3176 } |
| 3177 } |
| 3178 if (const auto* scrollTranslationNode = scrollTranslation()) { |
| 3179 if (auto* scrollableArea = getScrollableArea()) |
| 3180 scrollClientMap.set(scrollTranslationNode->scrollNode(), scrollableArea); |
| 3181 } |
| 3182 |
3161 DCHECK(m_geometryMapper.get()); | 3183 DCHECK(m_geometryMapper.get()); |
3162 m_paintArtifactCompositor->update( | 3184 m_paintArtifactCompositor->update( |
3163 m_paintController->paintArtifact(), | 3185 m_paintController->paintArtifact(), |
3164 m_paintController->paintChunksRasterInvalidationTrackingMap(), | 3186 m_paintController->paintChunksRasterInvalidationTrackingMap(), |
3165 m_isStoringCompositedLayerDebugInfo, *m_geometryMapper); | 3187 m_isStoringCompositedLayerDebugInfo, *m_geometryMapper, scrollClientMap); |
3166 } | 3188 } |
3167 | 3189 |
3168 std::unique_ptr<JSONObject> FrameView::compositedLayersAsJSON( | 3190 std::unique_ptr<JSONObject> FrameView::compositedLayersAsJSON( |
3169 LayerTreeFlags flags) { | 3191 LayerTreeFlags flags) { |
3170 return frame() | 3192 return frame() |
3171 .localFrameRoot() | 3193 .localFrameRoot() |
3172 ->view() | 3194 ->view() |
3173 ->m_paintArtifactCompositor->layersAsJSON(flags); | 3195 ->m_paintArtifactCompositor->layersAsJSON(flags); |
3174 } | 3196 } |
3175 | 3197 |
(...skipping 1923 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5099 std::unique_ptr<CompositorAnimationTimeline> timeline) { | 5121 std::unique_ptr<CompositorAnimationTimeline> timeline) { |
5100 m_animationTimeline = std::move(timeline); | 5122 m_animationTimeline = std::move(timeline); |
5101 } | 5123 } |
5102 | 5124 |
5103 void FrameView::setAnimationHost( | 5125 void FrameView::setAnimationHost( |
5104 std::unique_ptr<CompositorAnimationHost> host) { | 5126 std::unique_ptr<CompositorAnimationHost> host) { |
5105 m_animationHost = std::move(host); | 5127 m_animationHost = std::move(host); |
5106 } | 5128 } |
5107 | 5129 |
5108 } // namespace blink | 5130 } // namespace blink |
OLD | NEW |