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

Side by Side Diff: Source/core/rendering/RenderObject.h

Issue 346603007: Remove position: sticky (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/RenderLayer.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 } 492 }
493 bool isAnonymousColumnsBlock() const { return style()->specifiesColumns() && isAnonymousBlock(); } 493 bool isAnonymousColumnsBlock() const { return style()->specifiesColumns() && isAnonymousBlock(); }
494 bool isAnonymousColumnSpanBlock() const { return style()->columnSpan() && is AnonymousBlock(); } 494 bool isAnonymousColumnSpanBlock() const { return style()->columnSpan() && is AnonymousBlock(); }
495 bool isElementContinuation() const { return node() && node()->renderer() != this; } 495 bool isElementContinuation() const { return node() && node()->renderer() != this; }
496 bool isInlineElementContinuation() const { return isElementContinuation() && isInline(); } 496 bool isInlineElementContinuation() const { return isElementContinuation() && isInline(); }
497 virtual RenderBoxModelObject* virtualContinuation() const { return 0; } 497 virtual RenderBoxModelObject* virtualContinuation() const { return 0; }
498 498
499 bool isFloating() const { return m_bitfields.floating(); } 499 bool isFloating() const { return m_bitfields.floating(); }
500 500
501 bool isOutOfFlowPositioned() const { return m_bitfields.isOutOfFlowPositione d(); } // absolute or fixed positioning 501 bool isOutOfFlowPositioned() const { return m_bitfields.isOutOfFlowPositione d(); } // absolute or fixed positioning
502 bool isInFlowPositioned() const { return m_bitfields.isRelPositioned() || m_ bitfields.isStickyPositioned(); } // relative or sticky positioning
503 bool isRelPositioned() const { return m_bitfields.isRelPositioned(); } // re lative positioning 502 bool isRelPositioned() const { return m_bitfields.isRelPositioned(); } // re lative positioning
504 bool isStickyPositioned() const { return m_bitfields.isStickyPositioned(); }
505 bool isPositioned() const { return m_bitfields.isPositioned(); } 503 bool isPositioned() const { return m_bitfields.isPositioned(); }
506 504
507 bool isText() const { return m_bitfields.isText(); } 505 bool isText() const { return m_bitfields.isText(); }
508 bool isBox() const { return m_bitfields.isBox(); } 506 bool isBox() const { return m_bitfields.isBox(); }
509 bool isInline() const { return m_bitfields.isInline(); } // inline object 507 bool isInline() const { return m_bitfields.isInline(); } // inline object
510 bool isDragging() const { return m_bitfields.isDragging(); } 508 bool isDragging() const { return m_bitfields.isDragging(); }
511 bool isReplaced() const { return m_bitfields.isReplaced(); } // a "replaced" element (see CSS) 509 bool isReplaced() const { return m_bitfields.isReplaced(); } // a "replaced" element (see CSS)
512 bool isHorizontalWritingMode() const { return m_bitfields.horizontalWritingM ode(); } 510 bool isHorizontalWritingMode() const { return m_bitfields.horizontalWritingM ode(); }
513 511
514 bool hasLayer() const { return m_bitfields.hasLayer(); } 512 bool hasLayer() const { return m_bitfields.hasLayer(); }
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
1121 unsigned m_##name : 1;\ 1119 unsigned m_##name : 1;\
1122 public:\ 1120 public:\
1123 bool name() const { return m_##name; }\ 1121 bool name() const { return m_##name; }\
1124 void set##Name(bool name) { m_##name = name; }\ 1122 void set##Name(bool name) { m_##name = name; }\
1125 1123
1126 class RenderObjectBitfields { 1124 class RenderObjectBitfields {
1127 enum PositionedState { 1125 enum PositionedState {
1128 IsStaticallyPositioned = 0, 1126 IsStaticallyPositioned = 0,
1129 IsRelativelyPositioned = 1, 1127 IsRelativelyPositioned = 1,
1130 IsOutOfFlowPositioned = 2, 1128 IsOutOfFlowPositioned = 2,
1131 IsStickyPositioned = 3
1132 }; 1129 };
1133 1130
1134 public: 1131 public:
1135 RenderObjectBitfields(Node* node) 1132 RenderObjectBitfields(Node* node)
1136 : m_selfNeedsLayout(false) 1133 : m_selfNeedsLayout(false)
1137 // FIXME: shouldDoFullPaintInvalidationAfterLayout is needed because we reset 1134 // FIXME: shouldDoFullPaintInvalidationAfterLayout is needed because we reset
1138 // the layout bits beforeissing paint invalidations when doing inval idateTreeAfterLayout. 1135 // the layout bits beforeissing paint invalidations when doing inval idateTreeAfterLayout.
1139 // Holding the layout bits until after paint invalidation would remo ve the need 1136 // Holding the layout bits until after paint invalidation would remo ve the need
1140 // for this flag. 1137 // for this flag.
1141 , m_shouldDoFullPaintInvalidationAfterLayout(false) 1138 , m_shouldDoFullPaintInvalidationAfterLayout(false)
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
1222 unsigned m_selectionState : 3; // SelectionState 1219 unsigned m_selectionState : 3; // SelectionState
1223 unsigned m_flowThreadState : 2; // FlowThreadState 1220 unsigned m_flowThreadState : 2; // FlowThreadState
1224 unsigned m_boxDecorationState : 2; // BoxDecorationState 1221 unsigned m_boxDecorationState : 2; // BoxDecorationState
1225 1222
1226 public: 1223 public:
1227 1224
1228 ADD_BOOLEAN_BITFIELD(hasPendingResourceUpdate, HasPendingResourceUpdate) ; 1225 ADD_BOOLEAN_BITFIELD(hasPendingResourceUpdate, HasPendingResourceUpdate) ;
1229 1226
1230 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf FlowPositioned; } 1227 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf FlowPositioned; }
1231 bool isRelPositioned() const { return m_positionedState == IsRelativelyP ositioned; } 1228 bool isRelPositioned() const { return m_positionedState == IsRelativelyP ositioned; }
1232 bool isStickyPositioned() const { return m_positionedState == IsStickyPo sitioned; }
1233 bool isPositioned() const { return m_positionedState != IsStaticallyPosi tioned; } 1229 bool isPositioned() const { return m_positionedState != IsStaticallyPosi tioned; }
1234 1230
1235 void setPositionedState(int positionState) 1231 void setPositionedState(int positionState)
1236 { 1232 {
1237 // This mask maps FixedPosition and AbsolutePosition to IsOutOfFlowP ositioned, saving one bit. 1233 // This mask maps FixedPosition and AbsolutePosition to IsOutOfFlowP ositioned, saving one bit.
1238 m_positionedState = static_cast<PositionedState>(positionState & 0x3 ); 1234 m_positionedState = static_cast<PositionedState>(positionState & 0x3 );
1239 } 1235 }
1240 void clearPositionedState() { m_positionedState = StaticPosition; } 1236 void clearPositionedState() { m_positionedState = StaticPosition; }
1241 1237
1242 ALWAYS_INLINE SelectionState selectionState() const { return static_cast <SelectionState>(m_selectionState); } 1238 ALWAYS_INLINE SelectionState selectionState() const { return static_cast <SelectionState>(m_selectionState); }
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
1478 void showTree(const WebCore::RenderObject*); 1474 void showTree(const WebCore::RenderObject*);
1479 void showLineTree(const WebCore::RenderObject*); 1475 void showLineTree(const WebCore::RenderObject*);
1480 void showRenderTree(const WebCore::RenderObject* object1); 1476 void showRenderTree(const WebCore::RenderObject* object1);
1481 // We don't make object2 an optional parameter so that showRenderTree 1477 // We don't make object2 an optional parameter so that showRenderTree
1482 // can be called from gdb easily. 1478 // can be called from gdb easily.
1483 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2); 1479 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2);
1484 1480
1485 #endif 1481 #endif
1486 1482
1487 #endif // RenderObject_h 1483 #endif // RenderObject_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderLayer.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698