< prev index next >

modules/javafx.web/src/main/native/Source/WebCore/rendering/RenderBox.h

Print this page

        

*** 59,72 **** bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const final; // Returns false for the body renderer if its background is propagated to the root. bool paintsOwnBackground() const; - // Use this with caution! No type checking is done! - RenderBox* firstChildBox() const; - RenderBox* lastChildBox() const; - LayoutUnit x() const { return m_frameRect.x(); } LayoutUnit y() const { return m_frameRect.y(); } LayoutUnit width() const { return m_frameRect.width(); } LayoutUnit height() const { return m_frameRect.height(); } --- 59,68 ----
*** 176,189 **** void addFocusRingRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = nullptr) override; FloatRect repaintRectInLocalCoordinates() const override { return borderBoxRect(); } FloatRect objectBoundingBox() const override { return borderBoxRect(); } ! // Use this with caution! No type checking is done! RenderBox* previousSiblingBox() const; RenderBox* nextSiblingBox() const; - RenderBox* parentBox() const; // Visual and layout overflow are in the coordinate space of the box. This means that they aren't purely physical directions. // For horizontal-tb and vertical-lr they will match physical directions, but for horizontal-bt and vertical-rl, the top/bottom and left/right // respectively are flipped when compared to their physical counterparts. For example minX is on the left in vertical-lr, // but it is on the right in vertical-rl. --- 172,187 ---- void addFocusRingRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = nullptr) override; FloatRect repaintRectInLocalCoordinates() const override { return borderBoxRect(); } FloatRect objectBoundingBox() const override { return borderBoxRect(); } ! // Note these functions are not equivalent of childrenOfType<RenderBox> ! RenderBox* parentBox() const; ! RenderBox* firstChildBox() const; ! RenderBox* lastChildBox() const; RenderBox* previousSiblingBox() const; RenderBox* nextSiblingBox() const; // Visual and layout overflow are in the coordinate space of the box. This means that they aren't purely physical directions. // For horizontal-tb and vertical-lr they will match physical directions, but for horizontal-bt and vertical-rl, the top/bottom and left/right // respectively are flipped when compared to their physical counterparts. For example minX is on the left in vertical-lr, // but it is on the right in vertical-rl.
*** 738,770 **** private: // Used to store state between styleWillChange and styleDidChange static bool s_hadOverflowClip; }; - inline RenderBox* RenderBox::previousSiblingBox() const - { - return downcast<RenderBox>(previousSibling()); - } - - inline RenderBox* RenderBox::nextSiblingBox() const - { - return downcast<RenderBox>(nextSibling()); - } - inline RenderBox* RenderBox::parentBox() const { return downcast<RenderBox>(parent()); } inline RenderBox* RenderBox::firstChildBox() const { return downcast<RenderBox>(firstChild()); } inline RenderBox* RenderBox::lastChildBox() const { return downcast<RenderBox>(lastChild()); } inline void RenderBox::setInlineBoxWrapper(InlineElementBox* boxWrapper) { if (boxWrapper) { --- 736,788 ---- private: // Used to store state between styleWillChange and styleDidChange static bool s_hadOverflowClip; }; inline RenderBox* RenderBox::parentBox() const { + if (is<RenderBox>(parent())) return downcast<RenderBox>(parent()); + + ASSERT(!parent()); + return nullptr; } inline RenderBox* RenderBox::firstChildBox() const { + if (is<RenderBox>(firstChild())) return downcast<RenderBox>(firstChild()); + + ASSERT(!firstChild()); + return nullptr; } inline RenderBox* RenderBox::lastChildBox() const { + if (is<RenderBox>(lastChild())) return downcast<RenderBox>(lastChild()); + + ASSERT(!lastChild()); + return nullptr; + } + + inline RenderBox* RenderBox::previousSiblingBox() const + { + if (is<RenderBox>(previousSibling())) + return downcast<RenderBox>(previousSibling()); + + ASSERT(!previousSibling()); + return nullptr; + } + + inline RenderBox* RenderBox::nextSiblingBox() const + { + if (is<RenderBox>(nextSibling())) + return downcast<RenderBox>(nextSibling()); + + ASSERT(!nextSibling()); + return nullptr; } inline void RenderBox::setInlineBoxWrapper(InlineElementBox* boxWrapper) { if (boxWrapper) {
< prev index next >