| OLD | NEW |
| 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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 // LayoutObject associated with the Document. | 128 // LayoutObject associated with the Document. |
| 129 // | 129 // |
| 130 // Some LayoutObjects don't have an associated Node and are called "anonymous" | 130 // Some LayoutObjects don't have an associated Node and are called "anonymous" |
| 131 // (see the constructor below). Anonymous LayoutObjects exist for several | 131 // (see the constructor below). Anonymous LayoutObjects exist for several |
| 132 // purposes but are usually required by CSS. A good example is anonymous table | 132 // purposes but are usually required by CSS. A good example is anonymous table |
| 133 // parts (see LayoutTable for the expected structure). Anonymous LayoutObjects | 133 // parts (see LayoutTable for the expected structure). Anonymous LayoutObjects |
| 134 // are generated when a new child is added to the tree in addChild(). See the | 134 // are generated when a new child is added to the tree in addChild(). See the |
| 135 // function for some important information on this. | 135 // function for some important information on this. |
| 136 // | 136 // |
| 137 // Also some Node don't have an associated LayoutObjects e.g. if display: none | 137 // Also some Node don't have an associated LayoutObjects e.g. if display: none |
| 138 // is set. For more detail, see LayoutObject::createObject that creates the | 138 // or display: contents is set. For more detail, see LayoutObject::createObject |
| 139 // right LayoutObject based on the style. | 139 // that creates the right LayoutObject based on the style. |
| 140 // | 140 // |
| 141 // Because the SVG and CSS classes both inherit from this object, functions can | 141 // Because the SVG and CSS classes both inherit from this object, functions can |
| 142 // belong to either realm and sometimes to both. | 142 // belong to either realm and sometimes to both. |
| 143 // | 143 // |
| 144 // The purpose of the layout tree is to do layout (aka reflow) and store its | 144 // The purpose of the layout tree is to do layout (aka reflow) and store its |
| 145 // results for painting and hit-testing. Layout is the process of sizing and | 145 // results for painting and hit-testing. Layout is the process of sizing and |
| 146 // positioning Nodes on the page. In Blink, layouts always start from a relayout | 146 // positioning Nodes on the page. In Blink, layouts always start from a relayout |
| 147 // boundary (see objectIsRelayoutBoundary in LayoutObject.cpp). As such, we | 147 // boundary (see objectIsRelayoutBoundary in LayoutObject.cpp). As such, we |
| 148 // need to mark the ancestors all the way to the enclosing relayout boundary in | 148 // need to mark the ancestors all the way to the enclosing relayout boundary in |
| 149 // order to do a correct layout. | 149 // order to do a correct layout. |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 void showLayoutObject(StringBuilder&) const; | 467 void showLayoutObject(StringBuilder&) const; |
| 468 void showLayoutTreeAndMark(const LayoutObject* markedObject1 = nullptr, | 468 void showLayoutTreeAndMark(const LayoutObject* markedObject1 = nullptr, |
| 469 const char* markedLabel1 = nullptr, | 469 const char* markedLabel1 = nullptr, |
| 470 const LayoutObject* markedObject2 = nullptr, | 470 const LayoutObject* markedObject2 = nullptr, |
| 471 const char* markedLabel2 = nullptr, | 471 const char* markedLabel2 = nullptr, |
| 472 unsigned depth = 0) const; | 472 unsigned depth = 0) const; |
| 473 #endif | 473 #endif |
| 474 | 474 |
| 475 // This function is used to create the appropriate LayoutObject based | 475 // This function is used to create the appropriate LayoutObject based |
| 476 // on the style, in particular 'display' and 'content'. | 476 // on the style, in particular 'display' and 'content'. |
| 477 // "display: none" is the only time this function will return nullptr. | 477 // "display: none" or "display: contents" are the only times this function |
| 478 // will return nullptr. |
| 478 // | 479 // |
| 479 // For renderer creation, the inline-* values create the same renderer | 480 // For renderer creation, the inline-* values create the same renderer |
| 480 // as the non-inline version. The difference is that inline-* sets | 481 // as the non-inline version. The difference is that inline-* sets |
| 481 // m_isInline during initialization. This means that | 482 // m_isInline during initialization. This means that |
| 482 // "display: inline-table" creates a LayoutTable, like "display: table". | 483 // "display: inline-table" creates a LayoutTable, like "display: table". |
| 483 // | 484 // |
| 484 // Ideally every Element::createLayoutObject would call this function to | 485 // Ideally every Element::createLayoutObject would call this function to |
| 485 // respond to 'display' but there are deep rooted assumptions about | 486 // respond to 'display' but there are deep rooted assumptions about |
| 486 // which LayoutObject is created on a fair number of Elements. This | 487 // which LayoutObject is created on a fair number of Elements. This |
| 487 // function also doesn't handle the default association between a tag | 488 // function also doesn't handle the default association between a tag |
| (...skipping 2109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2597 CORE_EXPORT void showLineTree(const blink::LayoutObject*); | 2598 CORE_EXPORT void showLineTree(const blink::LayoutObject*); |
| 2598 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); | 2599 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); |
| 2599 // We don't make object2 an optional parameter so that showLayoutTree | 2600 // We don't make object2 an optional parameter so that showLayoutTree |
| 2600 // can be called from gdb easily. | 2601 // can be called from gdb easily. |
| 2601 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, | 2602 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, |
| 2602 const blink::LayoutObject* object2); | 2603 const blink::LayoutObject* object2); |
| 2603 | 2604 |
| 2604 #endif | 2605 #endif |
| 2605 | 2606 |
| 2606 #endif // LayoutObject_h | 2607 #endif // LayoutObject_h |
| OLD | NEW |