OLD | NEW |
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, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 typedef WTF::HashMap<const InlineTextBox*, LayoutRect> InlineTextBoxOverflowMap; | 57 typedef WTF::HashMap<const InlineTextBox*, LayoutRect> InlineTextBoxOverflowMap; |
58 static InlineTextBoxOverflowMap* gTextBoxesWithOverflow; | 58 static InlineTextBoxOverflowMap* gTextBoxesWithOverflow; |
59 | 59 |
60 void InlineTextBox::destroy(RenderArena* arena) | 60 void InlineTextBox::destroy(RenderArena* arena) |
61 { | 61 { |
62 if (!knownToHaveNoOverflow() && gTextBoxesWithOverflow) | 62 if (!knownToHaveNoOverflow() && gTextBoxesWithOverflow) |
63 gTextBoxesWithOverflow->remove(this); | 63 gTextBoxesWithOverflow->remove(this); |
64 InlineBox::destroy(arena); | 64 InlineBox::destroy(arena); |
65 } | 65 } |
66 | 66 |
| 67 void InlineTextBox::markDirty(bool dirty) |
| 68 { |
| 69 if (dirty) { |
| 70 m_len = 0; |
| 71 m_start = 0; |
| 72 } |
| 73 InlineBox::markDirty(dirty); |
| 74 } |
| 75 |
67 LayoutRect InlineTextBox::logicalOverflowRect() const | 76 LayoutRect InlineTextBox::logicalOverflowRect() const |
68 { | 77 { |
69 if (knownToHaveNoOverflow() || !gTextBoxesWithOverflow) | 78 if (knownToHaveNoOverflow() || !gTextBoxesWithOverflow) |
70 return enclosingIntRect(logicalFrameRect()); | 79 return enclosingIntRect(logicalFrameRect()); |
71 return gTextBoxesWithOverflow->get(this); | 80 return gTextBoxesWithOverflow->get(this); |
72 } | 81 } |
73 | 82 |
74 void InlineTextBox::setLogicalOverflowRect(const LayoutRect& rect) | 83 void InlineTextBox::setLogicalOverflowRect(const LayoutRect& rect) |
75 { | 84 { |
76 ASSERT(!knownToHaveNoOverflow()); | 85 ASSERT(!knownToHaveNoOverflow()); |
(...skipping 1294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1371 printedCharacters = fprintf(stderr, "\t%s %p", obj->renderName(), obj); | 1380 printedCharacters = fprintf(stderr, "\t%s %p", obj->renderName(), obj); |
1372 const int rendererCharacterOffset = 24; | 1381 const int rendererCharacterOffset = 24; |
1373 for (; printedCharacters < rendererCharacterOffset; printedCharacters++) | 1382 for (; printedCharacters < rendererCharacterOffset; printedCharacters++) |
1374 fputc(' ', stderr); | 1383 fputc(' ', stderr); |
1375 fprintf(stderr, "(%d,%d) \"%s\"\n", start(), start() + len(), value.utf8().d
ata()); | 1384 fprintf(stderr, "(%d,%d) \"%s\"\n", start(), start() + len(), value.utf8().d
ata()); |
1376 } | 1385 } |
1377 | 1386 |
1378 #endif | 1387 #endif |
1379 | 1388 |
1380 } // namespace WebCore | 1389 } // namespace WebCore |
OLD | NEW |