| 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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 { | 142 { |
| 143 return new RenderText(this, dataImpl()); | 143 return new RenderText(this, dataImpl()); |
| 144 } | 144 } |
| 145 | 145 |
| 146 void Text::attach(const AttachContext& context) | 146 void Text::attach(const AttachContext& context) |
| 147 { | 147 { |
| 148 RenderTreeBuilder(this, context.resolvedStyle).createRendererForTextIfNeeded
(); | 148 RenderTreeBuilder(this, context.resolvedStyle).createRendererForTextIfNeeded
(); |
| 149 CharacterData::attach(context); | 149 CharacterData::attach(context); |
| 150 } | 150 } |
| 151 | 151 |
| 152 void Text::recalcTextStyle(StyleRecalcChange change, Text* nextTextSibling) | 152 void Text::recalcTextStyle(StyleRecalcChange change) |
| 153 { | 153 { |
| 154 if (RenderText* renderer = this->renderer()) { | 154 if (RenderText* renderer = this->renderer()) { |
| 155 if (change != NoChange || needsStyleRecalc()) | 155 if (change != NoChange || needsStyleRecalc()) |
| 156 renderer->setStyle(document().styleResolver().styleForText(this)); | 156 renderer->setStyle(document().styleResolver().styleForText(this)); |
| 157 if (needsStyleRecalc()) | 157 if (needsStyleRecalc()) |
| 158 renderer->setText(dataImpl()); | 158 renderer->setText(dataImpl()); |
| 159 clearNeedsStyleRecalc(); | 159 clearNeedsStyleRecalc(); |
| 160 } else if (needsStyleRecalc() || needsWhitespaceRenderer()) { | 160 } else if (needsStyleRecalc() || needsWhitespaceRenderer()) { |
| 161 reattach(); | 161 reattach(); |
| 162 if (this->renderer()) | |
| 163 reattachWhitespaceSiblings(nextTextSibling); | |
| 164 } | 162 } |
| 165 } | 163 } |
| 166 | 164 |
| 167 // If a whitespace node had no renderer and goes through a recalcStyle it may | 165 // If a whitespace node had no renderer and goes through a recalcStyle it may |
| 168 // need to create one if the parent style now has white-space: pre. | 166 // need to create one if the parent style now has white-space: pre. |
| 169 bool Text::needsWhitespaceRenderer() | 167 bool Text::needsWhitespaceRenderer() |
| 170 { | 168 { |
| 171 ASSERT(!renderer()); | 169 ASSERT(!renderer()); |
| 172 if (RenderStyle* style = parentRenderStyle()) | 170 if (RenderStyle* style = parentRenderStyle()) |
| 173 return style->preserveNewline(); | 171 return style->preserveNewline(); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 result.appendLiteral("; "); | 206 result.appendLiteral("; "); |
| 209 result.appendLiteral("value="); | 207 result.appendLiteral("value="); |
| 210 result.append(s); | 208 result.append(s); |
| 211 } | 209 } |
| 212 | 210 |
| 213 strncpy(buffer, result.toString().utf8().data(), length - 1); | 211 strncpy(buffer, result.toString().utf8().data(), length - 1); |
| 214 } | 212 } |
| 215 #endif | 213 #endif |
| 216 | 214 |
| 217 } // namespace blink | 215 } // namespace blink |
| OLD | NEW |