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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBox.cpp

Issue 2087513003: Remove LayoutBlockFlow overflow invalidation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: NeedsRebaseline Created 4 years, 5 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 1538 matching lines...) Expand 10 before | Expand all | Expand 10 after
1549 if (fullInvalidationReason == PaintInvalidationDelayedFull) { 1549 if (fullInvalidationReason == PaintInvalidationDelayedFull) {
1550 if (!intersectsVisibleViewport()) 1550 if (!intersectsVisibleViewport())
1551 return PaintInvalidationDelayedFull; 1551 return PaintInvalidationDelayedFull;
1552 1552
1553 // Reset state back to regular full paint invalidation if the object is onscreen. 1553 // Reset state back to regular full paint invalidation if the object is onscreen.
1554 setShouldDoFullPaintInvalidation(PaintInvalidationFull); 1554 setShouldDoFullPaintInvalidation(PaintInvalidationFull);
1555 } 1555 }
1556 1556
1557 PaintInvalidationReason reason = LayoutBoxModelObject::invalidatePaintIfNeed ed(paintInvalidationState); 1557 PaintInvalidationReason reason = LayoutBoxModelObject::invalidatePaintIfNeed ed(paintInvalidationState);
1558 1558
1559 if (!isFullPaintInvalidationReason(reason))
1560 invalidatePaintForOverflowIfNeeded();
1561
1562 if (PaintLayerScrollableArea* area = getScrollableArea()) 1559 if (PaintLayerScrollableArea* area = getScrollableArea())
1563 area->invalidatePaintOfScrollControlsIfNeeded(paintInvalidationState); 1560 area->invalidatePaintOfScrollControlsIfNeeded(paintInvalidationState);
1564 1561
1565 // This is for the next invalidatePaintIfNeeded so must be at the end. 1562 // This is for the next invalidatePaintIfNeeded so must be at the end.
1566 savePreviousBoxSizesIfNeeded(); 1563 savePreviousBoxSizesIfNeeded();
1567 return reason; 1564 return reason;
1568 } 1565 }
1569 1566
1570 void LayoutBox::invalidatePaintOfSubtreesIfNeeded(const PaintInvalidationState& childPaintInvalidationState) 1567 void LayoutBox::invalidatePaintOfSubtreesIfNeeded(const PaintInvalidationState& childPaintInvalidationState)
1571 { 1568 {
(...skipping 3356 matching lines...) Expand 10 before | Expand all | Expand 10 after
4928 m_rareData->m_snapAreas->remove(&snapArea); 4925 m_rareData->m_snapAreas->remove(&snapArea);
4929 } 4926 }
4930 } 4927 }
4931 4928
4932 SnapAreaSet* LayoutBox::snapAreas() const 4929 SnapAreaSet* LayoutBox::snapAreas() const
4933 { 4930 {
4934 return m_rareData ? m_rareData->m_snapAreas.get() : nullptr; 4931 return m_rareData ? m_rareData->m_snapAreas.get() : nullptr;
4935 } 4932 }
4936 4933
4937 } // namespace blink 4934 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698