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

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: 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 3303 matching lines...) Expand 10 before | Expand all | Expand 10 after
3387 if (m_didScrollTimer.isActive()) 3388 if (m_didScrollTimer.isActive())
3388 m_didScrollTimer.stop(); 3389 m_didScrollTimer.stop();
3389 m_didScrollTimer.startOneShot(resourcePriorityUpdateDelayAfterScroll, BLINK_ FROM_HERE); 3390 m_didScrollTimer.startOneShot(resourcePriorityUpdateDelayAfterScroll, BLINK_ FROM_HERE);
3390 3391
3391 if (AXObjectCache* cache = m_frame->document()->existingAXObjectCache()) 3392 if (AXObjectCache* cache = m_frame->document()->existingAXObjectCache())
3392 cache->handleScrollPositionChanged(this); 3393 cache->handleScrollPositionChanged(this);
3393 3394
3394 frame().loader().saveScrollState(); 3395 frame().loader().saveScrollState();
3395 frame().loader().client()->didChangeScrollOffset(); 3396 frame().loader().client()->didChangeScrollOffset();
3396 3397
3398 if (scrollType == CompositorScroll && m_frame->isMainFrame()) {
3399 if (DocumentLoader* documentLoader = m_frame->loader().documentLoader())
3400 documentLoader->initialScrollState().wasScrolledByUser = true;
3401 }
3402
3397 if (scrollType != AnchoringScroll) 3403 if (scrollType != AnchoringScroll)
3398 clearScrollAnchor(); 3404 clearScrollAnchor();
3399 } 3405 }
3400 3406
3401 void FrameView::clearScrollAnchor() 3407 void FrameView::clearScrollAnchor()
3402 { 3408 {
3403 if (!RuntimeEnabledFeatures::scrollAnchoringEnabled()) 3409 if (!RuntimeEnabledFeatures::scrollAnchoringEnabled())
3404 return; 3410 return;
3405 m_scrollAnchor.clear(); 3411 m_scrollAnchor.clear();
3406 } 3412 }
(...skipping 859 matching lines...) Expand 10 before | Expand all | Expand 10 after
4266 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling); 4272 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot tling);
4267 } 4273 }
4268 4274
4269 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const 4275 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const
4270 { 4276 {
4271 ASSERT(!layoutViewItem().isNull()); 4277 ASSERT(!layoutViewItem().isNull());
4272 return *layoutView(); 4278 return *layoutView();
4273 } 4279 }
4274 4280
4275 } // namespace blink 4281 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698