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

Side by Side Diff: components/query_parser/snippet.cc

Issue 1921923002: Convert //components/[o-t]* from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 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
OLDNEW
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/query_parser/snippet.h" 5 #include "components/query_parser/snippet.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory>
10 11
11 #include "base/logging.h" 12 #include "base/logging.h"
12 #include "base/memory/scoped_ptr.h"
13 #include "base/strings/string_split.h" 13 #include "base/strings/string_split.h"
14 #include "base/strings/string_util.h" 14 #include "base/strings/string_util.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "third_party/icu/source/common/unicode/brkiter.h" 16 #include "third_party/icu/source/common/unicode/brkiter.h"
17 #include "third_party/icu/source/common/unicode/utext.h" 17 #include "third_party/icu/source/common/unicode/utext.h"
18 #include "third_party/icu/source/common/unicode/utf8.h" 18 #include "third_party/icu/source/common/unicode/utf8.h"
19 19
20 namespace query_parser { 20 namespace query_parser {
21 namespace { 21 namespace {
22 22
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 // We can generate longer snippets but stop once we cross kSnippetMaxLength. 219 // We can generate longer snippets but stop once we cross kSnippetMaxLength.
220 const size_t kSnippetMaxLength = 200; 220 const size_t kSnippetMaxLength = 200;
221 const base::string16 kEllipsis = base::ASCIIToUTF16(" ... "); 221 const base::string16 kEllipsis = base::ASCIIToUTF16(" ... ");
222 222
223 UText* document_utext = NULL; 223 UText* document_utext = NULL;
224 UErrorCode status = U_ZERO_ERROR; 224 UErrorCode status = U_ZERO_ERROR;
225 document_utext = utext_openUTF8(document_utext, document.data(), 225 document_utext = utext_openUTF8(document_utext, document.data(),
226 document.size(), &status); 226 document.size(), &status);
227 // Locale does not matter because there's no per-locale customization 227 // Locale does not matter because there's no per-locale customization
228 // for character iterator. 228 // for character iterator.
229 scoped_ptr<icu::BreakIterator> bi(icu::BreakIterator::createCharacterInstance( 229 std::unique_ptr<icu::BreakIterator> bi(
230 icu::Locale::getDefault(), status)); 230 icu::BreakIterator::createCharacterInstance(icu::Locale::getDefault(),
231 status));
231 bi->setText(document_utext, status); 232 bi->setText(document_utext, status);
232 DCHECK(U_SUCCESS(status)); 233 DCHECK(U_SUCCESS(status));
233 234
234 // We build the snippet by iterating through the matches and then grabbing 235 // We build the snippet by iterating through the matches and then grabbing
235 // context around each match. If matches are near enough each other (within 236 // context around each match. If matches are near enough each other (within
236 // kSnippetContext), we skip the "..." between them. 237 // kSnippetContext), we skip the "..." between them.
237 base::string16 snippet; 238 base::string16 snippet;
238 size_t start = 0; 239 size_t start = 0;
239 for (size_t i = 0; i < match_positions.size(); ++i) { 240 for (size_t i = 0; i < match_positions.size(); ++i) {
240 // Some shorter names for the current match. 241 // Some shorter names for the current match.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 utext_close(document_utext); 298 utext_close(document_utext);
298 swap(text_, snippet); 299 swap(text_, snippet);
299 } 300 }
300 301
301 void Snippet::Swap(Snippet* other) { 302 void Snippet::Swap(Snippet* other) {
302 text_.swap(other->text_); 303 text_.swap(other->text_);
303 matches_.swap(other->matches_); 304 matches_.swap(other->matches_);
304 } 305 }
305 306
306 } // namespace query_parser 307 } // namespace query_parser
OLDNEW
« no previous file with comments | « components/proxy_config/proxy_config_dictionary_unittest.cc ('k') | components/quirks/quirks_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698