| 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 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 821 m_viewportScrollableArea = RootFrameViewport::create(visualViewport, *la
youtViewport); | 821 m_viewportScrollableArea = RootFrameViewport::create(visualViewport, *la
youtViewport); |
| 822 } | 822 } |
| 823 | 823 |
| 824 if (!m_scrollAnchor.hasScroller()) | 824 if (!m_scrollAnchor.hasScroller()) |
| 825 m_scrollAnchor.setScroller(m_viewportScrollableArea ? m_viewportScrollab
leArea : this); | 825 m_scrollAnchor.setScroller(m_viewportScrollableArea ? m_viewportScrollab
leArea : this); |
| 826 | 826 |
| 827 if (shouldPerformScrollAnchoring()) | 827 if (shouldPerformScrollAnchoring()) |
| 828 m_scrollAnchor.save(); | 828 m_scrollAnchor.save(); |
| 829 } | 829 } |
| 830 | 830 |
| 831 bool FrameView::shouldPerformScrollAnchoring() const |
| 832 { |
| 833 return RuntimeEnabledFeatures::scrollAnchoringEnabled() |
| 834 && m_frame->settings() && !m_frame->settings()->rootLayerScrolls() |
| 835 && m_scrollAnchor.hasScroller() |
| 836 && layoutBox()->style()->overflowAnchor() != AnchorNone; |
| 837 } |
| 838 |
| 831 static inline void layoutFromRootObject(LayoutObject& root) | 839 static inline void layoutFromRootObject(LayoutObject& root) |
| 832 { | 840 { |
| 833 LayoutState layoutState(root); | 841 LayoutState layoutState(root); |
| 834 root.layout(); | 842 root.layout(); |
| 835 } | 843 } |
| 836 | 844 |
| 837 void FrameView::prepareLayoutAnalyzer() | 845 void FrameView::prepareLayoutAnalyzer() |
| 838 { | 846 { |
| 839 bool isTracing = false; | 847 bool isTracing = false; |
| 840 TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("blink.debug.la
yout"), &isTracing); | 848 TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("blink.debug.la
yout"), &isTracing); |
| (...skipping 2807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3648 | 3656 |
| 3649 adjustScrollPositionFromUpdateScrollbars(); | 3657 adjustScrollPositionFromUpdateScrollbars(); |
| 3650 } | 3658 } |
| 3651 | 3659 |
| 3652 void FrameView::adjustScrollPositionFromUpdateScrollbars() | 3660 void FrameView::adjustScrollPositionFromUpdateScrollbars() |
| 3653 { | 3661 { |
| 3654 DoublePoint clamped = clampScrollPosition(scrollPositionDouble()); | 3662 DoublePoint clamped = clampScrollPosition(scrollPositionDouble()); |
| 3655 // Restore before clamping because clamping clears the scroll anchor. | 3663 // Restore before clamping because clamping clears the scroll anchor. |
| 3656 // TODO(ymalik): This same logic exists in PaintLayerScrollableArea. | 3664 // TODO(ymalik): This same logic exists in PaintLayerScrollableArea. |
| 3657 // Remove when root-layer-scrolls is enabled. | 3665 // Remove when root-layer-scrolls is enabled. |
| 3658 if (clamped != scrollPositionDouble() && shouldPerformScrollAnchoring() && m
_scrollAnchor.hasScroller()) { | 3666 if (clamped != scrollPositionDouble() && shouldPerformScrollAnchoring()) { |
| 3659 m_scrollAnchor.restore(); | 3667 m_scrollAnchor.restore(); |
| 3660 clamped = clampScrollPosition(scrollPositionDouble()); | 3668 clamped = clampScrollPosition(scrollPositionDouble()); |
| 3661 } | 3669 } |
| 3662 if (clamped != scrollPositionDouble() || scrollOriginChanged()) { | 3670 if (clamped != scrollPositionDouble() || scrollOriginChanged()) { |
| 3663 ScrollableArea::setScrollPosition(clamped, ProgrammaticScroll); | 3671 ScrollableArea::setScrollPosition(clamped, ProgrammaticScroll); |
| 3664 resetScrollOriginChanged(); | 3672 resetScrollOriginChanged(); |
| 3665 } | 3673 } |
| 3666 } | 3674 } |
| 3667 | 3675 |
| 3668 IntRect FrameView::rectToCopyOnScroll() const | 3676 IntRect FrameView::rectToCopyOnScroll() const |
| (...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4286 } | 4294 } |
| 4287 | 4295 |
| 4288 bool FrameView::canThrottleRendering() const | 4296 bool FrameView::canThrottleRendering() const |
| 4289 { | 4297 { |
| 4290 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled()) | 4298 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled()) |
| 4291 return false; | 4299 return false; |
| 4292 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot
tling); | 4300 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot
tling); |
| 4293 } | 4301 } |
| 4294 | 4302 |
| 4295 } // namespace blink | 4303 } // namespace blink |
| OLD | NEW |