summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/infobars/translate_infobars.cc
diff options
context:
space:
mode:
authorjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-17 07:49:53 +0000
committerjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-17 07:49:53 +0000
commit2e59325fed2416cd23d0b418cd46e302148aa584 (patch)
tree12a5fa4d92c38c32b4e03a8df4a55a8688f1e449 /chrome/browser/views/infobars/translate_infobars.cc
parent3e52d7d6df02b80809826c8a68b897d337ec8f94 (diff)
downloadchromium_src-2e59325fed2416cd23d0b418cd46e302148aa584.zip
chromium_src-2e59325fed2416cd23d0b418cd46e302148aa584.tar.gz
chromium_src-2e59325fed2416cd23d0b418cd46e302148aa584.tar.bz2
Translate: Move label parsing logic into common code.
* Add a string16 & Cocoa version of GetStringF(). * Move logic for parsing translate infobar label into translate_infobars_delegates. * Make views variant of translate infobars use new code. BUG=34466 TEST=Translate infobars should continue to workon Windows. Review URL: http://codereview.chromium.org/597042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39206 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/infobars/translate_infobars.cc')
-rw-r--r--chrome/browser/views/infobars/translate_infobars.cc23
1 files changed, 5 insertions, 18 deletions
diff --git a/chrome/browser/views/infobars/translate_infobars.cc b/chrome/browser/views/infobars/translate_infobars.cc
index 9c2c175..d9660d2 100644
--- a/chrome/browser/views/infobars/translate_infobars.cc
+++ b/chrome/browser/views/infobars/translate_infobars.cc
@@ -623,24 +623,11 @@ void TranslateInfoBar::Observe(NotificationType type,
void TranslateInfoBar::CreateLabels() {
// Determine text for labels.
std::vector<size_t> offsets;
- std::wstring message_text = l10n_util::GetStringF(
- (GetDelegate()->state() == TranslateInfoBarDelegate::kAfterTranslate ?
- IDS_TRANSLATE_INFOBAR_AFTER_MESSAGE :
- IDS_TRANSLATE_INFOBAR_BEFORE_MESSAGE),
- std::wstring(), std::wstring(), &offsets);
- if (!offsets.empty() && offsets.size() <= 2) {
- // Sort the offsets if necessary.
- if (offsets.size() == 2 && offsets[0] > offsets[1]) {
- size_t offset0 = offsets[0];
- offsets[0] = offsets[1];
- offsets[1] = offset0;
- swapped_language_placeholders_ = true;
- }
- if (offsets[offsets.size() - 1] != message_text.length())
- offsets.push_back(message_text.length());
- } else {
- NOTREACHED() << "Invalid no. of placeholders in label.";
- }
+ string16 message_text_utf16;
+ GetDelegate()->GetMessageText(&message_text_utf16, &offsets,
+ &swapped_language_placeholders_);
+
+ std::wstring message_text = UTF16ToWideHack(message_text_utf16);
// Create label controls.
const gfx::Font& font = ResourceBundle::GetSharedInstance().GetFont(