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

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

Issue 2478463003: Revert of Implement overlay scrollbar fade out for non-composited scrollers. (Closed)
Patch Set: Created 4 years, 1 month 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 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 293
294 detachScrollbars(); 294 detachScrollbars();
295 295
296 if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator()) 296 if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator())
297 scrollingCoordinator->willDestroyScrollableArea(this); 297 scrollingCoordinator->willDestroyScrollableArea(this);
298 298
299 // We need to clear the RootFrameViewport's animator since it gets called 299 // We need to clear the RootFrameViewport's animator since it gets called
300 // from non-GC'd objects and RootFrameViewport will still have a pointer to 300 // from non-GC'd objects and RootFrameViewport will still have a pointer to
301 // this class. 301 // this class.
302 if (m_viewportScrollableArea) 302 if (m_viewportScrollableArea)
303 m_viewportScrollableArea->clearScrollableArea(); 303 m_viewportScrollableArea->clearScrollAnimators();
304 304
305 clearScrollableArea(); 305 clearScrollAnimators();
306 306
307 // Destroy |m_autoSizeInfo| as early as possible, to avoid dereferencing 307 // Destroy |m_autoSizeInfo| as early as possible, to avoid dereferencing
308 // partially destroyed |this| via |m_autoSizeInfo->m_frameView|. 308 // partially destroyed |this| via |m_autoSizeInfo->m_frameView|.
309 m_autoSizeInfo.clear(); 309 m_autoSizeInfo.clear();
310 310
311 m_postLayoutTasksTimer.stop(); 311 m_postLayoutTasksTimer.stop();
312 m_didScrollTimer.stop(); 312 m_didScrollTimer.stop();
313 313
314 m_renderThrottlingObserverNotificationFactory->cancel(); 314 m_renderThrottlingObserverNotificationFactory->cancel();
315 315
(...skipping 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after
1464 1464
1465 if (ScrollingCoordinator* scrollingCoordinator = 1465 if (ScrollingCoordinator* scrollingCoordinator =
1466 this->scrollingCoordinator()) 1466 this->scrollingCoordinator())
1467 scrollingCoordinator->frameViewFixedObjectsDidChange(this); 1467 scrollingCoordinator->frameViewFixedObjectsDidChange(this);
1468 } 1468 }
1469 } 1469 }
1470 1470
1471 void FrameView::viewportSizeChanged(bool widthChanged, bool heightChanged) { 1471 void FrameView::viewportSizeChanged(bool widthChanged, bool heightChanged) {
1472 DCHECK(widthChanged || heightChanged); 1472 DCHECK(widthChanged || heightChanged);
1473 1473
1474 showOverlayScrollbars();
1475 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 1474 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
1476 // The background must be repainted when the FrameView is resized, even if 1475 // The background must be repainted when the FrameView is resized, even if
1477 // the initial containing block does not change (so we can't rely on layout 1476 // the initial containing block does not change (so we can't rely on layout
1478 // to issue the invalidation). This is because the background fills the 1477 // to issue the invalidation). This is because the background fills the
1479 // main GraphicsLayer, which takes the size of the layout viewport. 1478 // main GraphicsLayer, which takes the size of the layout viewport.
1480 // TODO(skobes): Paint non-fixed backgrounds into the scrolling contents 1479 // TODO(skobes): Paint non-fixed backgrounds into the scrolling contents
1481 // layer and avoid this invalidation (http://crbug.com/568847). 1480 // layer and avoid this invalidation (http://crbug.com/568847).
1482 LayoutViewItem lvi = layoutViewItem(); 1481 LayoutViewItem lvi = layoutViewItem();
1483 if (!lvi.isNull()) 1482 if (!lvi.isNull())
1484 lvi.setShouldDoFullPaintInvalidation(); 1483 lvi.setShouldDoFullPaintInvalidation();
(...skipping 900 matching lines...) Expand 10 before | Expand all | Expand 10 after
2385 } 2384 }
2386 2385
2387 bool FrameView::scrollbarsCanBeActive() const { 2386 bool FrameView::scrollbarsCanBeActive() const {
2388 if (m_frame->view() != this) 2387 if (m_frame->view() != this)
2389 return false; 2388 return false;
2390 2389
2391 return !!m_frame->document(); 2390 return !!m_frame->document();
2392 } 2391 }
2393 2392
2394 void FrameView::scrollbarVisibilityChanged() { 2393 void FrameView::scrollbarVisibilityChanged() {
2395 // Scrollbar enabled state is set from updateScrollbarGeometry.
2396 updateScrollbarGeometry();
2397 LayoutViewItem viewItem = layoutViewItem(); 2394 LayoutViewItem viewItem = layoutViewItem();
2398 if (!viewItem.isNull()) 2395 if (!viewItem.isNull())
2399 viewItem.clearHitTestCache(); 2396 viewItem.clearHitTestCache();
2400 } 2397 }
2401 2398
2402 IntRect FrameView::scrollableAreaBoundingBox() const { 2399 IntRect FrameView::scrollableAreaBoundingBox() const {
2403 LayoutPartItem ownerLayoutItem = frame().ownerLayoutItem(); 2400 LayoutPartItem ownerLayoutItem = frame().ownerLayoutItem();
2404 if (ownerLayoutItem.isNull()) 2401 if (ownerLayoutItem.isNull())
2405 return frameRect(); 2402 return frameRect();
2406 2403
(...skipping 1193 matching lines...) Expand 10 before | Expand all | Expand 10 after
3600 3597
3601 return scrollbar->totalSize() - scrollbar->visibleSize(); 3598 return scrollbar->totalSize() - scrollbar->visibleSize();
3602 } 3599 }
3603 3600
3604 void FrameView::updateScrollOffset(const ScrollOffset& offset, 3601 void FrameView::updateScrollOffset(const ScrollOffset& offset,
3605 ScrollType scrollType) { 3602 ScrollType scrollType) {
3606 ScrollOffset scrollDelta = offset - m_scrollOffset; 3603 ScrollOffset scrollDelta = offset - m_scrollOffset;
3607 if (scrollDelta.isZero()) 3604 if (scrollDelta.isZero())
3608 return; 3605 return;
3609 3606
3610 showOverlayScrollbars();
3611
3612 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 3607 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
3613 // Don't scroll the FrameView! 3608 // Don't scroll the FrameView!
3614 ASSERT_NOT_REACHED(); 3609 ASSERT_NOT_REACHED();
3615 } 3610 }
3616 3611
3617 m_scrollOffset = offset; 3612 m_scrollOffset = offset;
3618 3613
3619 if (!scrollbarsSuppressed()) 3614 if (!scrollbarsSuppressed())
3620 m_pendingScrollDelta += scrollDelta; 3615 m_pendingScrollDelta += scrollDelta;
3621 3616
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
3823 return m_frame->settings()->ignoreMainFrameOverflowHiddenQuirk() && 3818 return m_frame->settings()->ignoreMainFrameOverflowHiddenQuirk() &&
3824 m_frame->isMainFrame(); 3819 m_frame->isMainFrame();
3825 } 3820 }
3826 3821
3827 void FrameView::updateScrollbarsIfNeeded() { 3822 void FrameView::updateScrollbarsIfNeeded() {
3828 if (m_needsScrollbarsUpdate || needsScrollbarReconstruction() || 3823 if (m_needsScrollbarsUpdate || needsScrollbarReconstruction() ||
3829 scrollOriginChanged()) 3824 scrollOriginChanged())
3830 updateScrollbars(); 3825 updateScrollbars();
3831 } 3826 }
3832 3827
3828 void FrameView::didChangeScrollbarsHidden() {
3829 updateScrollbars();
3830 }
3831
3833 void FrameView::updateScrollbars() { 3832 void FrameView::updateScrollbars() {
3834 m_needsScrollbarsUpdate = false; 3833 m_needsScrollbarsUpdate = false;
3835 3834
3836 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) 3835 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled())
3837 return; 3836 return;
3838 3837
3839 // Avoid drawing two sets of scrollbars when visual viewport is enabled. 3838 // Avoid drawing two sets of scrollbars when visual viewport is enabled.
3840 if (visualViewportSuppliesScrollbars()) { 3839 if (visualViewportSuppliesScrollbars()) {
3841 m_scrollbarManager.setHasHorizontalScrollbar(false); 3840 m_scrollbarManager.setHasHorizontalScrollbar(false);
3842 m_scrollbarManager.setHasVerticalScrollbar(false); 3841 m_scrollbarManager.setHasVerticalScrollbar(false);
(...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after
4548 DCHECK(m_frame->isMainFrame()); 4547 DCHECK(m_frame->isMainFrame());
4549 return m_initialViewportSize.width(); 4548 return m_initialViewportSize.width();
4550 } 4549 }
4551 4550
4552 int FrameView::initialViewportHeight() const { 4551 int FrameView::initialViewportHeight() const {
4553 DCHECK(m_frame->isMainFrame()); 4552 DCHECK(m_frame->isMainFrame());
4554 return m_initialViewportSize.height(); 4553 return m_initialViewportSize.height();
4555 } 4554 }
4556 4555
4557 } // namespace blink 4556 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.h ('k') | third_party/WebKit/Source/core/frame/RootFrameViewport.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698