OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/bookmarks/browser/titled_url_match.h" | 5 #include "components/bookmarks/browser/titled_url_match.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/strings/string16.h" | 8 #include "base/strings/string_util.h" |
9 | 9 |
10 namespace bookmarks { | 10 namespace bookmarks { |
11 | 11 |
12 TitledUrlMatch::TitledUrlMatch() : node(NULL) {} | 12 TitledUrlMatch::TitledUrlMatch() : node(NULL) {} |
13 | 13 |
14 TitledUrlMatch::TitledUrlMatch(const TitledUrlMatch& other) = default; | 14 TitledUrlMatch::TitledUrlMatch(const TitledUrlMatch& other) = default; |
15 | 15 |
16 TitledUrlMatch::~TitledUrlMatch() {} | 16 TitledUrlMatch::~TitledUrlMatch() {} |
17 | 17 |
18 // static | 18 // static |
(...skipping 21 matching lines...) Expand all Loading... |
40 ++offset_iter; | 40 ++offset_iter; |
41 const size_t end = *offset_iter; | 41 const size_t end = *offset_iter; |
42 if ((begin != base::string16::npos) && (end != base::string16::npos)) { | 42 if ((begin != base::string16::npos) && (end != base::string16::npos)) { |
43 const MatchPosition new_match_position(begin, end); | 43 const MatchPosition new_match_position(begin, end); |
44 new_match_positions.push_back(new_match_position); | 44 new_match_positions.push_back(new_match_position); |
45 } | 45 } |
46 } | 46 } |
47 return new_match_positions; | 47 return new_match_positions; |
48 } | 48 } |
49 | 49 |
| 50 // static |
| 51 void TitledUrlMatch::CorrectTitleAndMatchPositions( |
| 52 base::string16* title, |
| 53 MatchPositions* title_match_positions) { |
| 54 size_t leading_whitespace_chars = title->length(); |
| 55 base::TrimWhitespace(*title, base::TRIM_LEADING, title); |
| 56 leading_whitespace_chars -= title->length(); |
| 57 if (leading_whitespace_chars == 0) |
| 58 return; |
| 59 for (MatchPositions::iterator it = title_match_positions->begin(); |
| 60 it != title_match_positions->end(); ++it) { |
| 61 it->first -= leading_whitespace_chars; |
| 62 it->second -= leading_whitespace_chars; |
| 63 } |
| 64 } |
| 65 |
50 } // namespace bookmarks | 66 } // namespace bookmarks |
OLD | NEW |