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

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

Issue 23819007: Have Node::document() return a reference instead of a pointer (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase on master 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
« no previous file with comments | « Source/core/dom/StyleElement.cpp ('k') | Source/core/dom/TreeScope.cpp » ('j') | 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 * 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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 setDataWithoutUpdate(oldStr.substring(0, offset)); 66 setDataWithoutUpdate(oldStr.substring(0, offset));
67 67
68 didModifyData(oldStr); 68 didModifyData(oldStr);
69 69
70 if (parentNode()) 70 if (parentNode())
71 parentNode()->insertBefore(newText.get(), nextSibling(), es); 71 parentNode()->insertBefore(newText.get(), nextSibling(), es);
72 if (es.hadException()) 72 if (es.hadException())
73 return 0; 73 return 0;
74 74
75 if (parentNode()) 75 if (parentNode())
76 document()->textNodeSplit(this); 76 document().textNodeSplit(this);
77 77
78 if (renderer()) 78 if (renderer())
79 toRenderText(renderer())->setTextWithOffset(dataImpl(), 0, oldStr.length ()); 79 toRenderText(renderer())->setTextWithOffset(dataImpl(), 0, oldStr.length ());
80 80
81 return newText.release(); 81 return newText.release();
82 } 82 }
83 83
84 static const Text* earliestLogicallyAdjacentTextNode(const Text* t) 84 static const Text* earliestLogicallyAdjacentTextNode(const Text* t)
85 { 85 {
86 const Node* n = t; 86 const Node* n = t;
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 void Text::attach(const AttachContext& context) 264 void Text::attach(const AttachContext& context)
265 { 265 {
266 NodeRenderingContext(this, context.resolvedStyle).createRendererForTextIfNee ded(); 266 NodeRenderingContext(this, context.resolvedStyle).createRendererForTextIfNee ded();
267 CharacterData::attach(context); 267 CharacterData::attach(context);
268 } 268 }
269 269
270 bool Text::recalcTextStyle(StyleChange change) 270 bool Text::recalcTextStyle(StyleChange change)
271 { 271 {
272 if (RenderText* renderer = toRenderText(this->renderer())) { 272 if (RenderText* renderer = toRenderText(this->renderer())) {
273 if (change != NoChange || needsStyleRecalc()) 273 if (change != NoChange || needsStyleRecalc())
274 renderer->setStyle(document()->styleResolver()->styleForText(this)); 274 renderer->setStyle(document().styleResolver()->styleForText(this));
275 if (needsStyleRecalc()) 275 if (needsStyleRecalc())
276 renderer->setText(dataImpl()); 276 renderer->setText(dataImpl());
277 clearNeedsStyleRecalc(); 277 clearNeedsStyleRecalc();
278 } else if (needsStyleRecalc() || needsWhitespaceRenderer()) { 278 } else if (needsStyleRecalc() || needsWhitespaceRenderer()) {
279 reattach(); 279 reattach();
280 return true; 280 return true;
281 } 281 }
282 return false; 282 return false;
283 } 283 }
284 284
(...skipping 22 matching lines...) Expand all
307 textRenderer->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfRe placedData); 307 textRenderer->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfRe placedData);
308 } 308 }
309 309
310 bool Text::childTypeAllowed(NodeType) const 310 bool Text::childTypeAllowed(NodeType) const
311 { 311 {
312 return false; 312 return false;
313 } 313 }
314 314
315 PassRefPtr<Text> Text::cloneWithData(const String& data) 315 PassRefPtr<Text> Text::cloneWithData(const String& data)
316 { 316 {
317 return create(document(), data); 317 return create(&document(), data);
318 } 318 }
319 319
320 PassRefPtr<Text> Text::createWithLengthLimit(Document* document, const String& d ata, unsigned start, unsigned lengthLimit) 320 PassRefPtr<Text> Text::createWithLengthLimit(Document* document, const String& d ata, unsigned start, unsigned lengthLimit)
321 { 321 {
322 unsigned dataLength = data.length(); 322 unsigned dataLength = data.length();
323 323
324 if (!start && dataLength <= lengthLimit) 324 if (!start && dataLength <= lengthLimit)
325 return create(document, data); 325 return create(document, data);
326 326
327 RefPtr<Text> result = Text::create(document, String()); 327 RefPtr<Text> result = Text::create(document, String());
(...skipping 16 matching lines...) Expand all
344 result.appendLiteral("; "); 344 result.appendLiteral("; ");
345 result.appendLiteral("value="); 345 result.appendLiteral("value=");
346 result.append(s); 346 result.append(s);
347 } 347 }
348 348
349 strncpy(buffer, result.toString().utf8().data(), length - 1); 349 strncpy(buffer, result.toString().utf8().data(), length - 1);
350 } 350 }
351 #endif 351 #endif
352 352
353 } // namespace WebCore 353 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/dom/StyleElement.cpp ('k') | Source/core/dom/TreeScope.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698