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

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

Issue 2051703002: Implement closed shadow adjustment for Element.offsetParent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add one more test case. 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) 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 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 bool isElementContinuation() const { return node() && node()->layoutObject() != this; } 656 bool isElementContinuation() const { return node() && node()->layoutObject() != this; }
657 bool isInlineElementContinuation() const { return isElementContinuation() && isInline(); } 657 bool isInlineElementContinuation() const { return isElementContinuation() && isInline(); }
658 virtual LayoutBoxModelObject* virtualContinuation() const { return nullptr; } 658 virtual LayoutBoxModelObject* virtualContinuation() const { return nullptr; }
659 659
660 bool isFloating() const { return m_bitfields.floating(); } 660 bool isFloating() const { return m_bitfields.floating(); }
661 661
662 bool isOutOfFlowPositioned() const { return m_bitfields.isOutOfFlowPositione d(); } // absolute or fixed positioning 662 bool isOutOfFlowPositioned() const { return m_bitfields.isOutOfFlowPositione d(); } // absolute or fixed positioning
663 bool isInFlowPositioned() const { return m_bitfields.isInFlowPositioned(); } // relative or sticky positioning 663 bool isInFlowPositioned() const { return m_bitfields.isInFlowPositioned(); } // relative or sticky positioning
664 bool isRelPositioned() const { return m_bitfields.isRelPositioned(); } // re lative positioning 664 bool isRelPositioned() const { return m_bitfields.isRelPositioned(); } // re lative positioning
665 bool isStickyPositioned() const { return m_bitfields.isStickyPositioned(); } // sticky positioning 665 bool isStickyPositioned() const { return m_bitfields.isStickyPositioned(); } // sticky positioning
666 bool isFixedPositioned() const { return isOutOfFlowPositioned() && style()-> position() == FixedPosition; } // fixed positioning
666 bool isPositioned() const { return m_bitfields.isPositioned(); } 667 bool isPositioned() const { return m_bitfields.isPositioned(); }
667 668
668 bool isText() const { return m_bitfields.isText(); } 669 bool isText() const { return m_bitfields.isText(); }
669 bool isBox() const { return m_bitfields.isBox(); } 670 bool isBox() const { return m_bitfields.isBox(); }
670 bool isInline() const { return m_bitfields.isInline(); } // inline object 671 bool isInline() const { return m_bitfields.isInline(); } // inline object
671 bool isDragging() const { return m_bitfields.isDragging(); } 672 bool isDragging() const { return m_bitfields.isDragging(); }
672 bool isAtomicInlineLevel() const { return m_bitfields.isAtomicInlineLevel(); } 673 bool isAtomicInlineLevel() const { return m_bitfields.isAtomicInlineLevel(); }
673 bool isHorizontalWritingMode() const { return m_bitfields.horizontalWritingM ode(); } 674 bool isHorizontalWritingMode() const { return m_bitfields.horizontalWritingM ode(); }
674 bool hasFlippedBlocksWritingMode() const 675 bool hasFlippedBlocksWritingMode() const
675 { 676 {
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 // If |ancestor| and |ancestorSkipped| are not null, on return *ancestorSkip ped 809 // If |ancestor| and |ancestorSkipped| are not null, on return *ancestorSkip ped
809 // is true if the layoutObject returned is an ancestor of |ancestor|. 810 // is true if the layoutObject returned is an ancestor of |ancestor|.
810 LayoutObject* container(const LayoutBoxModelObject* ancestor = nullptr, bool * ancestorSkipped = nullptr, bool* filterOrReflectionSkipped = nullptr) const; 811 LayoutObject* container(const LayoutBoxModelObject* ancestor = nullptr, bool * ancestorSkipped = nullptr, bool* filterOrReflectionSkipped = nullptr) const;
811 // Finds the container as if this object is fixed-position. 812 // Finds the container as if this object is fixed-position.
812 LayoutBlock* containerForFixedPosition(const LayoutBoxModelObject* ancestor = nullptr, bool* ancestorSkipped = nullptr, bool* filterOrReflectionSkipped = nu llptr) const; 813 LayoutBlock* containerForFixedPosition(const LayoutBoxModelObject* ancestor = nullptr, bool* ancestorSkipped = nullptr, bool* filterOrReflectionSkipped = nu llptr) const;
813 // Finds the containing block as if this object is absolute-position. 814 // Finds the containing block as if this object is absolute-position.
814 LayoutBlock* containingBlockForAbsolutePosition() const; 815 LayoutBlock* containingBlockForAbsolutePosition() const;
815 816
816 virtual LayoutObject* hoverAncestor() const { return parent(); } 817 virtual LayoutObject* hoverAncestor() const { return parent(); }
817 818
818 Element* offsetParent() const; 819 Element* offsetParent(const Element* = nullptr) const;
819 820
820 void markContainerChainForLayout(bool scheduleRelayout = true, SubtreeLayout Scope* = nullptr); 821 void markContainerChainForLayout(bool scheduleRelayout = true, SubtreeLayout Scope* = nullptr);
821 void setNeedsLayout(LayoutInvalidationReasonForTracing, MarkingBehavior = Ma rkContainerChain, SubtreeLayoutScope* = nullptr); 822 void setNeedsLayout(LayoutInvalidationReasonForTracing, MarkingBehavior = Ma rkContainerChain, SubtreeLayoutScope* = nullptr);
822 void setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReasonForTraci ng, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = nullptr); 823 void setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReasonForTraci ng, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = nullptr);
823 void clearNeedsLayout(); 824 void clearNeedsLayout();
824 void setChildNeedsLayout(MarkingBehavior = MarkContainerChain, SubtreeLayout Scope* = nullptr); 825 void setChildNeedsLayout(MarkingBehavior = MarkContainerChain, SubtreeLayout Scope* = nullptr);
825 void setNeedsPositionedMovementLayout(); 826 void setNeedsPositionedMovementLayout();
826 void setPreferredLogicalWidthsDirty(MarkingBehavior = MarkContainerChain); 827 void setPreferredLogicalWidthsDirty(MarkingBehavior = MarkContainerChain);
827 void clearPreferredLogicalWidthsDirty(); 828 void clearPreferredLogicalWidthsDirty();
828 829
(...skipping 1350 matching lines...) Expand 10 before | Expand all | Expand 10 after
2179 void showTree(const blink::LayoutObject*); 2180 void showTree(const blink::LayoutObject*);
2180 void showLineTree(const blink::LayoutObject*); 2181 void showLineTree(const blink::LayoutObject*);
2181 void showLayoutTree(const blink::LayoutObject* object1); 2182 void showLayoutTree(const blink::LayoutObject* object1);
2182 // We don't make object2 an optional parameter so that showLayoutTree 2183 // We don't make object2 an optional parameter so that showLayoutTree
2183 // can be called from gdb easily. 2184 // can be called from gdb easily.
2184 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2185 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2185 2186
2186 #endif 2187 #endif
2187 2188
2188 #endif // LayoutObject_h 2189 #endif // LayoutObject_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutInline.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