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

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

Issue 2748103015: Replace ASSERT with DCHECK in core/layout/<sub dirs> (Closed)
Patch Set: Rebase with latest Created 3 years, 9 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 65
66 InlineToAbstractInlineTextBoxHashMap::const_iterator it = 66 InlineToAbstractInlineTextBoxHashMap::const_iterator it =
67 gAbstractInlineTextBoxMap->find(inlineTextBox); 67 gAbstractInlineTextBoxMap->find(inlineTextBox);
68 if (it != gAbstractInlineTextBoxMap->end()) { 68 if (it != gAbstractInlineTextBoxMap->end()) {
69 it->value->detach(); 69 it->value->detach();
70 gAbstractInlineTextBoxMap->erase(inlineTextBox); 70 gAbstractInlineTextBoxMap->erase(inlineTextBox);
71 } 71 }
72 } 72 }
73 73
74 AbstractInlineTextBox::~AbstractInlineTextBox() { 74 AbstractInlineTextBox::~AbstractInlineTextBox() {
75 ASSERT(!m_lineLayoutItem); 75 DCHECK(!m_lineLayoutItem);
76 ASSERT(!m_inlineTextBox); 76 DCHECK(!m_inlineTextBox);
77 } 77 }
78 78
79 void AbstractInlineTextBox::detach() { 79 void AbstractInlineTextBox::detach() {
80 if (Node* node = m_lineLayoutItem.node()) { 80 if (Node* node = m_lineLayoutItem.node()) {
81 if (AXObjectCache* cache = node->document().existingAXObjectCache()) 81 if (AXObjectCache* cache = node->document().existingAXObjectCache())
82 cache->remove(this); 82 cache->remove(this);
83 } 83 }
84 84
85 m_lineLayoutItem = LineLayoutText(nullptr); 85 m_lineLayoutItem = LineLayoutText(nullptr);
86 m_inlineTextBox = nullptr; 86 m_inlineTextBox = nullptr;
87 } 87 }
88 88
89 PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::nextInlineTextBox() 89 PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::nextInlineTextBox()
90 const { 90 const {
91 ASSERT(!m_inlineTextBox || 91 DCHECK(!m_inlineTextBox ||
92 !m_inlineTextBox->getLineLayoutItem().needsLayout()); 92 !m_inlineTextBox->getLineLayoutItem().needsLayout());
93 if (!m_inlineTextBox) 93 if (!m_inlineTextBox)
94 return nullptr; 94 return nullptr;
95 95
96 return getOrCreate(m_lineLayoutItem, m_inlineTextBox->nextTextBox()); 96 return getOrCreate(m_lineLayoutItem, m_inlineTextBox->nextTextBox());
97 } 97 }
98 98
99 LayoutRect AbstractInlineTextBox::localBounds() const { 99 LayoutRect AbstractInlineTextBox::localBounds() const {
100 if (!m_inlineTextBox || !m_lineLayoutItem) 100 if (!m_inlineTextBox || !m_lineLayoutItem)
101 return LayoutRect(); 101 return LayoutRect();
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 .substring(start, len) 173 .substring(start, len)
174 .simplifyWhiteSpace(WTF::DoNotStripWhiteSpace); 174 .simplifyWhiteSpace(WTF::DoNotStripWhiteSpace);
175 if (m_inlineTextBox->nextTextBox() && 175 if (m_inlineTextBox->nextTextBox() &&
176 m_inlineTextBox->nextTextBox()->start() > m_inlineTextBox->end() && 176 m_inlineTextBox->nextTextBox()->start() > m_inlineTextBox->end() &&
177 result.length() && !result.right(1).containsOnlyWhitespace()) 177 result.length() && !result.right(1).containsOnlyWhitespace())
178 return result + " "; 178 return result + " ";
179 return result; 179 return result;
180 } 180 }
181 181
182 bool AbstractInlineTextBox::isFirst() const { 182 bool AbstractInlineTextBox::isFirst() const {
183 ASSERT(!m_inlineTextBox || 183 DCHECK(!m_inlineTextBox ||
184 !m_inlineTextBox->getLineLayoutItem().needsLayout()); 184 !m_inlineTextBox->getLineLayoutItem().needsLayout());
185 return !m_inlineTextBox || !m_inlineTextBox->prevTextBox(); 185 return !m_inlineTextBox || !m_inlineTextBox->prevTextBox();
186 } 186 }
187 187
188 bool AbstractInlineTextBox::isLast() const { 188 bool AbstractInlineTextBox::isLast() const {
189 ASSERT(!m_inlineTextBox || 189 DCHECK(!m_inlineTextBox ||
190 !m_inlineTextBox->getLineLayoutItem().needsLayout()); 190 !m_inlineTextBox->getLineLayoutItem().needsLayout());
191 return !m_inlineTextBox || !m_inlineTextBox->nextTextBox(); 191 return !m_inlineTextBox || !m_inlineTextBox->nextTextBox();
192 } 192 }
193 193
194 PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::nextOnLine() const { 194 PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::nextOnLine() const {
195 ASSERT(!m_inlineTextBox || 195 DCHECK(!m_inlineTextBox ||
196 !m_inlineTextBox->getLineLayoutItem().needsLayout()); 196 !m_inlineTextBox->getLineLayoutItem().needsLayout());
197 if (!m_inlineTextBox) 197 if (!m_inlineTextBox)
198 return nullptr; 198 return nullptr;
199 199
200 InlineBox* next = m_inlineTextBox->nextOnLine(); 200 InlineBox* next = m_inlineTextBox->nextOnLine();
201 if (next && next->isInlineTextBox()) 201 if (next && next->isInlineTextBox())
202 return getOrCreate(toInlineTextBox(next)->getLineLayoutItem(), 202 return getOrCreate(toInlineTextBox(next)->getLineLayoutItem(),
203 toInlineTextBox(next)); 203 toInlineTextBox(next));
204 204
205 return nullptr; 205 return nullptr;
206 } 206 }
207 207
208 PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::previousOnLine() 208 PassRefPtr<AbstractInlineTextBox> AbstractInlineTextBox::previousOnLine()
209 const { 209 const {
210 ASSERT(!m_inlineTextBox || 210 DCHECK(!m_inlineTextBox ||
211 !m_inlineTextBox->getLineLayoutItem().needsLayout()); 211 !m_inlineTextBox->getLineLayoutItem().needsLayout());
212 if (!m_inlineTextBox) 212 if (!m_inlineTextBox)
213 return nullptr; 213 return nullptr;
214 214
215 InlineBox* previous = m_inlineTextBox->prevOnLine(); 215 InlineBox* previous = m_inlineTextBox->prevOnLine();
216 if (previous && previous->isInlineTextBox()) 216 if (previous && previous->isInlineTextBox())
217 return getOrCreate(toInlineTextBox(previous)->getLineLayoutItem(), 217 return getOrCreate(toInlineTextBox(previous)->getLineLayoutItem(),
218 toInlineTextBox(previous)); 218 toInlineTextBox(previous));
219 219
220 return nullptr; 220 return nullptr;
221 } 221 }
222 222
223 } // namespace blink 223 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698