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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2676923002: End-to-end prototype of compositor scrolling with slimming paint v2 (Closed)
Patch Set: Add SPV2 test of didScroll callback Created 3 years, 10 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 /* 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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698