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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp

Issue 2658333002: Don't omit ScrollableAreas in non-clickable FrameViews. (Closed)
Patch Set: 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) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
3 * reserved. 3 * reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@gmail.com> 10 * Christian Biesinger <cbiesinger@gmail.com>
(...skipping 1654 matching lines...) Expand 10 before | Expand all | Expand 10 after
1665 1665
1666 void PaintLayerScrollableArea::updateScrollableAreaSet(bool hasOverflow) { 1666 void PaintLayerScrollableArea::updateScrollableAreaSet(bool hasOverflow) {
1667 LocalFrame* frame = box().frame(); 1667 LocalFrame* frame = box().frame();
1668 if (!frame) 1668 if (!frame)
1669 return; 1669 return;
1670 1670
1671 FrameView* frameView = frame->view(); 1671 FrameView* frameView = frame->view();
1672 if (!frameView) 1672 if (!frameView)
1673 return; 1673 return;
1674 1674
1675 // FIXME: Does this need to be fixed later for OOPI? 1675 // FIXME: Does this need to be fixed later for OOPI?
skobes 2017/01/28 00:26:33 Remove this FIXME.
1676 bool isVisibleToHitTest = box().style()->visibleToHitTesting(); 1676 bool isVisibleToHitTest = box().style()->visibleToHitTesting();
1677 if (HTMLFrameOwnerElement* owner = frame->deprecatedLocalOwner()) {
1678 isVisibleToHitTest &= owner->layoutObject() &&
1679 owner->layoutObject()->style()->visibleToHitTesting();
1680 }
1681 1677
1682 bool didScrollOverflow = m_scrollsOverflow; 1678 bool didScrollOverflow = m_scrollsOverflow;
1683 1679
1684 m_scrollsOverflow = hasOverflow && isVisibleToHitTest; 1680 m_scrollsOverflow = hasOverflow && isVisibleToHitTest;
1685 if (didScrollOverflow == scrollsOverflow()) 1681 if (didScrollOverflow == scrollsOverflow())
1686 return; 1682 return;
1687 1683
1688 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) { 1684 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) {
1689 // The scroll and scroll offset properties depend on |scrollsOverflow| (see: 1685 // The scroll and scroll offset properties depend on |scrollsOverflow| (see:
1690 // PaintPropertyTreeBuilder::updateScrollAndScrollTranslation). 1686 // PaintPropertyTreeBuilder::updateScrollAndScrollTranslation).
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
2121 2117
2122 void PaintLayerScrollableArea::DelayScrollOffsetClampScope:: 2118 void PaintLayerScrollableArea::DelayScrollOffsetClampScope::
2123 clampScrollableAreas() { 2119 clampScrollableAreas() {
2124 for (auto& scrollableArea : *s_needsClamp) 2120 for (auto& scrollableArea : *s_needsClamp)
2125 scrollableArea->clampScrollOffsetAfterOverflowChange(); 2121 scrollableArea->clampScrollOffsetAfterOverflowChange();
2126 delete s_needsClamp; 2122 delete s_needsClamp;
2127 s_needsClamp = nullptr; 2123 s_needsClamp = nullptr;
2128 } 2124 }
2129 2125
2130 } // namespace blink 2126 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/scrolling/scrollable-area-frame-scrolling-yes-display-none-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698