summaryrefslogtreecommitdiffstats
path: root/ui/base/text
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-22 22:26:53 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-22 22:26:53 +0000
commit62cfbad7377b4db2497fec6e88821a36a1b767fe (patch)
treec7be44ea69ddb94285d7a779ade049411fb004e1 /ui/base/text
parent078ed5486f50579a03463961738f6d57759d10ce (diff)
downloadchromium_src-62cfbad7377b4db2497fec6e88821a36a1b767fe.zip
chromium_src-62cfbad7377b4db2497fec6e88821a36a1b767fe.tar.gz
chromium_src-62cfbad7377b4db2497fec6e88821a36a1b767fe.tar.bz2
(shlib failure) Revert 97750 - content: Move render_widget_host_view_gtk to content/
This also moves some other files: - OwnedWidgetGtk now goes in ui/base/gtk/ - TruncateString moved from l10n_util:: to ui:: - GtkIMContextWrapper has part of its code split into chrome/ (IDC using code goes in RenderViewContextMenu) and the rest go in content/ (gtk using code goes with GtkIMContextWrapper). - gtk_key_bindings_handler[_unittest] now goes in content, as it's a utility class to RenderWidgetHostGtk. BUG=93804 TEST=existing unit tests Review URL: http://codereview.chromium.org/7669040 TBR=erg@google.com Review URL: http://codereview.chromium.org/7708017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97756 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base/text')
-rw-r--r--ui/base/text/text_elider.cc66
-rw-r--r--ui/base/text/text_elider.h6
-rw-r--r--ui/base/text/text_elider_unittest.cc27
3 files changed, 0 insertions, 99 deletions
diff --git a/ui/base/text/text_elider.cc b/ui/base/text/text_elider.cc
index 8cbfb3c..1a4b79d 100644
--- a/ui/base/text/text_elider.cc
+++ b/ui/base/text/text_elider.cc
@@ -10,7 +10,6 @@
#include "base/i18n/break_iterator.h"
#include "base/i18n/char_iterator.h"
#include "base/i18n/rtl.h"
-#include "base/scoped_ptr.h"
#include "base/string_split.h"
#include "base/string_util.h"
#include "base/sys_string_conversions.h"
@@ -20,8 +19,6 @@
#include "net/base/net_util.h"
#include "net/base/registry_controlled_domain.h"
#include "ui/gfx/font.h"
-#include "unicode/rbbi.h"
-#include "unicode/uloc.h"
namespace ui {
@@ -676,67 +673,4 @@ bool ElideRectangleString(const string16& input, size_t max_rows,
return rect.Finalize();
}
-string16 TruncateString(const string16& string, size_t length) {
- if (string.size() <= length)
- // String fits, return it.
- return string;
-
- if (length == 0) {
- // No room for the elide string, return an empty string.
- return string16();
- }
- size_t max = length - 1;
-
- // Added to the end of strings that are too big.
- static const char16 kElideString[] = { 0x2026, 0 };
-
- if (max == 0) {
- // Just enough room for the elide string.
- return kElideString;
- }
-
- // Use a line iterator to find the first boundary.
- UErrorCode status = U_ZERO_ERROR;
- scoped_ptr<icu::RuleBasedBreakIterator> bi(
- static_cast<icu::RuleBasedBreakIterator*>(
- icu::RuleBasedBreakIterator::createLineInstance(
- icu::Locale::getDefault(), status)));
- if (U_FAILURE(status))
- return string.substr(0, max) + kElideString;
- bi->setText(string.c_str());
- int32_t index = bi->preceding(static_cast<int32_t>(max));
- if (index == icu::BreakIterator::DONE) {
- index = static_cast<int32_t>(max);
- } else {
- // Found a valid break (may be the beginning of the string). Now use
- // a character iterator to find the previous non-whitespace character.
- icu::StringCharacterIterator char_iterator(string.c_str());
- if (index == 0) {
- // No valid line breaks. Start at the end again. This ensures we break
- // on a valid character boundary.
- index = static_cast<int32_t>(max);
- }
- char_iterator.setIndex(index);
- while (char_iterator.hasPrevious()) {
- char_iterator.previous();
- if (!(u_isspace(char_iterator.current()) ||
- u_charType(char_iterator.current()) == U_CONTROL_CHAR ||
- u_charType(char_iterator.current()) == U_NON_SPACING_MARK)) {
- // Not a whitespace character. Advance the iterator so that we
- // include the current character in the truncated string.
- char_iterator.next();
- break;
- }
- }
- if (char_iterator.hasPrevious()) {
- // Found a valid break point.
- index = char_iterator.getIndex();
- } else {
- // String has leading whitespace, return the elide string.
- return kElideString;
- }
- }
- return string.substr(0, index) + kElideString;
-}
-
} // namespace ui
diff --git a/ui/base/text/text_elider.h b/ui/base/text/text_elider.h
index eb4f7a4..fe2a141 100644
--- a/ui/base/text/text_elider.h
+++ b/ui/base/text/text_elider.h
@@ -119,12 +119,6 @@ UI_EXPORT bool ElideRectangleString(const string16& input, size_t max_rows,
size_t max_cols, bool strict,
string16* output);
-// Truncates the string to length characters. This breaks the string at
-// the first word break before length, adding the horizontal ellipsis
-// character (unicode character 0x2026) to render ...
-// The supplied string is returned if the string has length characters or
-// less.
-UI_EXPORT string16 TruncateString(const string16& string, size_t length);
} // namespace ui
diff --git a/ui/base/text/text_elider_unittest.cc b/ui/base/text/text_elider_unittest.cc
index 60ab1f7..0ff70e4 100644
--- a/ui/base/text/text_elider_unittest.cc
+++ b/ui/base/text/text_elider_unittest.cc
@@ -547,31 +547,4 @@ TEST(TextEliderTest, ElideRectangleWide32) {
EXPECT_EQ(out, output);
}
-TEST(TextEliderTest, TruncateString) {
- string16 string = ASCIIToUTF16("foooooey bxxxar baz");
-
- // Make sure it doesn't modify the string if length > string length.
- EXPECT_EQ(string, ui::TruncateString(string, 100));
-
- // Test no characters.
- EXPECT_EQ(L"", UTF16ToWide(ui::TruncateString(string, 0)));
-
- // Test 1 character.
- EXPECT_EQ(L"\x2026", UTF16ToWide(ui::TruncateString(string, 1)));
-
- // Test adds ... at right spot when there is enough room to break at a
- // word boundary.
- EXPECT_EQ(L"foooooey\x2026", UTF16ToWide(ui::TruncateString(string, 14)));
-
- // Test adds ... at right spot when there is not enough space in first word.
- EXPECT_EQ(L"f\x2026", UTF16ToWide(ui::TruncateString(string, 2)));
-
- // Test adds ... at right spot when there is not enough room to break at a
- // word boundary.
- EXPECT_EQ(L"foooooey\x2026", UTF16ToWide(ui::TruncateString(string, 11)));
-
- // Test completely truncates string if break is on initial whitespace.
- EXPECT_EQ(L"\x2026", UTF16ToWide(ui::TruncateString(ASCIIToUTF16(" "), 2)));
-}
-
} // namespace ui