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

Unified Diff: Source/core/dom/Document.cpp

Issue 23190034: Remove code related to title directionality, we never used it (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 4 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/dom/Document.h ('k') | Source/core/html/HTMLTitleElement.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/Document.cpp
diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
index 46e6589965b2a5e8490deee698e91aacf30caa23..df5c35c7977263ef858c4e3e18ec69bacf4df760 100644
--- a/Source/core/dom/Document.cpp
+++ b/Source/core/dom/Document.cpp
@@ -1238,9 +1238,8 @@ PassRefPtr<Range> Document::caretRangeFromPoint(int x, int y)
* 3. Collapse internal whitespace.
*/
template <typename CharacterType>
-static inline StringWithDirection canonicalizedTitle(Document* document, const StringWithDirection& titleWithDirection)
+static inline String canonicalizedTitle(Document* document, const String& title)
{
- const String& title = titleWithDirection.string();
const CharacterType* characters = title.getCharacters<CharacterType>();
unsigned length = title.length();
unsigned i;
@@ -1256,7 +1255,7 @@ static inline StringWithDirection canonicalizedTitle(Document* document, const S
}
if (i == length)
- return StringWithDirection();
+ return String();
// Replace control characters with spaces, and backslashes with currency symbols, and collapse whitespace.
bool previousCharWasWS = false;
@@ -1281,32 +1280,30 @@ static inline StringWithDirection canonicalizedTitle(Document* document, const S
}
if (!builderIndex && buffer[builderIndex] == ' ')
- return StringWithDirection();
+ return String();
buffer.shrink(builderIndex + 1);
// Replace the backslashes with currency symbols if the encoding requires it.
document->displayBufferModifiedByEncoding(buffer.characters(), buffer.length());
- return StringWithDirection(String::adopt(buffer), titleWithDirection.direction());
+ return String::adopt(buffer);
}
-void Document::updateTitle(const StringWithDirection& title)
+void Document::updateTitle(const String& title)
{
if (m_rawTitle == title)
return;
m_rawTitle = title;
- StringWithDirection oldTitle = m_title;
- if (m_rawTitle.string().isEmpty())
- m_title = StringWithDirection();
- else {
- if (m_rawTitle.string().is8Bit())
- m_title = canonicalizedTitle<LChar>(this, m_rawTitle);
- else
- m_title = canonicalizedTitle<UChar>(this, m_rawTitle);
- }
+ String oldTitle = m_title;
+ if (m_rawTitle.isEmpty())
+ m_title = String();
+ else if (m_rawTitle.is8Bit())
+ m_title = canonicalizedTitle<LChar>(this, m_rawTitle);
+ else
+ m_title = canonicalizedTitle<UChar>(this, m_rawTitle);
if (!m_frame || oldTitle == m_title)
return;
@@ -1327,8 +1324,7 @@ void Document::setTitle(const String& title)
}
}
- // The DOM API has no method of specifying direction, so assume LTR.
- updateTitle(StringWithDirection(title, LTR));
+ updateTitle(title);
if (m_titleElement) {
ASSERT(isHTMLTitleElement(m_titleElement.get()));
@@ -1337,7 +1333,7 @@ void Document::setTitle(const String& title)
}
}
-void Document::setTitleElement(const StringWithDirection& title, Element* titleElement)
+void Document::setTitleElement(const String& title, Element* titleElement)
{
if (titleElement != m_titleElement) {
if (m_titleElement || m_titleSetExplicitly)
@@ -1357,19 +1353,20 @@ void Document::removeTitle(Element* titleElement)
m_titleElement = 0;
m_titleSetExplicitly = false;
+ // FIXME: This is broken for SVG.
// Update title based on first title element in the head, if one exists.
if (HTMLElement* headElement = head()) {
- for (Node* e = headElement->firstChild(); e; e = e->nextSibling()) {
- if (isHTMLTitleElement(e)) {
- HTMLTitleElement* titleElement = toHTMLTitleElement(e);
- setTitleElement(titleElement->textWithDirection(), titleElement);
- break;
- }
+ for (Element* element = headElement->firstElementChild(); element; element = element->nextElementSibling()) {
+ if (!isHTMLTitleElement(element))
+ continue;
+ HTMLTitleElement* title = toHTMLTitleElement(element);
+ setTitleElement(title->text(), title);
+ break;
}
}
if (!m_titleElement)
- updateTitle(StringWithDirection());
+ updateTitle(String());
}
PageVisibilityState Document::visibilityState() const
« no previous file with comments | « Source/core/dom/Document.h ('k') | Source/core/html/HTMLTitleElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698