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

Side by Side Diff: Source/core/dom/Text.cpp

Issue 24430002: Rename attach and detach to createRenderTree/destroyRenderTree (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
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 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 { 292 {
293 if (isSVGText(this)) 293 if (isSVGText(this))
294 return new RenderSVGInlineText(this, dataImpl()); 294 return new RenderSVGInlineText(this, dataImpl());
295 295
296 if (style->hasTextCombine()) 296 if (style->hasTextCombine())
297 return new RenderCombineText(this, dataImpl()); 297 return new RenderCombineText(this, dataImpl());
298 298
299 return new RenderText(this, dataImpl()); 299 return new RenderText(this, dataImpl());
300 } 300 }
301 301
302 void Text::attach(const AttachContext& context) 302 void Text::createRenderTree(const AttachContext& context)
303 { 303 {
304 NodeRenderingContext(this, context.resolvedStyle).createRendererForTextIfNee ded(); 304 NodeRenderingContext(this, context.resolvedStyle).createRendererForTextIfNee ded();
305 CharacterData::attach(context); 305 CharacterData::createRenderTree(context);
306 } 306 }
307 307
308 bool Text::recalcTextStyle(StyleRecalcChange change) 308 bool Text::recalcTextStyle(StyleRecalcChange change)
309 { 309 {
310 if (RenderText* renderer = toRenderText(this->renderer())) { 310 if (RenderText* renderer = toRenderText(this->renderer())) {
311 if (change != NoChange || needsStyleRecalc()) 311 if (change != NoChange || needsStyleRecalc())
312 renderer->setStyle(document().styleResolver()->styleForText(this)); 312 renderer->setStyle(document().styleResolver()->styleForText(this));
313 if (needsStyleRecalc()) 313 if (needsStyleRecalc())
314 renderer->setText(dataImpl()); 314 renderer->setText(dataImpl());
315 clearNeedsStyleRecalc(); 315 clearNeedsStyleRecalc();
316 } else if (needsStyleRecalc() || needsWhitespaceRenderer()) { 316 } else if (needsStyleRecalc() || needsWhitespaceRenderer()) {
317 reattach(); 317 recreateRenderTree();
318 return true; 318 return true;
319 } 319 }
320 return false; 320 return false;
321 } 321 }
322 322
323 // If a whitespace node had no renderer and goes through a recalcStyle it may 323 // If a whitespace node had no renderer and goes through a recalcStyle it may
324 // need to create one if the parent style now has white-space: pre. 324 // need to create one if the parent style now has white-space: pre.
325 bool Text::needsWhitespaceRenderer() 325 bool Text::needsWhitespaceRenderer()
326 { 326 {
327 ASSERT(!renderer()); 327 ASSERT(!renderer());
328 if (RenderStyle* style = parentRenderStyle()) 328 if (RenderStyle* style = parentRenderStyle())
329 return style->preserveNewline(); 329 return style->preserveNewline();
330 return false; 330 return false;
331 } 331 }
332 332
333 void Text::updateTextRenderer(unsigned offsetOfReplacedData, unsigned lengthOfRe placedData, RecalcStyleBehavior recalcStyleBehavior) 333 void Text::updateTextRenderer(unsigned offsetOfReplacedData, unsigned lengthOfRe placedData, RecalcStyleBehavior recalcStyleBehavior)
334 { 334 {
335 if (!attached()) 335 if (!attached())
336 return; 336 return;
337 RenderText* textRenderer = toRenderText(renderer()); 337 RenderText* textRenderer = toRenderText(renderer());
338 if (!textRenderer || !textRendererIsNeeded(NodeRenderingContext(this, textRe nderer->style()))) { 338 if (!textRenderer || !textRendererIsNeeded(NodeRenderingContext(this, textRe nderer->style()))) {
339 lazyReattach(); 339 scheduleRenderTreeReconstruction();
340 // FIXME: Editing should be updated so this is not neccesary. 340 // FIXME: Editing should be updated so this is not neccesary.
341 if (recalcStyleBehavior == DeprecatedRecalcStyleImmediatlelyForEditing) 341 if (recalcStyleBehavior == DeprecatedRecalcStyleImmediatlelyForEditing)
342 document().updateStyleIfNeeded(); 342 document().updateStyleIfNeeded();
343 return; 343 return;
344 } 344 }
345 textRenderer->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfRe placedData); 345 textRenderer->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfRe placedData);
346 } 346 }
347 347
348 bool Text::childTypeAllowed(NodeType) const 348 bool Text::childTypeAllowed(NodeType) const
349 { 349 {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 result.appendLiteral("; "); 382 result.appendLiteral("; ");
383 result.appendLiteral("value="); 383 result.appendLiteral("value=");
384 result.append(s); 384 result.append(s);
385 } 385 }
386 386
387 strncpy(buffer, result.toString().utf8().data(), length - 1); 387 strncpy(buffer, result.toString().utf8().data(), length - 1);
388 } 388 }
389 #endif 389 #endif
390 390
391 } // namespace WebCore 391 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698