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

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: replace iframe with div Created 5 years, 3 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 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 635
636 void FrameView::recalcOverflowAfterStyleChange() 636 void FrameView::recalcOverflowAfterStyleChange()
637 { 637 {
638 LayoutView* layoutView = this->layoutView(); 638 LayoutView* layoutView = this->layoutView();
639 RELEASE_ASSERT(layoutView); 639 RELEASE_ASSERT(layoutView);
640 if (!layoutView->needsOverflowRecalcAfterStyleChange()) 640 if (!layoutView->needsOverflowRecalcAfterStyleChange())
641 return; 641 return;
642 642
643 layoutView->recalcOverflowAfterStyleChange(); 643 layoutView->recalcOverflowAfterStyleChange();
644 644
645 // Changing overflow should notify scrolling coordinator to ensures that it
646 // updates non-fast scroll rects even if there is no layout.
647 if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator( ))
648 scrollingCoordinator->notifyOverflowUpdated();
649
645 IntRect documentRect = layoutView->documentRect(); 650 IntRect documentRect = layoutView->documentRect();
646 if (scrollOrigin() == -documentRect.location() && contentsSize() == document Rect.size()) 651 if (scrollOrigin() == -documentRect.location() && contentsSize() == document Rect.size())
647 return; 652 return;
648 653
649 if (needsLayout()) 654 if (needsLayout())
650 return; 655 return;
651 656
652 InUpdateScrollbarsScope inUpdateScrollbarsScope(this); 657 InUpdateScrollbarsScope inUpdateScrollbarsScope(this);
653 658
654 bool shouldHaveHorizontalScrollbar = false; 659 bool shouldHaveHorizontalScrollbar = false;
(...skipping 3323 matching lines...) Expand 10 before | Expand all | Expand 10 after
3978 3983
3979 if (!graphicsLayer) 3984 if (!graphicsLayer)
3980 return; 3985 return;
3981 3986
3982 DeprecatedPaintLayer::mapRectToPaintInvalidationBacking(localFrame->contentL ayoutObject(), paintInvalidationContainer, viewRect); 3987 DeprecatedPaintLayer::mapRectToPaintInvalidationBacking(localFrame->contentL ayoutObject(), paintInvalidationContainer, viewRect);
3983 3988
3984 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing IntRect(viewRect))); 3989 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing IntRect(viewRect)));
3985 } 3990 }
3986 3991
3987 } // namespace blink 3992 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698