OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 // Note that the middle anonymous LayoutBlockFlow duplicates the content. | 105 // Note that the middle anonymous LayoutBlockFlow duplicates the content. |
106 // TODO(jchaffraix): Find out why we made the decision to always insert the | 106 // TODO(jchaffraix): Find out why we made the decision to always insert the |
107 // anonymous LayoutBlockFlows. | 107 // anonymous LayoutBlockFlows. |
108 // | 108 // |
109 // This section was inspired by an older article by Dave Hyatt: | 109 // This section was inspired by an older article by Dave Hyatt: |
110 // https://www.webkit.org/blog/115/webcore-rendering-ii-blocks-and-inlines/ | 110 // https://www.webkit.org/blog/115/webcore-rendering-ii-blocks-and-inlines/ |
111 class CORE_EXPORT LayoutInline : public LayoutBoxModelObject { | 111 class CORE_EXPORT LayoutInline : public LayoutBoxModelObject { |
112 public: | 112 public: |
113 explicit LayoutInline(Element*); | 113 explicit LayoutInline(Element*); |
114 | 114 |
115 static LayoutInline* createAnonymous(Document*); | |
116 | |
117 LayoutObject* firstChild() const { ASSERT(children() == virtualChildren());
return children()->firstChild(); } | 115 LayoutObject* firstChild() const { ASSERT(children() == virtualChildren());
return children()->firstChild(); } |
118 LayoutObject* lastChild() const { ASSERT(children() == virtualChildren()); r
eturn children()->lastChild(); } | 116 LayoutObject* lastChild() const { ASSERT(children() == virtualChildren()); r
eturn children()->lastChild(); } |
119 | 117 |
120 // If you have a LayoutInline, use firstChild or lastChild instead. | 118 // If you have a LayoutInline, use firstChild or lastChild instead. |
121 void slowFirstChild() const = delete; | 119 void slowFirstChild() const = delete; |
122 void slowLastChild() const = delete; | 120 void slowLastChild() const = delete; |
123 | 121 |
124 void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nullptr) o
verride; | 122 void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nullptr) o
verride; |
125 | 123 |
126 Element* node() const { return toElement(LayoutBoxModelObject::node()); } | 124 Element* node() const { return toElement(LayoutBoxModelObject::node()); } |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 | 273 |
276 LayoutObjectChildList m_children; | 274 LayoutObjectChildList m_children; |
277 LineBoxList m_lineBoxes; // All of the line boxes created for this inline fl
ow. For example, <i>Hello<br>world.</i> will have two <i> line boxes. | 275 LineBoxList m_lineBoxes; // All of the line boxes created for this inline fl
ow. For example, <i>Hello<br>world.</i> will have two <i> line boxes. |
278 }; | 276 }; |
279 | 277 |
280 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutInline, isLayoutInline()); | 278 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutInline, isLayoutInline()); |
281 | 279 |
282 } // namespace blink | 280 } // namespace blink |
283 | 281 |
284 #endif // LayoutInline_h | 282 #endif // LayoutInline_h |
OLD | NEW |