| 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 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 setScrollbarModes(newHorizontalMode, newVerticalMode); | 611 setScrollbarModes(newHorizontalMode, newVerticalMode); |
| 612 } | 612 } |
| 613 | 613 |
| 614 bool FrameView::shouldUseCustomScrollbars( | 614 bool FrameView::shouldUseCustomScrollbars( |
| 615 Element*& customScrollbarElement, | 615 Element*& customScrollbarElement, |
| 616 LocalFrame*& customScrollbarFrame) const { | 616 LocalFrame*& customScrollbarFrame) const { |
| 617 customScrollbarElement = nullptr; | 617 customScrollbarElement = nullptr; |
| 618 customScrollbarFrame = nullptr; | 618 customScrollbarFrame = nullptr; |
| 619 | 619 |
| 620 if (Settings* settings = m_frame->settings()) { | 620 if (Settings* settings = m_frame->settings()) { |
| 621 if (!settings->allowCustomScrollbarInMainFrame() && m_frame->isMainFrame()) | 621 if (!settings->getAllowCustomScrollbarInMainFrame() && |
| 622 m_frame->isMainFrame()) |
| 622 return false; | 623 return false; |
| 623 } | 624 } |
| 624 | 625 |
| 625 // FIXME: We need to update the scrollbar dynamically as documents change (or | 626 // FIXME: We need to update the scrollbar dynamically as documents change (or |
| 626 // as doc elements and bodies get discovered that have custom styles). | 627 // as doc elements and bodies get discovered that have custom styles). |
| 627 Document* doc = m_frame->document(); | 628 Document* doc = m_frame->document(); |
| 628 | 629 |
| 629 // Try the <body> element first as a scrollbar source. | 630 // Try the <body> element first as a scrollbar source. |
| 630 Element* body = doc ? doc->body() : 0; | 631 Element* body = doc ? doc->body() : 0; |
| 631 if (body && body->layoutObject() && | 632 if (body && body->layoutObject() && |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 824 | 825 |
| 825 if (scrollOriginChanged()) | 826 if (scrollOriginChanged()) |
| 826 setNeedsLayout(); | 827 setNeedsLayout(); |
| 827 } | 828 } |
| 828 | 829 |
| 829 bool FrameView::usesCompositedScrolling() const { | 830 bool FrameView::usesCompositedScrolling() const { |
| 830 LayoutViewItem layoutView = this->layoutViewItem(); | 831 LayoutViewItem layoutView = this->layoutViewItem(); |
| 831 if (layoutView.isNull()) | 832 if (layoutView.isNull()) |
| 832 return false; | 833 return false; |
| 833 if (m_frame->settings() && | 834 if (m_frame->settings() && |
| 834 m_frame->settings()->preferCompositingToLCDTextEnabled()) | 835 m_frame->settings()->getPreferCompositingToLCDTextEnabled()) |
| 835 return layoutView.compositor()->inCompositingMode(); | 836 return layoutView.compositor()->inCompositingMode(); |
| 836 return false; | 837 return false; |
| 837 } | 838 } |
| 838 | 839 |
| 839 bool FrameView::shouldScrollOnMainThread() const { | 840 bool FrameView::shouldScrollOnMainThread() const { |
| 840 if (mainThreadScrollingReasons()) | 841 if (mainThreadScrollingReasons()) |
| 841 return true; | 842 return true; |
| 842 return ScrollableArea::shouldScrollOnMainThread(); | 843 return ScrollableArea::shouldScrollOnMainThread(); |
| 843 } | 844 } |
| 844 | 845 |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 948 | 949 |
| 949 bool wasResized = wasViewportResized(); | 950 bool wasResized = wasViewportResized(); |
| 950 Document* document = m_frame->document(); | 951 Document* document = m_frame->document(); |
| 951 if (wasResized) | 952 if (wasResized) |
| 952 document->notifyResizeForViewportUnits(); | 953 document->notifyResizeForViewportUnits(); |
| 953 | 954 |
| 954 // Viewport-dependent or device-dependent media queries may cause us to need | 955 // Viewport-dependent or device-dependent media queries may cause us to need |
| 955 // completely different style information. | 956 // completely different style information. |
| 956 bool mainFrameRotation = | 957 bool mainFrameRotation = |
| 957 m_frame->isMainFrame() && m_frame->settings() && | 958 m_frame->isMainFrame() && m_frame->settings() && |
| 958 m_frame->settings()->mainFrameResizesAreOrientationChanges(); | 959 m_frame->settings()->getMainFrameResizesAreOrientationChanges(); |
| 959 if ((wasResized && | 960 if ((wasResized && |
| 960 document->styleEngine().mediaQueryAffectedByViewportChange()) || | 961 document->styleEngine().mediaQueryAffectedByViewportChange()) || |
| 961 (wasResized && mainFrameRotation && | 962 (wasResized && mainFrameRotation && |
| 962 document->styleEngine().mediaQueryAffectedByDeviceChange())) { | 963 document->styleEngine().mediaQueryAffectedByDeviceChange())) { |
| 963 document->mediaQueryAffectingValueChanged(); | 964 document->mediaQueryAffectingValueChanged(); |
| 964 } else if (wasResized) { | 965 } else if (wasResized) { |
| 965 document->evaluateMediaQueryList(); | 966 document->evaluateMediaQueryList(); |
| 966 } | 967 } |
| 967 | 968 |
| 968 document->updateStyleAndLayoutTree(); | 969 document->updateStyleAndLayoutTree(); |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1473 | 1474 |
| 1474 void FrameView::setMediaType(const AtomicString& mediaType) { | 1475 void FrameView::setMediaType(const AtomicString& mediaType) { |
| 1475 DCHECK(m_frame->document()); | 1476 DCHECK(m_frame->document()); |
| 1476 m_mediaType = mediaType; | 1477 m_mediaType = mediaType; |
| 1477 m_frame->document()->mediaQueryAffectingValueChanged(); | 1478 m_frame->document()->mediaQueryAffectingValueChanged(); |
| 1478 } | 1479 } |
| 1479 | 1480 |
| 1480 AtomicString FrameView::mediaType() const { | 1481 AtomicString FrameView::mediaType() const { |
| 1481 // See if we have an override type. | 1482 // See if we have an override type. |
| 1482 if (m_frame->settings() && | 1483 if (m_frame->settings() && |
| 1483 !m_frame->settings()->mediaTypeOverride().isEmpty()) | 1484 !m_frame->settings()->getMediaTypeOverride().isEmpty()) |
| 1484 return AtomicString(m_frame->settings()->mediaTypeOverride()); | 1485 return AtomicString(m_frame->settings()->getMediaTypeOverride()); |
| 1485 return m_mediaType; | 1486 return m_mediaType; |
| 1486 } | 1487 } |
| 1487 | 1488 |
| 1488 void FrameView::adjustMediaTypeForPrinting(bool printing) { | 1489 void FrameView::adjustMediaTypeForPrinting(bool printing) { |
| 1489 if (printing) { | 1490 if (printing) { |
| 1490 if (m_mediaTypeWhenNotPrinting.isNull()) | 1491 if (m_mediaTypeWhenNotPrinting.isNull()) |
| 1491 m_mediaTypeWhenNotPrinting = mediaType(); | 1492 m_mediaTypeWhenNotPrinting = mediaType(); |
| 1492 setMediaType(MediaTypeNames::print); | 1493 setMediaType(MediaTypeNames::print); |
| 1493 } else { | 1494 } else { |
| 1494 if (!m_mediaTypeWhenNotPrinting.isNull()) | 1495 if (!m_mediaTypeWhenNotPrinting.isNull()) |
| (...skipping 996 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2491 layoutObject = layoutObject->nextInPreOrder()) { | 2492 layoutObject = layoutObject->nextInPreOrder()) { |
| 2492 if (!layoutObject->isCounter()) | 2493 if (!layoutObject->isCounter()) |
| 2493 continue; | 2494 continue; |
| 2494 | 2495 |
| 2495 toLayoutCounter(layoutObject)->updateCounter(); | 2496 toLayoutCounter(layoutObject)->updateCounter(); |
| 2496 } | 2497 } |
| 2497 } | 2498 } |
| 2498 | 2499 |
| 2499 bool FrameView::shouldUseIntegerScrollOffset() const { | 2500 bool FrameView::shouldUseIntegerScrollOffset() const { |
| 2500 if (m_frame->settings() && | 2501 if (m_frame->settings() && |
| 2501 !m_frame->settings()->preferCompositingToLCDTextEnabled()) | 2502 !m_frame->settings()->getPreferCompositingToLCDTextEnabled()) |
| 2502 return true; | 2503 return true; |
| 2503 | 2504 |
| 2504 return ScrollableArea::shouldUseIntegerScrollOffset(); | 2505 return ScrollableArea::shouldUseIntegerScrollOffset(); |
| 2505 } | 2506 } |
| 2506 | 2507 |
| 2507 bool FrameView::isActive() const { | 2508 bool FrameView::isActive() const { |
| 2508 Page* page = frame().page(); | 2509 Page* page = frame().page(); |
| 2509 return page && page->focusController().isActive(); | 2510 return page && page->focusController().isActive(); |
| 2510 } | 2511 } |
| 2511 | 2512 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2641 | 2642 |
| 2642 for (const auto& scrollableArea : *m_scrollableAreas) { | 2643 for (const auto& scrollableArea : *m_scrollableAreas) { |
| 2643 if (!scrollableArea->scrollbarsCanBeActive()) | 2644 if (!scrollableArea->scrollbarsCanBeActive()) |
| 2644 continue; | 2645 continue; |
| 2645 | 2646 |
| 2646 scrollableArea->contentAreaWillPaint(); | 2647 scrollableArea->contentAreaWillPaint(); |
| 2647 } | 2648 } |
| 2648 } | 2649 } |
| 2649 | 2650 |
| 2650 bool FrameView::scrollAnimatorEnabled() const { | 2651 bool FrameView::scrollAnimatorEnabled() const { |
| 2651 return m_frame->settings() && m_frame->settings()->scrollAnimatorEnabled(); | 2652 return m_frame->settings() && m_frame->settings()->getScrollAnimatorEnabled(); |
| 2652 } | 2653 } |
| 2653 | 2654 |
| 2654 void FrameView::updateDocumentAnnotatedRegions() const { | 2655 void FrameView::updateDocumentAnnotatedRegions() const { |
| 2655 Document* document = m_frame->document(); | 2656 Document* document = m_frame->document(); |
| 2656 if (!document->hasAnnotatedRegions()) | 2657 if (!document->hasAnnotatedRegions()) |
| 2657 return; | 2658 return; |
| 2658 Vector<AnnotatedRegionValue> newRegions; | 2659 Vector<AnnotatedRegionValue> newRegions; |
| 2659 collectAnnotatedRegions(*(document->layoutBox()), newRegions); | 2660 collectAnnotatedRegions(*(document->layoutBox()), newRegions); |
| 2660 if (newRegions == document->annotatedRegions()) | 2661 if (newRegions == document->annotatedRegions()) |
| 2661 return; | 2662 return; |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2746 return nullptr; | 2747 return nullptr; |
| 2747 | 2748 |
| 2748 Frame* parentFrame = m_frame->tree().parent(); | 2749 Frame* parentFrame = m_frame->tree().parent(); |
| 2749 if (parentFrame && parentFrame->isLocalFrame()) | 2750 if (parentFrame && parentFrame->isLocalFrame()) |
| 2750 return toLocalFrame(parentFrame)->view(); | 2751 return toLocalFrame(parentFrame)->view(); |
| 2751 | 2752 |
| 2752 return nullptr; | 2753 return nullptr; |
| 2753 } | 2754 } |
| 2754 | 2755 |
| 2755 void FrameView::didChangeGlobalRootScroller() { | 2756 void FrameView::didChangeGlobalRootScroller() { |
| 2756 if (!m_frame->settings() || !m_frame->settings()->viewportEnabled()) | 2757 if (!m_frame->settings() || !m_frame->settings()->getViewportEnabled()) |
| 2757 return; | 2758 return; |
| 2758 | 2759 |
| 2759 // Avoid drawing two sets of scrollbars when visual viewport is enabled. | 2760 // Avoid drawing two sets of scrollbars when visual viewport is enabled. |
| 2760 bool hasHorizontalScrollbar = horizontalScrollbar(); | 2761 bool hasHorizontalScrollbar = horizontalScrollbar(); |
| 2761 bool hasVerticalScrollbar = verticalScrollbar(); | 2762 bool hasVerticalScrollbar = verticalScrollbar(); |
| 2762 bool shouldHaveHorizontalScrollbar = false; | 2763 bool shouldHaveHorizontalScrollbar = false; |
| 2763 bool shouldHaveVerticalScrollbar = false; | 2764 bool shouldHaveVerticalScrollbar = false; |
| 2764 computeScrollbarExistence(shouldHaveHorizontalScrollbar, | 2765 computeScrollbarExistence(shouldHaveHorizontalScrollbar, |
| 2765 shouldHaveVerticalScrollbar, contentsSize()); | 2766 shouldHaveVerticalScrollbar, contentsSize()); |
| 2766 m_scrollbarManager.setHasHorizontalScrollbar(shouldHaveHorizontalScrollbar); | 2767 m_scrollbarManager.setHasHorizontalScrollbar(shouldHaveHorizontalScrollbar); |
| (...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3592 | 3593 |
| 3593 if (child->isFrameView()) | 3594 if (child->isFrameView()) |
| 3594 removeScrollableArea(toFrameView(child)); | 3595 removeScrollableArea(toFrameView(child)); |
| 3595 | 3596 |
| 3596 child->setParent(0); | 3597 child->setParent(0); |
| 3597 m_children.remove(child); | 3598 m_children.remove(child); |
| 3598 } | 3599 } |
| 3599 | 3600 |
| 3600 bool FrameView::visualViewportSuppliesScrollbars() { | 3601 bool FrameView::visualViewportSuppliesScrollbars() { |
| 3601 // On desktop, we always use the layout viewport's scrollbars. | 3602 // On desktop, we always use the layout viewport's scrollbars. |
| 3602 if (!m_frame->settings() || !m_frame->settings()->viewportEnabled() || | 3603 if (!m_frame->settings() || !m_frame->settings()->getViewportEnabled() || |
| 3603 !m_frame->document() || !m_frame->host()) | 3604 !m_frame->document() || !m_frame->host()) |
| 3604 return false; | 3605 return false; |
| 3605 | 3606 |
| 3606 const TopDocumentRootScrollerController& controller = | 3607 const TopDocumentRootScrollerController& controller = |
| 3607 m_frame->host()->globalRootScrollerController(); | 3608 m_frame->host()->globalRootScrollerController(); |
| 3608 | 3609 |
| 3609 if (!layoutViewportScrollableArea()) | 3610 if (!layoutViewportScrollableArea()) |
| 3610 return false; | 3611 return false; |
| 3611 | 3612 |
| 3612 return RootScrollerUtil::scrollableAreaForRootScroller( | 3613 return RootScrollerUtil::scrollableAreaForRootScroller( |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3744 visibleContentSize(scrollbarInclusion)); | 3745 visibleContentSize(scrollbarInclusion)); |
| 3745 } | 3746 } |
| 3746 | 3747 |
| 3747 IntSize FrameView::contentsSize() const { | 3748 IntSize FrameView::contentsSize() const { |
| 3748 return m_contentsSize; | 3749 return m_contentsSize; |
| 3749 } | 3750 } |
| 3750 | 3751 |
| 3751 void FrameView::clipPaintRect(FloatRect* paintRect) const { | 3752 void FrameView::clipPaintRect(FloatRect* paintRect) const { |
| 3752 // Paint the whole rect if "mainFrameClipsContent" is false, meaning that | 3753 // Paint the whole rect if "mainFrameClipsContent" is false, meaning that |
| 3753 // WebPreferences::record_whole_document is true. | 3754 // WebPreferences::record_whole_document is true. |
| 3754 if (!m_frame->settings()->mainFrameClipsContent()) | 3755 if (!m_frame->settings()->getMainFrameClipsContent()) |
| 3755 return; | 3756 return; |
| 3756 | 3757 |
| 3757 paintRect->intersect( | 3758 paintRect->intersect( |
| 3758 page()->chromeClient().visibleContentRectForPainting().value_or( | 3759 page()->chromeClient().visibleContentRectForPainting().value_or( |
| 3759 visibleContentRect())); | 3760 visibleContentRect())); |
| 3760 } | 3761 } |
| 3761 | 3762 |
| 3762 IntSize FrameView::minimumScrollOffsetInt() const { | 3763 IntSize FrameView::minimumScrollOffsetInt() const { |
| 3763 return IntSize(-scrollOrigin().x(), -scrollOrigin().y()); | 3764 return IntSize(-scrollOrigin().x(), -scrollOrigin().y()); |
| 3764 } | 3765 } |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3861 return (horizontalScrollbar() && | 3862 return (horizontalScrollbar() && |
| 3862 horizontalScrollbar()->isOverlayScrollbar()) || | 3863 horizontalScrollbar()->isOverlayScrollbar()) || |
| 3863 (verticalScrollbar() && verticalScrollbar()->isOverlayScrollbar()); | 3864 (verticalScrollbar() && verticalScrollbar()->isOverlayScrollbar()); |
| 3864 } | 3865 } |
| 3865 | 3866 |
| 3866 void FrameView::computeScrollbarExistence( | 3867 void FrameView::computeScrollbarExistence( |
| 3867 bool& newHasHorizontalScrollbar, | 3868 bool& newHasHorizontalScrollbar, |
| 3868 bool& newHasVerticalScrollbar, | 3869 bool& newHasVerticalScrollbar, |
| 3869 const IntSize& docSize, | 3870 const IntSize& docSize, |
| 3870 ComputeScrollbarExistenceOption option) { | 3871 ComputeScrollbarExistenceOption option) { |
| 3871 if ((m_frame->settings() && m_frame->settings()->hideScrollbars()) || | 3872 if ((m_frame->settings() && m_frame->settings()->getHideScrollbars()) || |
| 3872 visualViewportSuppliesScrollbars()) { | 3873 visualViewportSuppliesScrollbars()) { |
| 3873 newHasHorizontalScrollbar = false; | 3874 newHasHorizontalScrollbar = false; |
| 3874 newHasVerticalScrollbar = false; | 3875 newHasVerticalScrollbar = false; |
| 3875 return; | 3876 return; |
| 3876 } | 3877 } |
| 3877 | 3878 |
| 3878 bool hasHorizontalScrollbar = horizontalScrollbar(); | 3879 bool hasHorizontalScrollbar = horizontalScrollbar(); |
| 3879 bool hasVerticalScrollbar = verticalScrollbar(); | 3880 bool hasVerticalScrollbar = verticalScrollbar(); |
| 3880 | 3881 |
| 3881 newHasHorizontalScrollbar = hasHorizontalScrollbar; | 3882 newHasHorizontalScrollbar = hasHorizontalScrollbar; |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4014 | 4015 |
| 4015 bool hasAnyScrollbar = horizontalScrollbar() || verticalScrollbar(); | 4016 bool hasAnyScrollbar = horizontalScrollbar() || verticalScrollbar(); |
| 4016 bool hasCustom = | 4017 bool hasCustom = |
| 4017 (horizontalScrollbar() && horizontalScrollbar()->isCustomScrollbar()) || | 4018 (horizontalScrollbar() && horizontalScrollbar()->isCustomScrollbar()) || |
| 4018 (verticalScrollbar() && verticalScrollbar()->isCustomScrollbar()); | 4019 (verticalScrollbar() && verticalScrollbar()->isCustomScrollbar()); |
| 4019 | 4020 |
| 4020 return hasAnyScrollbar && (shouldUseCustom != hasCustom); | 4021 return hasAnyScrollbar && (shouldUseCustom != hasCustom); |
| 4021 } | 4022 } |
| 4022 | 4023 |
| 4023 bool FrameView::shouldIgnoreOverflowHidden() const { | 4024 bool FrameView::shouldIgnoreOverflowHidden() const { |
| 4024 return m_frame->settings()->ignoreMainFrameOverflowHiddenQuirk() && | 4025 return m_frame->settings()->getIgnoreMainFrameOverflowHiddenQuirk() && |
| 4025 m_frame->isMainFrame(); | 4026 m_frame->isMainFrame(); |
| 4026 } | 4027 } |
| 4027 | 4028 |
| 4028 void FrameView::updateScrollbarsIfNeeded() { | 4029 void FrameView::updateScrollbarsIfNeeded() { |
| 4029 if (m_needsScrollbarsUpdate || needsScrollbarReconstruction() || | 4030 if (m_needsScrollbarsUpdate || needsScrollbarReconstruction() || |
| 4030 scrollOriginChanged()) | 4031 scrollOriginChanged()) |
| 4031 updateScrollbars(); | 4032 updateScrollbars(); |
| 4032 } | 4033 } |
| 4033 | 4034 |
| 4034 void FrameView::updateScrollbars() { | 4035 void FrameView::updateScrollbars() { |
| (...skipping 734 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4769 return true; | 4770 return true; |
| 4770 } | 4771 } |
| 4771 return false; | 4772 return false; |
| 4772 } | 4773 } |
| 4773 | 4774 |
| 4774 void FrameView::updateSubFrameScrollOnMainReason( | 4775 void FrameView::updateSubFrameScrollOnMainReason( |
| 4775 const Frame& frame, | 4776 const Frame& frame, |
| 4776 MainThreadScrollingReasons parentReason) { | 4777 MainThreadScrollingReasons parentReason) { |
| 4777 MainThreadScrollingReasons reasons = parentReason; | 4778 MainThreadScrollingReasons reasons = parentReason; |
| 4778 | 4779 |
| 4779 if (!page()->settings().threadedScrollingEnabled()) | 4780 if (!page()->settings().getThreadedScrollingEnabled()) |
| 4780 reasons |= MainThreadScrollingReason::kThreadedScrollingDisabled; | 4781 reasons |= MainThreadScrollingReason::kThreadedScrollingDisabled; |
| 4781 | 4782 |
| 4782 if (!frame.isLocalFrame()) | 4783 if (!frame.isLocalFrame()) |
| 4783 return; | 4784 return; |
| 4784 | 4785 |
| 4785 if (!toLocalFrame(frame).view()->layerForScrolling()) | 4786 if (!toLocalFrame(frame).view()->layerForScrolling()) |
| 4786 return; | 4787 return; |
| 4787 | 4788 |
| 4788 reasons |= toLocalFrame(frame).view()->mainThreadScrollingReasonsPerFrame(); | 4789 reasons |= toLocalFrame(frame).view()->mainThreadScrollingReasonsPerFrame(); |
| 4789 if (WebLayer* scrollLayer = | 4790 if (WebLayer* scrollLayer = |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4836 reasons |= | 4837 reasons |= |
| 4837 MainThreadScrollingReason::kHasNonLayerViewportConstrainedObjects; | 4838 MainThreadScrollingReason::kHasNonLayerViewportConstrainedObjects; |
| 4838 } | 4839 } |
| 4839 return reasons; | 4840 return reasons; |
| 4840 } | 4841 } |
| 4841 | 4842 |
| 4842 MainThreadScrollingReasons FrameView::mainThreadScrollingReasons() const { | 4843 MainThreadScrollingReasons FrameView::mainThreadScrollingReasons() const { |
| 4843 MainThreadScrollingReasons reasons = | 4844 MainThreadScrollingReasons reasons = |
| 4844 static_cast<MainThreadScrollingReasons>(0); | 4845 static_cast<MainThreadScrollingReasons>(0); |
| 4845 | 4846 |
| 4846 if (!page()->settings().threadedScrollingEnabled()) | 4847 if (!page()->settings().getThreadedScrollingEnabled()) |
| 4847 reasons |= MainThreadScrollingReason::kThreadedScrollingDisabled; | 4848 reasons |= MainThreadScrollingReason::kThreadedScrollingDisabled; |
| 4848 | 4849 |
| 4849 if (!page()->mainFrame()->isLocalFrame()) | 4850 if (!page()->mainFrame()->isLocalFrame()) |
| 4850 return reasons; | 4851 return reasons; |
| 4851 | 4852 |
| 4852 // TODO(alexmos,kenrb): For OOPIF, local roots that are different from | 4853 // TODO(alexmos,kenrb): For OOPIF, local roots that are different from |
| 4853 // the main frame can't be used in the calculation, since they use | 4854 // the main frame can't be used in the calculation, since they use |
| 4854 // different compositors with unrelated state, which breaks some of the | 4855 // different compositors with unrelated state, which breaks some of the |
| 4855 // calculations below. | 4856 // calculations below. |
| 4856 if (m_frame->localFrameRoot() != page()->mainFrame()) | 4857 if (m_frame->localFrameRoot() != page()->mainFrame()) |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4902 reason < MainThreadScrollingReason::kMainThreadScrollingReasonCount; | 4903 reason < MainThreadScrollingReason::kMainThreadScrollingReasonCount; |
| 4903 ++reason) { | 4904 ++reason) { |
| 4904 if (m_mainThreadScrollingReasonsCounter[reason] > 0) { | 4905 if (m_mainThreadScrollingReasonsCounter[reason] > 0) { |
| 4905 reasons |= 1 << (reason - 1); | 4906 reasons |= 1 << (reason - 1); |
| 4906 } | 4907 } |
| 4907 } | 4908 } |
| 4908 return reasons; | 4909 return reasons; |
| 4909 } | 4910 } |
| 4910 | 4911 |
| 4911 } // namespace blink | 4912 } // namespace blink |
| OLD | NEW |