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

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

Issue 1993943002: Move m_lineBoxes and its getters down to LayoutBlockFlow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * (C) 1999 Lars Knoll (knoll@kde.org) 2 * (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Dirk Mueller (mueller@kde.org) 3 * (C) 2000 Dirk Mueller (mueller@kde.org)
4 * Copyright (C) 2004-2009, 2013 Apple Inc. All rights reserved. 4 * Copyright (C) 2004-2009, 2013 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 28 matching lines...) Expand all
39 39
40 // LayoutText is the root class for anything that represents 40 // LayoutText is the root class for anything that represents
41 // a text node (see core/dom/Text.h). 41 // a text node (see core/dom/Text.h).
42 // 42 //
43 // This is a common node in the tree so to the limit memory overhead, 43 // This is a common node in the tree so to the limit memory overhead,
44 // this class inherits directly from LayoutObject. 44 // this class inherits directly from LayoutObject.
45 // Also this class is used by both CSS and SVG layouts so LayoutObject 45 // Also this class is used by both CSS and SVG layouts so LayoutObject
46 // was a natural choice. 46 // was a natural choice.
47 // 47 //
48 // The actual layout of text is handled by the containing inline 48 // The actual layout of text is handled by the containing inline
49 // (LayoutInline) or block (LayoutBlock). They will invoke the Unicode 49 // (LayoutInline) or block (LayoutBlockFlow). They will invoke the Unicode
50 // Bidirectional Algorithm to break the text into actual lines. 50 // Bidirectional Algorithm to break the text into actual lines.
51 // The result of layout is the line box tree, which represents lines 51 // The result of layout is the line box tree, which represents lines
52 // on the screen. It is stored into m_firstTextBox and m_lastTextBox. 52 // on the screen. It is stored into m_firstTextBox and m_lastTextBox.
53 // To understand how lines are broken by the bidi algorithm, read e.g. 53 // To understand how lines are broken by the bidi algorithm, read e.g.
54 // LayoutBlockFlow::layoutInlineChildren. 54 // LayoutBlockFlow::layoutInlineChildren.
55 // 55 //
56 // 56 //
57 // ***** LINE BOXES OWNERSHIP ***** 57 // ***** LINE BOXES OWNERSHIP *****
58 // m_firstTextBox and m_lastTextBox are not owned by LayoutText 58 // m_firstTextBox and m_lastTextBox are not owned by LayoutText
59 // but are pointers into the enclosing inline / block (see LayoutInline's 59 // but are pointers into the enclosing inline / block (see LayoutInline's
60 // and LayoutBlock's m_lineBoxes). 60 // and LayoutBlockFlow's m_lineBoxes).
61 // 61 //
62 // 62 //
63 // This class implements the preferred logical widths computation 63 // This class implements the preferred logical widths computation
64 // for its underlying text. The widths are stored into m_minWidth 64 // for its underlying text. The widths are stored into m_minWidth
65 // and m_maxWidth. They are computed lazily based on 65 // and m_maxWidth. They are computed lazily based on
66 // m_preferredLogicalWidthsDirty. 66 // m_preferredLogicalWidthsDirty.
67 // 67 //
68 // The previous comment applies also for painting. See e.g. 68 // The previous comment applies also for painting. See e.g.
69 // BlockPainter::paintContents in particular the use of LineBoxListPainter. 69 // BlockPainter::paintContents in particular the use of LineBoxListPainter.
70 class CORE_EXPORT LayoutText : public LayoutObject { 70 class CORE_EXPORT LayoutText : public LayoutObject {
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 inline LayoutText* Text::layoutObject() const 291 inline LayoutText* Text::layoutObject() const
292 { 292 {
293 return toLayoutText(CharacterData::layoutObject()); 293 return toLayoutText(CharacterData::layoutObject());
294 } 294 }
295 295
296 void applyTextTransform(const ComputedStyle*, String&, UChar); 296 void applyTextTransform(const ComputedStyle*, String&, UChar);
297 297
298 } // namespace blink 298 } // namespace blink
299 299
300 #endif // LayoutText_h 300 #endif // LayoutText_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698