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

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

Issue 2650873002: Refactor PaintLayer location and offset calculation especially for floats (Closed)
Patch Set: - Created 3 years, 10 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. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc.
7 * All rights reserved. 7 * All rights reserved.
8 * Copyright (C) 2009 Google Inc. All rights reserved. 8 * Copyright (C) 2009 Google Inc. All rights reserved.
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 bool isElementContinuation() const { 724 bool isElementContinuation() const {
725 return node() && node()->layoutObject() != this; 725 return node() && node()->layoutObject() != this;
726 } 726 }
727 bool isInlineElementContinuation() const { 727 bool isInlineElementContinuation() const {
728 return isElementContinuation() && isInline(); 728 return isElementContinuation() && isInline();
729 } 729 }
730 virtual LayoutBoxModelObject* virtualContinuation() const { return nullptr; } 730 virtual LayoutBoxModelObject* virtualContinuation() const { return nullptr; }
731 731
732 bool isFloating() const { return m_bitfields.floating(); } 732 bool isFloating() const { return m_bitfields.floating(); }
733 733
734 bool isFloatingWithNonContainingBlockParent() const {
735 return isFloating() && parent() && !parent()->isLayoutBlockFlow();
736 }
737
738 // absolute or fixed positioning
734 bool isOutOfFlowPositioned() const { 739 bool isOutOfFlowPositioned() const {
735 return m_bitfields.isOutOfFlowPositioned(); 740 return m_bitfields.isOutOfFlowPositioned();
736 } // absolute or fixed positioning 741 }
742 // relative or sticky positioning
737 bool isInFlowPositioned() const { 743 bool isInFlowPositioned() const {
738 return m_bitfields.isInFlowPositioned(); 744 return m_bitfields.isInFlowPositioned();
739 } // relative or sticky positioning 745 }
740 bool isRelPositioned() const { 746 bool isRelPositioned() const {
741 return m_bitfields.isRelPositioned(); 747 return m_bitfields.isRelPositioned();
742 } // relative positioning 748 }
743 bool isStickyPositioned() const { 749 bool isStickyPositioned() const {
744 return m_bitfields.isStickyPositioned(); 750 return m_bitfields.isStickyPositioned();
745 } // sticky positioning 751 }
746 bool isFixedPositioned() const { 752 bool isFixedPositioned() const {
747 return isOutOfFlowPositioned() && style()->position() == FixedPosition; 753 return isOutOfFlowPositioned() && style()->position() == FixedPosition;
748 } // fixed positioning 754 }
755 bool isAbsolutePositioned() const {
756 return isOutOfFlowPositioned() && style()->position() == AbsolutePosition;
757 }
749 bool isPositioned() const { return m_bitfields.isPositioned(); } 758 bool isPositioned() const { return m_bitfields.isPositioned(); }
750 759
751 bool isText() const { return m_bitfields.isText(); } 760 bool isText() const { return m_bitfields.isText(); }
752 bool isBox() const { return m_bitfields.isBox(); } 761 bool isBox() const { return m_bitfields.isBox(); }
753 bool isInline() const { return m_bitfields.isInline(); } // inline object 762 bool isInline() const { return m_bitfields.isInline(); } // inline object
754 bool isAtomicInlineLevel() const { return m_bitfields.isAtomicInlineLevel(); } 763 bool isAtomicInlineLevel() const { return m_bitfields.isAtomicInlineLevel(); }
755 bool isHorizontalWritingMode() const { 764 bool isHorizontalWritingMode() const {
756 return m_bitfields.horizontalWritingMode(); 765 return m_bitfields.horizontalWritingMode();
757 } 766 }
758 bool hasFlippedBlocksWritingMode() const { 767 bool hasFlippedBlocksWritingMode() const {
(...skipping 1955 matching lines...) Expand 10 before | Expand all | Expand 10 after
2714 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2723 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2715 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2724 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2716 // We don't make object2 an optional parameter so that showLayoutTree 2725 // We don't make object2 an optional parameter so that showLayoutTree
2717 // can be called from gdb easily. 2726 // can be called from gdb easily.
2718 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2727 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2719 const blink::LayoutObject* object2); 2728 const blink::LayoutObject* object2);
2720 2729
2721 #endif 2730 #endif
2722 2731
2723 #endif // LayoutObject_h 2732 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698