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

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

Issue 1419823005: Invalidate background-attachment:fixed on scroll. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2526
Patch Set: Created 5 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) 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 1348 matching lines...) Expand 10 before | Expand all | Expand 10 after
1359 1359
1360 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState); 1360 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState);
1361 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer); 1361 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer);
1362 1362
1363 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients 1363 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients
1364 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc., 1364 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc.,
1365 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and 1365 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and
1366 // parts which are invalidated separately (e.g. scrollbars). 1366 // parts which are invalidated separately (e.g. scrollbars).
1367 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer) const; 1367 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer) const;
1368 1368
1369 void setIsSlowRepaintObject(bool); 1369 void setIsBackgroundAttachmentFixedObject(bool);
1370 1370
1371 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); } 1371 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); }
1372 void clearChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildN eedsOverflowRecalcAfterStyleChange(false); } 1372 void clearChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildN eedsOverflowRecalcAfterStyleChange(false); }
1373 void setShouldInvalidateOverflowForPaint() { m_bitfields.setShouldInvalidate OverflowForPaint(true); } 1373 void setShouldInvalidateOverflowForPaint() { m_bitfields.setShouldInvalidate OverflowForPaint(true); }
1374 void setEverHadLayout() { m_bitfields.setEverHadLayout(true); } 1374 void setEverHadLayout() { m_bitfields.setEverHadLayout(true); }
1375 1375
1376 // Remove this object and all descendants from the containing LayoutFlowThre ad. 1376 // Remove this object and all descendants from the containing LayoutFlowThre ad.
1377 void removeFromLayoutFlowThread(); 1377 void removeFromLayoutFlowThread();
1378 1378
1379 bool containsInlineWithOutlineAndContinuation() const { return m_bitfields.c ontainsInlineWithOutlineAndContinuation(); } 1379 bool containsInlineWithOutlineAndContinuation() const { return m_bitfields.c ontainsInlineWithOutlineAndContinuation(); }
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 , m_ancestorLineBoxDirty(false) 1522 , m_ancestorLineBoxDirty(false)
1523 , m_hasPendingResourceUpdate(false) 1523 , m_hasPendingResourceUpdate(false)
1524 , m_isInsideFlowThread(false) 1524 , m_isInsideFlowThread(false)
1525 , m_subtreeChangeListenerRegistered(false) 1525 , m_subtreeChangeListenerRegistered(false)
1526 , m_notifiedOfSubtreeChange(false) 1526 , m_notifiedOfSubtreeChange(false)
1527 , m_consumesSubtreeChangeNotification(false) 1527 , m_consumesSubtreeChangeNotification(false)
1528 , m_childrenInline(false) 1528 , m_childrenInline(false)
1529 , m_containsInlineWithOutlineAndContinuation(false) 1529 , m_containsInlineWithOutlineAndContinuation(false)
1530 , m_alwaysCreateLineBoxesForLayoutInline(false) 1530 , m_alwaysCreateLineBoxesForLayoutInline(false)
1531 , m_lastBoxDecorationBackgroundObscured(false) 1531 , m_lastBoxDecorationBackgroundObscured(false)
1532 , m_isSlowRepaintObject(false) 1532 , m_isBackgroundAttachmentFixedObject(false)
1533 , m_positionedState(IsStaticallyPositioned) 1533 , m_positionedState(IsStaticallyPositioned)
1534 , m_selectionState(SelectionNone) 1534 , m_selectionState(SelectionNone)
1535 , m_boxDecorationBackgroundState(NoBoxDecorationBackground) 1535 , m_boxDecorationBackgroundState(NoBoxDecorationBackground)
1536 , m_fullPaintInvalidationReason(PaintInvalidationNone) 1536 , m_fullPaintInvalidationReason(PaintInvalidationNone)
1537 { 1537 {
1538 } 1538 }
1539 1539
1540 // 32 bits have been used in the first word, and 17 in the second. 1540 // 32 bits have been used in the first word, and 17 in the second.
1541 1541
1542 // Self needs layout means that this layout object is marked for a full layout. 1542 // Self needs layout means that this layout object is marked for a full layout.
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1653 1653
1654 // from LayoutBlockFlow 1654 // from LayoutBlockFlow
1655 ADD_BOOLEAN_BITFIELD(containsInlineWithOutlineAndContinuation, ContainsI nlineWithOutlineAndContinuation); 1655 ADD_BOOLEAN_BITFIELD(containsInlineWithOutlineAndContinuation, ContainsI nlineWithOutlineAndContinuation);
1656 1656
1657 // from LayoutInline 1657 // from LayoutInline
1658 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateL ineBoxesForLayoutInline); 1658 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateL ineBoxesForLayoutInline);
1659 1659
1660 // For slimming-paint. 1660 // For slimming-paint.
1661 ADD_BOOLEAN_BITFIELD(lastBoxDecorationBackgroundObscured, LastBoxDecorat ionBackgroundObscured); 1661 ADD_BOOLEAN_BITFIELD(lastBoxDecorationBackgroundObscured, LastBoxDecorat ionBackgroundObscured);
1662 1662
1663 ADD_BOOLEAN_BITFIELD(isSlowRepaintObject, IsSlowRepaintObject); 1663 ADD_BOOLEAN_BITFIELD(isBackgroundAttachmentFixedObject, IsBackgroundAtta chmentFixedObject);
1664 1664
1665 private: 1665 private:
1666 // This is the cached 'position' value of this object 1666 // This is the cached 'position' value of this object
1667 // (see ComputedStyle::position). 1667 // (see ComputedStyle::position).
1668 unsigned m_positionedState : 2; // PositionedState 1668 unsigned m_positionedState : 2; // PositionedState
1669 unsigned m_selectionState : 3; // SelectionState 1669 unsigned m_selectionState : 3; // SelectionState
1670 // Mutable for getter which lazily update this field. 1670 // Mutable for getter which lazily update this field.
1671 mutable unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBac kgroundState 1671 mutable unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBac kgroundState
1672 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason 1672 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason
1673 1673
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
1955 void showTree(const blink::LayoutObject*); 1955 void showTree(const blink::LayoutObject*);
1956 void showLineTree(const blink::LayoutObject*); 1956 void showLineTree(const blink::LayoutObject*);
1957 void showLayoutTree(const blink::LayoutObject* object1); 1957 void showLayoutTree(const blink::LayoutObject* object1);
1958 // We don't make object2 an optional parameter so that showLayoutTree 1958 // We don't make object2 an optional parameter so that showLayoutTree
1959 // can be called from gdb easily. 1959 // can be called from gdb easily.
1960 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 1960 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
1961 1961
1962 #endif 1962 #endif
1963 1963
1964 #endif // LayoutObject_h 1964 #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