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

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

Issue 2144303002: Made layout viewport scroll updates from compositor work like ordinary layers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@rootScrollerOnCompositor
Patch Set: Initialize ScrollUpdateInfo's layer id in constructor Created 4 years, 5 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 #include "core/layout/ScrollAlignment.h" 64 #include "core/layout/ScrollAlignment.h"
65 #include "core/layout/TextAutosizer.h" 65 #include "core/layout/TextAutosizer.h"
66 #include "core/layout/TracedLayoutObject.h" 66 #include "core/layout/TracedLayoutObject.h"
67 #include "core/layout/api/LayoutBoxModel.h" 67 #include "core/layout/api/LayoutBoxModel.h"
68 #include "core/layout/api/LayoutItem.h" 68 #include "core/layout/api/LayoutItem.h"
69 #include "core/layout/api/LayoutViewItem.h" 69 #include "core/layout/api/LayoutViewItem.h"
70 #include "core/layout/compositing/CompositedLayerMapping.h" 70 #include "core/layout/compositing/CompositedLayerMapping.h"
71 #include "core/layout/compositing/CompositedSelection.h" 71 #include "core/layout/compositing/CompositedSelection.h"
72 #include "core/layout/compositing/PaintLayerCompositor.h" 72 #include "core/layout/compositing/PaintLayerCompositor.h"
73 #include "core/layout/svg/LayoutSVGRoot.h" 73 #include "core/layout/svg/LayoutSVGRoot.h"
74 #include "core/loader/DocumentLoader.h"
74 #include "core/loader/FrameLoader.h" 75 #include "core/loader/FrameLoader.h"
75 #include "core/loader/FrameLoaderClient.h" 76 #include "core/loader/FrameLoaderClient.h"
76 #include "core/page/AutoscrollController.h" 77 #include "core/page/AutoscrollController.h"
77 #include "core/page/ChromeClient.h" 78 #include "core/page/ChromeClient.h"
78 #include "core/page/FocusController.h" 79 #include "core/page/FocusController.h"
79 #include "core/page/FrameTree.h" 80 #include "core/page/FrameTree.h"
80 #include "core/page/Page.h" 81 #include "core/page/Page.h"
81 #include "core/page/scrolling/ChildViewportScrollCallback.h" 82 #include "core/page/scrolling/ChildViewportScrollCallback.h"
82 #include "core/page/scrolling/RootScrollerController.h" 83 #include "core/page/scrolling/RootScrollerController.h"
83 #include "core/page/scrolling/RootViewportScrollCallback.h" 84 #include "core/page/scrolling/RootViewportScrollCallback.h"
(...skipping 3318 matching lines...) Expand 10 before | Expand all | Expand 10 after
3402 if (m_didScrollTimer.isActive()) 3403 if (m_didScrollTimer.isActive())
3403 m_didScrollTimer.stop(); 3404 m_didScrollTimer.stop();
3404 m_didScrollTimer.startOneShot(resourcePriorityUpdateDelayAfterScroll, BLINK_ FROM_HERE); 3405 m_didScrollTimer.startOneShot(resourcePriorityUpdateDelayAfterScroll, BLINK_ FROM_HERE);
3405 3406
3406 if (AXObjectCache* cache = m_frame->document()->existingAXObjectCache()) 3407 if (AXObjectCache* cache = m_frame->document()->existingAXObjectCache())
3407 cache->handleScrollPositionChanged(this); 3408 cache->handleScrollPositionChanged(this);
3408 3409
3409 frame().loader().saveScrollState(); 3410 frame().loader().saveScrollState();
3410 frame().loader().client()->didChangeScrollOffset(); 3411 frame().loader().client()->didChangeScrollOffset();
3411 3412
3413 if (scrollType == CompositorScroll && m_frame->isMainFrame()) {
3414 if (DocumentLoader* documentLoader = m_frame->loader().documentLoader())
3415 documentLoader->initialScrollState().wasScrolledByUser = true;
3416 }
3417
3412 if (scrollType != AnchoringScroll) 3418 if (scrollType != AnchoringScroll)
3413 clearScrollAnchor(); 3419 clearScrollAnchor();
3414 } 3420 }
3415 3421
3416 void FrameView::clearScrollAnchor() 3422 void FrameView::clearScrollAnchor()
3417 { 3423 {
3418 if (!RuntimeEnabledFeatures::scrollAnchoringEnabled()) 3424 if (!RuntimeEnabledFeatures::scrollAnchoringEnabled())
3419 return; 3425 return;
3420 m_scrollAnchor.clear(); 3426 m_scrollAnchor.clear();
3421 } 3427 }
(...skipping 853 matching lines...) Expand 10 before | Expand all | Expand 10 after
4275 } 4281 }
4276 4282
4277 bool FrameView::canThrottleRendering() const 4283 bool FrameView::canThrottleRendering() const
4278 { 4284 {
4279 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled()) 4285 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled())
4280 return false; 4286 return false;
4281 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling); 4287 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling);
4282 } 4288 }
4283 4289
4284 } // namespace blink 4290 } // namespace blink
OLDNEW
« no previous file with comments | « cc/trees/tree_synchronizer_unittest.cc ('k') | third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698