autocomplete_classifier.cc revision c407dc5cd9bdc5668497f21b26b09d988ab439de
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
3// found in the LICENSE file.
4
5#include "chrome/browser/autocomplete/autocomplete_classifier.h"
6
7#include "chrome/browser/autocomplete/autocomplete.h"
8#include "googleurl/src/gurl.h"
9
10AutocompleteClassifier::AutocompleteClassifier(Profile* profile)
11    : controller_(new AutocompleteController(profile)) {
12}
13
14AutocompleteClassifier::~AutocompleteClassifier() {
15}
16
17void AutocompleteClassifier::Classify(const std::wstring& text,
18                                      const std::wstring& desired_tld,
19                                      AutocompleteMatch* match,
20                                      GURL* alternate_nav_url) {
21  controller_->Start(text, desired_tld, true, false, true);
22  DCHECK(controller_->done());
23  const AutocompleteResult& result = controller_->result();
24  if (result.empty()) {
25    if (alternate_nav_url)
26      *alternate_nav_url = GURL();
27    return;
28  }
29
30  DCHECK(result.default_match() != result.end());
31  *match = *result.default_match();
32  if (alternate_nav_url)
33    *alternate_nav_url = result.alternate_nav_url();
34}
35