OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/ui/autofill/generated_credit_card_bubble_controller.h" | 5 #include "chrome/browser/ui/autofill/generated_credit_card_bubble_controller.h" |
6 | 6 |
7 #include <climits> | 7 #include <climits> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 contents_text_.clear(); | 186 contents_text_.clear(); |
187 contents_text_ranges_.clear(); | 187 contents_text_ranges_.clear(); |
188 | 188 |
189 base::string16 to_split = l10n_util::GetStringFUTF16( | 189 base::string16 to_split = l10n_util::GetStringFUTF16( |
190 IDS_AUTOFILL_GENERATED_CREDIT_CARD_BUBBLE_CONTENTS, | 190 IDS_AUTOFILL_GENERATED_CREDIT_CARD_BUBBLE_CONTENTS, |
191 fronting_card_name_, | 191 fronting_card_name_, |
192 backing_card_name_); | 192 backing_card_name_); |
193 | 193 |
194 // Split the full text on '|' to highlight certain parts. For example, "sly" | 194 // Split the full text on '|' to highlight certain parts. For example, "sly" |
195 // and "jumped" would be bolded in "The |sly| fox |jumped| over the lazy dog". | 195 // and "jumped" would be bolded in "The |sly| fox |jumped| over the lazy dog". |
196 std::vector<base::string16> pieces; | 196 std::vector<base::string16> pieces = base::SplitString( |
197 base::SplitStringDontTrim(to_split, kRangeSeparator, &pieces); | 197 to_split, base::string16(1, kRangeSeparator), |
| 198 base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL); |
198 | 199 |
199 while (!pieces.empty()) { | 200 while (!pieces.empty()) { |
200 base::string16 piece = pieces.front(); | 201 base::string16 piece = pieces.front(); |
201 | 202 |
202 // Every second piece should be bolded. Because |base::SplitString*()| | 203 // Every second piece should be bolded. Because SPLIT_WANT_ALL makes |
203 // leaves an empty "" even if '|' is the first character, this is guaranteed | 204 // SplitString leave an empty "" even if '|' is the first character, this |
204 // to work for "|highlighting| starts here". Ignore empty pieces because | 205 // is guaranteed to work for "|highlighting| starts here". Ignore empty |
205 // there's nothing to highlight. | 206 // pieces because there's nothing to highlight. |
206 if (!piece.empty() && pieces.size() % 2 == 0) { | 207 if (!piece.empty() && pieces.size() % 2 == 0) { |
207 const size_t start = contents_text_.size(); | 208 const size_t start = contents_text_.size(); |
208 TextRange bold_text; | 209 TextRange bold_text; |
209 bold_text.range = gfx::Range(start, start + piece.size()); | 210 bold_text.range = gfx::Range(start, start + piece.size()); |
210 bold_text.is_link = false; | 211 bold_text.is_link = false; |
211 contents_text_ranges_.push_back(bold_text); | 212 contents_text_ranges_.push_back(bold_text); |
212 } | 213 } |
213 | 214 |
214 // Append the piece whether it's bolded or not and move on to the next one. | 215 // Append the piece whether it's bolded or not and move on to the next one. |
215 contents_text_.append(piece); | 216 contents_text_.append(piece); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 if (browser && browser->window() && browser->window()->GetLocationBar()) | 262 if (browser && browser->window() && browser->window()->GetLocationBar()) |
262 browser->window()->GetLocationBar()->UpdateGeneratedCreditCardView(); | 263 browser->window()->GetLocationBar()->UpdateGeneratedCreditCardView(); |
263 } | 264 } |
264 | 265 |
265 void GeneratedCreditCardBubbleController::Hide() { | 266 void GeneratedCreditCardBubbleController::Hide() { |
266 if (bubble_ && !bubble_->IsHiding()) | 267 if (bubble_ && !bubble_->IsHiding()) |
267 bubble_->Hide(); | 268 bubble_->Hide(); |
268 } | 269 } |
269 | 270 |
270 } // namespace autofill | 271 } // namespace autofill |
OLD | NEW |