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

Side by Side Diff: chrome/browser/autocomplete/autocomplete.cc

Issue 2013008: Remove --omnibox-popup-count flag. (Closed) Base URL: git://git.chromium.org/chromium.git
Patch Set: nits Created 10 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 (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/autocomplete/autocomplete.h" 5 #include "chrome/browser/autocomplete/autocomplete.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 DCHECK(i->offset > last_offset) << "Classification unsorted"; 540 DCHECK(i->offset > last_offset) << "Classification unsorted";
541 DCHECK(i->offset < text.length()) << "Classification out of bounds"; 541 DCHECK(i->offset < text.length()) << "Classification out of bounds";
542 last_offset = i->offset; 542 last_offset = i->offset;
543 } 543 }
544 } 544 }
545 #endif 545 #endif
546 546
547 // AutocompleteProvider ------------------------------------------------------- 547 // AutocompleteProvider -------------------------------------------------------
548 548
549 // static 549 // static
550 size_t AutocompleteProvider::max_matches_ = 3; 550 const size_t AutocompleteProvider::kMaxMatches = 3;
551 551
552 AutocompleteProvider::~AutocompleteProvider() { 552 AutocompleteProvider::~AutocompleteProvider() {
553 Stop(); 553 Stop();
554 } 554 }
555 555
556 void AutocompleteProvider::SetProfile(Profile* profile) { 556 void AutocompleteProvider::SetProfile(Profile* profile) {
557 DCHECK(profile); 557 DCHECK(profile);
558 DCHECK(done_); // The controller should have already stopped us. 558 DCHECK(done_); // The controller should have already stopped us.
559 profile_ = profile; 559 profile_ = profile;
560 } 560 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 profile_->GetPrefs()->GetString(prefs::kAcceptLanguages) : std::wstring(); 601 profile_->GetPrefs()->GetString(prefs::kAcceptLanguages) : std::wstring();
602 const net::FormatUrlTypes format_types = trim_http ? 602 const net::FormatUrlTypes format_types = trim_http ?
603 net::kFormatUrlOmitAll : net::kFormatUrlOmitUsernamePassword; 603 net::kFormatUrlOmitAll : net::kFormatUrlOmitUsernamePassword;
604 return net::FormatUrl(url, languages, format_types, UnescapeRule::SPACES, 604 return net::FormatUrl(url, languages, format_types, UnescapeRule::SPACES,
605 NULL, NULL, NULL); 605 NULL, NULL, NULL);
606 } 606 }
607 607
608 // AutocompleteResult --------------------------------------------------------- 608 // AutocompleteResult ---------------------------------------------------------
609 609
610 // static 610 // static
611 size_t AutocompleteResult::max_matches_ = 6; 611 const size_t AutocompleteResult::kMaxMatches = 6;
612 612
613 void AutocompleteResult::Selection::Clear() { 613 void AutocompleteResult::Selection::Clear() {
614 destination_url = GURL(); 614 destination_url = GURL();
615 provider_affinity = NULL; 615 provider_affinity = NULL;
616 is_history_what_you_typed_match = false; 616 is_history_what_you_typed_match = false;
617 } 617 }
618 618
619 AutocompleteResult::AutocompleteResult() { 619 AutocompleteResult::AutocompleteResult() {
620 // Reserve space for the max number of matches we'll show. The +1 accounts 620 // Reserve space for the max number of matches we'll show. The +1 accounts
621 // for the history shortcut match as it isn't included in max_matches. 621 // for the history shortcut match as it isn't included in max_matches.
622 matches_.reserve(max_matches() + 1); 622 matches_.reserve(kMaxMatches + 1);
623 623
624 // It's probably safe to do this in the initializer list, but there's little 624 // It's probably safe to do this in the initializer list, but there's little
625 // penalty to doing it here and it ensures our object is fully constructed 625 // penalty to doing it here and it ensures our object is fully constructed
626 // before calling member functions. 626 // before calling member functions.
627 default_match_ = end(); 627 default_match_ = end();
628 } 628 }
629 629
630 void AutocompleteResult::CopyFrom(const AutocompleteResult& rhs) { 630 void AutocompleteResult::CopyFrom(const AutocompleteResult& rhs) {
631 if (this == &rhs) 631 if (this == &rhs)
632 return; 632 return;
(...skipping 27 matching lines...) Expand all
660 660
661 void AutocompleteResult::SortAndCull(const AutocompleteInput& input) { 661 void AutocompleteResult::SortAndCull(const AutocompleteInput& input) {
662 // Remove duplicates. 662 // Remove duplicates.
663 std::sort(matches_.begin(), matches_.end(), 663 std::sort(matches_.begin(), matches_.end(),
664 &AutocompleteMatch::DestinationSortFunc); 664 &AutocompleteMatch::DestinationSortFunc);
665 matches_.erase(std::unique(matches_.begin(), matches_.end(), 665 matches_.erase(std::unique(matches_.begin(), matches_.end(),
666 &AutocompleteMatch::DestinationsEqual), 666 &AutocompleteMatch::DestinationsEqual),
667 matches_.end()); 667 matches_.end());
668 668
669 // Find the top max_matches. 669 // Find the top max_matches.
670 if (matches_.size() > max_matches()) { 670 if (matches_.size() > kMaxMatches) {
671 std::partial_sort(matches_.begin(), matches_.begin() + max_matches(), 671 std::partial_sort(matches_.begin(), matches_.begin() + kMaxMatches,
672 matches_.end(), &AutocompleteMatch::MoreRelevant); 672 matches_.end(), &AutocompleteMatch::MoreRelevant);
673 matches_.erase(matches_.begin() + max_matches(), matches_.end()); 673 matches_.erase(matches_.begin() + kMaxMatches, matches_.end());
674 } 674 }
675 675
676 // HistoryContentsProvider uses a negative relevance as a way to avoid 676 // HistoryContentsProvider uses a negative relevance as a way to avoid
677 // starving out other provider matches, yet we may end up using this match. To 677 // starving out other provider matches, yet we may end up using this match. To
678 // make sure such matches are sorted correctly we search for all 678 // make sure such matches are sorted correctly we search for all
679 // relevances < 0 and negate them. If we change our relevance algorithm to 679 // relevances < 0 and negate them. If we change our relevance algorithm to
680 // properly mix different providers' matches, this can go away. 680 // properly mix different providers' matches, this can go away.
681 for (ACMatches::iterator i = matches_.begin(); i != matches_.end(); ++i) { 681 for (ACMatches::iterator i = matches_.begin(); i != matches_.end(); ++i) {
682 if (i->relevance < 0) 682 if (i->relevance < 0)
683 i->relevance = -i->relevance; 683 i->relevance = -i->relevance;
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 void AutocompleteController::CheckIfDone() { 1020 void AutocompleteController::CheckIfDone() {
1021 for (ACProviders::const_iterator i(providers_.begin()); i != providers_.end(); 1021 for (ACProviders::const_iterator i(providers_.begin()); i != providers_.end();
1022 ++i) { 1022 ++i) {
1023 if (!(*i)->done()) { 1023 if (!(*i)->done()) {
1024 done_ = false; 1024 done_ = false;
1025 return; 1025 return;
1026 } 1026 }
1027 } 1027 }
1028 done_ = true; 1028 done_ = true;
1029 } 1029 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete.h ('k') | chrome/browser/autocomplete/history_contents_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698