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

Unified Diff: Source/core/rendering/RenderTextFragment.cpp

Issue 940373003: Rename RenderText to LayoutText (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/rendering/RenderTextFragment.h ('k') | Source/modules/accessibility/AXInlineTextBox.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderTextFragment.cpp
diff --git a/Source/core/rendering/RenderTextFragment.cpp b/Source/core/rendering/RenderTextFragment.cpp
deleted file mode 100644
index 9b43d9711a3f1b453c740183ca222ebe300df8db..0000000000000000000000000000000000000000
--- a/Source/core/rendering/RenderTextFragment.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * (C) 1999 Lars Knoll (knoll@kde.org)
- * (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#include "config.h"
-#include "core/rendering/RenderTextFragment.h"
-
-#include "core/dom/FirstLetterPseudoElement.h"
-#include "core/dom/PseudoElement.h"
-#include "core/dom/StyleChangeReason.h"
-#include "core/dom/Text.h"
-#include "core/layout/HitTestResult.h"
-#include "core/layout/LayoutBlock.h"
-
-namespace blink {
-
-RenderTextFragment::RenderTextFragment(Node* node, StringImpl* str, int startOffset, int length)
- : RenderText(node, str ? str->substring(startOffset, length) : PassRefPtr<StringImpl>(nullptr))
- , m_start(startOffset)
- , m_end(length)
- , m_isRemainingTextRenderer(false)
- , m_contentString(str)
- , m_firstLetterPseudoElement(nullptr)
-{
-}
-
-RenderTextFragment::RenderTextFragment(Node* node, StringImpl* str)
- : RenderText(node, str)
- , m_start(0)
- , m_end(str ? str->length() : 0)
- , m_isRemainingTextRenderer(false)
- , m_contentString(str)
- , m_firstLetterPseudoElement(nullptr)
-{
-}
-
-RenderTextFragment::~RenderTextFragment()
-{
- ASSERT(!m_firstLetterPseudoElement);
-}
-
-void RenderTextFragment::destroy()
-{
- if (m_isRemainingTextRenderer && m_firstLetterPseudoElement)
- m_firstLetterPseudoElement->setRemainingTextRenderer(nullptr);
- m_firstLetterPseudoElement = nullptr;
- RenderText::destroy();
-}
-
-PassRefPtr<StringImpl> RenderTextFragment::completeText() const
-{
- Text* text = associatedTextNode();
- return text ? text->dataImpl() : contentString();
-}
-
-void RenderTextFragment::setContentString(StringImpl* str)
-{
- m_contentString = str;
- setText(str);
-}
-
-PassRefPtr<StringImpl> RenderTextFragment::originalText() const
-{
- RefPtr<StringImpl> result = completeText();
- if (!result)
- return nullptr;
- return result->substring(start(), end());
-}
-
-void RenderTextFragment::setText(PassRefPtr<StringImpl> text, bool force)
-{
- RenderText::setText(text, force);
-
- m_start = 0;
- m_end = textLength();
-
- // If we're the remaining text from a first letter then we have to tell the
- // first letter pseudo element to reattach itself so it can re-calculate the
- // correct first-letter settings.
- if (LayoutObject* previous = previousSibling()) {
- if (!previous->isPseudoElement() || !previous->node()->isFirstLetterPseudoElement())
- return;
-
- // Tell the first letter container node, and the first-letter node
- // that their text content changed.
- toFirstLetterPseudoElement(previous->node())->updateTextFragments();
- }
-}
-
-void RenderTextFragment::setTextFragment(PassRefPtr<StringImpl> text, unsigned start, unsigned length)
-{
- RenderText::setText(text, false);
-
- m_start = start;
- m_end = length;
-}
-
-void RenderTextFragment::transformText()
-{
- // Note, we have to call RenderText::setText here because, if we use our
- // version we will, potentially, screw up the first-letter settings where
- // we only use portions of the string.
- if (RefPtr<StringImpl> textToTransform = originalText())
- RenderText::setText(textToTransform.release(), true);
-}
-
-UChar RenderTextFragment::previousCharacter() const
-{
- if (start()) {
- StringImpl* original = completeText().get();
- if (original && start() <= original->length())
- return (*original)[start() - 1];
- }
-
- return RenderText::previousCharacter();
-}
-
-// If this is the renderer for a first-letter pseudoNode then we have to look
-// at the node for the remaining text to find our content.
-Text* RenderTextFragment::associatedTextNode() const
-{
- Node* node = this->firstLetterPseudoElement();
- if (m_isRemainingTextRenderer || !node) {
- // If we don't have a node, then we aren't part of a first-letter pseudo
- // element, so use the actual node. Likewise, if we have a node, but
- // we're the remainingTextRenderer for a pseudo element use the real
- // text node.
- node = this->node();
- }
-
- if (!node)
- return nullptr;
-
- if (node->isFirstLetterPseudoElement()) {
- FirstLetterPseudoElement* pseudo = toFirstLetterPseudoElement(node);
- LayoutObject* nextRenderer = FirstLetterPseudoElement::firstLetterTextRenderer(*pseudo);
- if (!nextRenderer)
- return nullptr;
- node = nextRenderer->node();
- }
- return (node && node->isTextNode()) ? toText(node) : nullptr;
-}
-
-} // namespace blink
« no previous file with comments | « Source/core/rendering/RenderTextFragment.h ('k') | Source/modules/accessibility/AXInlineTextBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698