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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 1394193003: Invalidate background-attachment:fixed on scroll. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rename all SlowRepaint to BackgroundAttachmentFixed. rebaseline test. Created 5 years, 2 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) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. 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 1401 matching lines...) Expand 10 before | Expand all | Expand 10 after
1412 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState); 1412 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState);
1413 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer); 1413 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer);
1414 void invalidatePaintIfNeededForSynchronizedPainting(const PaintInfo&); 1414 void invalidatePaintIfNeededForSynchronizedPainting(const PaintInfo&);
1415 1415
1416 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients 1416 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients
1417 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc., 1417 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc.,
1418 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and 1418 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and
1419 // parts which are invalidated separately (e.g. scrollbars). 1419 // parts which are invalidated separately (e.g. scrollbars).
1420 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer, PaintInvalidationReason, const LayoutRect& previousPaintIn validationRect, const LayoutRect& newPaintInvalidationRect) const; 1420 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer, PaintInvalidationReason, const LayoutRect& previousPaintIn validationRect, const LayoutRect& newPaintInvalidationRect) const;
1421 1421
1422 void setIsSlowRepaintObject(bool); 1422 void setIsBackgroundAttachmentFixedObject(bool);
1423 1423
1424 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); } 1424 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); }
1425 void clearChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildN eedsOverflowRecalcAfterStyleChange(false); } 1425 void clearChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildN eedsOverflowRecalcAfterStyleChange(false); }
1426 void setShouldInvalidateOverflowForPaint() { m_bitfields.setShouldInvalidate OverflowForPaint(true); } 1426 void setShouldInvalidateOverflowForPaint() { m_bitfields.setShouldInvalidate OverflowForPaint(true); }
1427 void setEverHadLayout() { m_bitfields.setEverHadLayout(true); } 1427 void setEverHadLayout() { m_bitfields.setEverHadLayout(true); }
1428 1428
1429 // Remove this object and all descendants from the containing LayoutFlowThre ad. 1429 // Remove this object and all descendants from the containing LayoutFlowThre ad.
1430 void removeFromLayoutFlowThread(); 1430 void removeFromLayoutFlowThread();
1431 1431
1432 bool containsInlineWithOutlineAndContinuation() const { return m_bitfields.c ontainsInlineWithOutlineAndContinuation(); } 1432 bool containsInlineWithOutlineAndContinuation() const { return m_bitfields.c ontainsInlineWithOutlineAndContinuation(); }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1578 , m_ancestorLineBoxDirty(false) 1578 , m_ancestorLineBoxDirty(false)
1579 , m_hasPendingResourceUpdate(false) 1579 , m_hasPendingResourceUpdate(false)
1580 , m_isInsideFlowThread(false) 1580 , m_isInsideFlowThread(false)
1581 , m_subtreeChangeListenerRegistered(false) 1581 , m_subtreeChangeListenerRegistered(false)
1582 , m_notifiedOfSubtreeChange(false) 1582 , m_notifiedOfSubtreeChange(false)
1583 , m_consumesSubtreeChangeNotification(false) 1583 , m_consumesSubtreeChangeNotification(false)
1584 , m_childrenInline(false) 1584 , m_childrenInline(false)
1585 , m_containsInlineWithOutlineAndContinuation(false) 1585 , m_containsInlineWithOutlineAndContinuation(false)
1586 , m_alwaysCreateLineBoxesForLayoutInline(false) 1586 , m_alwaysCreateLineBoxesForLayoutInline(false)
1587 , m_lastBoxDecorationBackgroundObscured(false) 1587 , m_lastBoxDecorationBackgroundObscured(false)
1588 , m_isSlowRepaintObject(false) 1588 , m_isBackgroundAttachmentFixedObject(false)
1589 , m_positionedState(IsStaticallyPositioned) 1589 , m_positionedState(IsStaticallyPositioned)
1590 , m_selectionState(SelectionNone) 1590 , m_selectionState(SelectionNone)
1591 , m_boxDecorationBackgroundState(NoBoxDecorationBackground) 1591 , m_boxDecorationBackgroundState(NoBoxDecorationBackground)
1592 , m_fullPaintInvalidationReason(PaintInvalidationNone) 1592 , m_fullPaintInvalidationReason(PaintInvalidationNone)
1593 { 1593 {
1594 } 1594 }
1595 1595
1596 // 32 bits have been used in the first word, and 17 in the second. 1596 // 32 bits have been used in the first word, and 17 in the second.
1597 1597
1598 // Self needs layout means that this layout object is marked for a full layout. 1598 // Self needs layout means that this layout object is marked for a full layout.
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1700 1700
1701 // from LayoutBlockFlow 1701 // from LayoutBlockFlow
1702 ADD_BOOLEAN_BITFIELD(containsInlineWithOutlineAndContinuation, ContainsI nlineWithOutlineAndContinuation); 1702 ADD_BOOLEAN_BITFIELD(containsInlineWithOutlineAndContinuation, ContainsI nlineWithOutlineAndContinuation);
1703 1703
1704 // from LayoutInline 1704 // from LayoutInline
1705 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateL ineBoxesForLayoutInline); 1705 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateL ineBoxesForLayoutInline);
1706 1706
1707 // For slimming-paint. 1707 // For slimming-paint.
1708 ADD_BOOLEAN_BITFIELD(lastBoxDecorationBackgroundObscured, LastBoxDecorat ionBackgroundObscured); 1708 ADD_BOOLEAN_BITFIELD(lastBoxDecorationBackgroundObscured, LastBoxDecorat ionBackgroundObscured);
1709 1709
1710 ADD_BOOLEAN_BITFIELD(isSlowRepaintObject, IsSlowRepaintObject); 1710 ADD_BOOLEAN_BITFIELD(isBackgroundAttachmentFixedObject, IsBackgroundAtta chmentFixedObject);
1711 1711
1712 private: 1712 private:
1713 // This is the cached 'position' value of this object 1713 // This is the cached 'position' value of this object
1714 // (see ComputedStyle::position). 1714 // (see ComputedStyle::position).
1715 unsigned m_positionedState : 2; // PositionedState 1715 unsigned m_positionedState : 2; // PositionedState
1716 unsigned m_selectionState : 3; // SelectionState 1716 unsigned m_selectionState : 3; // SelectionState
1717 // Mutable for getter which lazily update this field. 1717 // Mutable for getter which lazily update this field.
1718 mutable unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBac kgroundState 1718 mutable unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBac kgroundState
1719 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason 1719 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason
1720 1720
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
2001 void showTree(const blink::LayoutObject*); 2001 void showTree(const blink::LayoutObject*);
2002 void showLineTree(const blink::LayoutObject*); 2002 void showLineTree(const blink::LayoutObject*);
2003 void showLayoutTree(const blink::LayoutObject* object1); 2003 void showLayoutTree(const blink::LayoutObject* object1);
2004 // We don't make object2 an optional parameter so that showLayoutTree 2004 // We don't make object2 an optional parameter so that showLayoutTree
2005 // can be called from gdb easily. 2005 // can be called from gdb easily.
2006 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2006 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2007 2007
2008 #endif 2008 #endif
2009 2009
2010 #endif // LayoutObject_h 2010 #endif // LayoutObject_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBox.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698