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

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

Issue 1256043007: Recompute slow scroll regions after overflow recalc (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Address feedback Created 5 years, 4 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 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 636
637 void FrameView::recalcOverflowAfterStyleChange() 637 void FrameView::recalcOverflowAfterStyleChange()
638 { 638 {
639 LayoutView* layoutView = this->layoutView(); 639 LayoutView* layoutView = this->layoutView();
640 RELEASE_ASSERT(layoutView); 640 RELEASE_ASSERT(layoutView);
641 if (!layoutView->needsOverflowRecalcAfterStyleChange()) 641 if (!layoutView->needsOverflowRecalcAfterStyleChange())
642 return; 642 return;
643 643
644 layoutView->recalcOverflowAfterStyleChange(); 644 layoutView->recalcOverflowAfterStyleChange();
645 645
646 // Changing overflow should notify scrolling coordinator to ensures that it
647 // updates non-fast scroll rects even if there is no layout.
648 if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator( ))
649 scrollingCoordinator->notifyOverflowUpdated();
650
646 IntRect documentRect = layoutView->documentRect(); 651 IntRect documentRect = layoutView->documentRect();
647 if (scrollOrigin() == -documentRect.location() && contentsSize() == document Rect.size()) 652 if (scrollOrigin() == -documentRect.location() && contentsSize() == document Rect.size())
648 return; 653 return;
649 654
650 if (needsLayout()) 655 if (needsLayout())
651 return; 656 return;
652 657
653 InUpdateScrollbarsScope inUpdateScrollbarsScope(this); 658 InUpdateScrollbarsScope inUpdateScrollbarsScope(this);
654 659
655 bool shouldHaveHorizontalScrollbar = false; 660 bool shouldHaveHorizontalScrollbar = false;
(...skipping 3287 matching lines...) Expand 10 before | Expand all | Expand 10 after
3943 3948
3944 if (!graphicsLayer) 3949 if (!graphicsLayer)
3945 return; 3950 return;
3946 3951
3947 DeprecatedPaintLayer::mapRectToPaintInvalidationBacking(localFrame->contentL ayoutObject(), paintInvalidationContainer, viewRect); 3952 DeprecatedPaintLayer::mapRectToPaintInvalidationBacking(localFrame->contentL ayoutObject(), paintInvalidationContainer, viewRect);
3948 3953
3949 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing IntRect(viewRect))); 3954 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing IntRect(viewRect)));
3950 } 3955 }
3951 3956
3952 } // namespace blink 3957 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698