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

Side by Side Diff: ui/base/text/text_elider.cc

Issue 7008005: base/i18n: Pass |str| as const reference in BreakIterator::Init(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: const reference Created 9 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <vector> 5 #include <vector>
6 6
7 #include "ui/base/text/text_elider.h" 7 #include "ui/base/text/text_elider.h"
8 8
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/i18n/break_iterator.h" 10 #include "base/i18n/break_iterator.h"
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 bool strict_; 569 bool strict_;
570 570
571 // True when some of the input has been truncated. 571 // True when some of the input has been truncated.
572 bool suppressed_; 572 bool suppressed_;
573 573
574 // String onto which the output is accumulated. 574 // String onto which the output is accumulated.
575 string16 *output_; 575 string16 *output_;
576 }; 576 };
577 577
578 void RectangleString::AddString(const string16& input) { 578 void RectangleString::AddString(const string16& input) {
579 base::i18n::BreakIterator lines(&input, 579 base::i18n::BreakIterator lines(input,
580 base::i18n::BreakIterator::BREAK_NEWLINE); 580 base::i18n::BreakIterator::BREAK_NEWLINE);
581 if (lines.Init()) { 581 if (lines.Init()) {
582 while (lines.Advance()) 582 while (lines.Advance())
583 AddLine(lines.GetString()); 583 AddLine(lines.GetString());
584 } else { 584 } else {
585 NOTREACHED() << "BreakIterator (lines) init failed"; 585 NOTREACHED() << "BreakIterator (lines) init failed";
586 } 586 }
587 } 587 }
588 588
589 bool RectangleString::Finalize() { 589 bool RectangleString::Finalize() {
590 if (suppressed_) { 590 if (suppressed_) {
591 output_->append(ASCIIToUTF16("...")); 591 output_->append(ASCIIToUTF16("..."));
592 return true; 592 return true;
593 } 593 }
594 return false; 594 return false;
595 } 595 }
596 596
597 void RectangleString::AddLine(const string16& line) { 597 void RectangleString::AddLine(const string16& line) {
598 if (line.length() < max_cols_) { 598 if (line.length() < max_cols_) {
599 Append(line); 599 Append(line);
600 } else { 600 } else {
601 base::i18n::BreakIterator words(&line, 601 base::i18n::BreakIterator words(line,
602 base::i18n::BreakIterator::BREAK_SPACE); 602 base::i18n::BreakIterator::BREAK_SPACE);
603 if (words.Init()) { 603 if (words.Init()) {
604 while (words.Advance()) 604 while (words.Advance())
605 AddWord(words.GetString()); 605 AddWord(words.GetString());
606 } else { 606 } else {
607 NOTREACHED() << "BreakIterator (words) init failed"; 607 NOTREACHED() << "BreakIterator (words) init failed";
608 } 608 }
609 } 609 }
610 // Account for naturally-occuring newlines. 610 // Account for naturally-occuring newlines.
611 ++current_row_; 611 ++current_row_;
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 664
665 bool ElideRectangleString(const string16& input, size_t max_rows, 665 bool ElideRectangleString(const string16& input, size_t max_rows,
666 size_t max_cols, bool strict, string16* output) { 666 size_t max_cols, bool strict, string16* output) {
667 RectangleString rect(max_rows, max_cols, strict, output); 667 RectangleString rect(max_rows, max_cols, strict, output);
668 rect.Init(); 668 rect.Init();
669 rect.AddString(input); 669 rect.AddString(input);
670 return rect.Finalize(); 670 return rect.Finalize();
671 } 671 }
672 672
673 } // namespace ui 673 } // namespace ui
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/download/download_item_view.cc ('k') | views/controls/textfield/textfield_views_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698