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

Unified Diff: third_party/WebKit/Source/core/layout/line/AbstractInlineTextBox.cpp

Issue 1433253003: [Line Layout API] Convert AbstractInlineTextBox to new line layout API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove layoutObject() method Created 5 years 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
Index: third_party/WebKit/Source/core/layout/line/AbstractInlineTextBox.cpp
diff --git a/third_party/WebKit/Source/core/layout/line/AbstractInlineTextBox.cpp b/third_party/WebKit/Source/core/layout/line/AbstractInlineTextBox.cpp
index 4491ff830569a2e8243c0e4fa7521fb048359b24..5f1e357c10101633a24afb0f89c368eded4ce1f7 100644
--- a/third_party/WebKit/Source/core/layout/line/AbstractInlineTextBox.cpp
+++ b/third_party/WebKit/Source/core/layout/line/AbstractInlineTextBox.cpp
@@ -39,7 +39,7 @@ namespace blink {
AbstractInlineTextBox::InlineToAbstractInlineTextBoxHashMap* AbstractInlineTextBox::gAbstractInlineTextBoxMap = nullptr;
-PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::getOrCreate(LayoutText* layoutText, InlineTextBox* inlineTextBox)
+PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::getOrCreate(LineLayoutText lineLayoutText, InlineTextBox* inlineTextBox)
{
if (!inlineTextBox)
return nullptr;
@@ -51,7 +51,7 @@ PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::getOrCreate(LayoutText*
if (it != gAbstractInlineTextBoxMap->end())
return it->value;
- RefPtr<AbstractInlineTextBox> obj = adoptRef(new AbstractInlineTextBox(layoutText, inlineTextBox));
+ RefPtr<AbstractInlineTextBox> obj = adoptRef(new AbstractInlineTextBox(lineLayoutText, inlineTextBox));
gAbstractInlineTextBoxMap->set(inlineTextBox, obj);
return obj;
}
@@ -70,19 +70,19 @@ void AbstractInlineTextBox::willDestroy(InlineTextBox* inlineTextBox)
AbstractInlineTextBox::~AbstractInlineTextBox()
{
- ASSERT(!m_layoutText);
+ ASSERT(!m_lineLayoutItem);
ASSERT(!m_inlineTextBox);
}
void AbstractInlineTextBox::detach()
{
- if (Node* node = m_layoutText->node()) {
+ if (Node* node = m_lineLayoutItem.node()) {
if (AXObjectCache* cache = node->document().existingAXObjectCache())
cache->remove(this);
}
- m_layoutText = 0;
- m_inlineTextBox = 0;
+ m_lineLayoutItem = LineLayoutText(nullptr);
+ m_inlineTextBox = nullptr;
}
PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::nextInlineTextBox() const
@@ -91,16 +91,16 @@ PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::nextInlineTextBox() con
if (!m_inlineTextBox)
return nullptr;
- return getOrCreate(m_layoutText, m_inlineTextBox->nextTextBox());
+ return getOrCreate(m_lineLayoutItem, m_inlineTextBox->nextTextBox());
}
LayoutRect AbstractInlineTextBox::bounds() const
{
- if (!m_inlineTextBox || !m_layoutText)
+ if (!m_inlineTextBox || !m_lineLayoutItem)
return LayoutRect();
FloatRect boundaries(m_inlineTextBox->calculateBoundaries());
- return LayoutRect(m_layoutText->localToAbsoluteQuad(boundaries).enclosingBoundingBox());
+ return LayoutRect(m_lineLayoutItem.localToAbsoluteQuad(boundaries).enclosingBoundingBox());
}
unsigned AbstractInlineTextBox::len() const
@@ -113,10 +113,10 @@ unsigned AbstractInlineTextBox::len() const
AbstractInlineTextBox::Direction AbstractInlineTextBox::direction() const
{
- if (!m_inlineTextBox || !m_layoutText)
+ if (!m_inlineTextBox || !m_lineLayoutItem)
return LeftToRight;
- if (m_layoutText->style()->isHorizontalWritingMode())
+ if (m_lineLayoutItem.style()->isHorizontalWritingMode())
return (m_inlineTextBox->direction() == RTL ? RightToLeft : LeftToRight);
return (m_inlineTextBox->direction() == RTL ? BottomToTop : TopToBottom);
}
@@ -153,18 +153,18 @@ void AbstractInlineTextBox::wordBoundaries(Vector<WordBoundaries>& words) const
String AbstractInlineTextBox::text() const
{
- if (!m_inlineTextBox || !m_layoutText)
+ if (!m_inlineTextBox || !m_lineLayoutItem)
return String();
unsigned start = m_inlineTextBox->start();
unsigned len = m_inlineTextBox->len();
- if (Node* node = m_layoutText->node()) {
+ if (Node* node = m_lineLayoutItem.node()) {
if (node->isTextNode())
return plainText(EphemeralRange(Position(node, start), Position(node, start + len)), TextIteratorIgnoresStyleVisibility);
return plainText(EphemeralRange(Position(node, PositionAnchorType::BeforeAnchor), Position(node, PositionAnchorType::AfterAnchor)), TextIteratorIgnoresStyleVisibility);
}
- String result = m_layoutText->text().substring(start, len).simplifyWhiteSpace(WTF::DoNotStripWhiteSpace);
+ String result = m_lineLayoutItem.text().substring(start, len).simplifyWhiteSpace(WTF::DoNotStripWhiteSpace);
if (m_inlineTextBox->nextTextBox() && m_inlineTextBox->nextTextBox()->start() > m_inlineTextBox->end() && result.length() && !result.right(1).containsOnlyWhitespace())
return result + " ";
return result;
@@ -190,7 +190,7 @@ PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::nextOnLine() const
InlineBox* next = m_inlineTextBox->nextOnLine();
if (next && next->isInlineTextBox())
- return getOrCreate(&toInlineTextBox(next)->layoutObject(), toInlineTextBox(next));
+ return getOrCreate(toInlineTextBox(next)->lineLayoutItem(), toInlineTextBox(next));
return nullptr;
}
@@ -203,7 +203,7 @@ PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::previousOnLine() const
InlineBox* previous = m_inlineTextBox->prevOnLine();
if (previous && previous->isInlineTextBox())
- return getOrCreate(&toInlineTextBox(previous)->layoutObject(), toInlineTextBox(previous));
+ return getOrCreate(toInlineTextBox(previous)->lineLayoutItem(), toInlineTextBox(previous));
return nullptr;
}

Powered by Google App Engine
This is Rietveld 408576698