Index: third_party/WebKit/Source/core/layout/LayoutText.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutText.cpp b/third_party/WebKit/Source/core/layout/LayoutText.cpp |
index 5bd5b139755c9bdb9217a6ca2657afaba9555318..0a65a2aee576a6157f197c0ad46086cfabd2f378 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutText.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutText.cpp |
@@ -1414,6 +1414,33 @@ void applyTextTransform(const ComputedStyle* style, String& text, UChar previous |
} |
} |
+void LayoutText::applyTextTransformFromTo(int from, int len, const ComputedStyle* style) |
+{ |
+ if (!style) |
+ return; |
+ if (m_text.isEmpty()) |
+ return; |
+ |
+ String textToTransform = m_text.substring(from, len); |
+ if (textToTransform.isEmpty()) |
+ return; |
+ |
+ switch (style->textTransform()) { |
+ case TTNONE: |
+ break; |
+ case CAPITALIZE: |
+ makeCapitalized(&textToTransform, previousCharacter()); |
+ m_text.replace(from, len, textToTransform); |
+ break; |
+ case UPPERCASE: |
+ m_text.replace(from, len, textToTransform.upper(style->locale())); |
+ break; |
+ case LOWERCASE: |
+ m_text.replace(from, len, textToTransform.lower(style->locale())); |
+ break; |
+ } |
+} |
+ |
void LayoutText::setTextInternal(PassRefPtr<StringImpl> text) |
{ |
ASSERT(text); |