| Index: chrome/browser/ui/app_list/search/omnibox_provider.cc
|
| diff --git a/chrome/browser/ui/app_list/search/omnibox_provider.cc b/chrome/browser/ui/app_list/search/omnibox_provider.cc
|
| index eeda7683bb25fef6e52150f009fd49bf127b22b8..b419af15e8569b74f0bcb1b255c695cb0c7e3a73 100644
|
| --- a/chrome/browser/ui/app_list/search/omnibox_provider.cc
|
| +++ b/chrome/browser/ui/app_list/search/omnibox_provider.cc
|
| @@ -8,7 +8,6 @@
|
| #include "chrome/browser/autocomplete/autocomplete_controller.h"
|
| #include "chrome/browser/autocomplete/autocomplete_match.h"
|
| #include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h"
|
| -#include "chrome/browser/autocomplete/search_provider.h"
|
| #include "chrome/browser/search_engines/template_url_service_factory.h"
|
| #include "chrome/browser/ui/app_list/search/chrome_search_result.h"
|
| #include "chrome/browser/ui/browser_navigator.h"
|
| @@ -66,15 +65,23 @@ void ACMatchClassificationsToTags(
|
|
|
| class OmniboxResult : public ChromeSearchResult {
|
| public:
|
| - OmniboxResult(Profile* profile, const AutocompleteMatch& match)
|
| + OmniboxResult(Profile* profile,
|
| + AutocompleteController* autocomplete_controller,
|
| + const AutocompleteMatch& match)
|
| : profile_(profile),
|
| + autocomplete_controller_(autocomplete_controller),
|
| match_(match) {
|
| - set_id(match.destination_url.spec());
|
| + if (match_.search_terms_args) {
|
| + match_.search_terms_args->from_app_list = true;
|
| + autocomplete_controller_->UpdateMatchDestinationURL(
|
| + *match_.search_terms_args, &match_);
|
| + }
|
| + set_id(match_.destination_url.spec());
|
|
|
| // Derive relevance from omnibox relevance and normalize it to [0, 1].
|
| // The magic number 1500 is the highest score of an omnibox result.
|
| // See comments in autocomplete_provider.h.
|
| - set_relevance(match.relevance / 1500.0);
|
| + set_relevance(match_.relevance / 1500.0);
|
|
|
| UpdateIcon();
|
| UpdateTitleAndDetails();
|
| @@ -94,7 +101,7 @@ class OmniboxResult : public ChromeSearchResult {
|
|
|
| virtual scoped_ptr<ChromeSearchResult> Duplicate() OVERRIDE {
|
| return scoped_ptr<ChromeSearchResult>(
|
| - new OmniboxResult(profile_, match_)).Pass();
|
| + new OmniboxResult(profile_, autocomplete_controller_, match_)).Pass();
|
| }
|
|
|
| virtual ChromeSearchResultType GetType() OVERRIDE {
|
| @@ -126,6 +133,7 @@ class OmniboxResult : public ChromeSearchResult {
|
| }
|
|
|
| Profile* profile_;
|
| + AutocompleteController* autocomplete_controller_;
|
| AutocompleteMatch match_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(OmniboxResult);
|
| @@ -141,7 +149,6 @@ OmniboxProvider::OmniboxProvider(Profile* profile)
|
| this,
|
| AutocompleteClassifier::kDefaultOmniboxProviders &
|
| ~AutocompleteProvider::TYPE_ZERO_SUGGEST)) {
|
| - controller_->search_provider()->set_in_app_list();
|
| }
|
|
|
| OmniboxProvider::~OmniboxProvider() {}
|
| @@ -165,7 +172,8 @@ void OmniboxProvider::PopulateFromACResult(const AutocompleteResult& result) {
|
| if (!it->destination_url.is_valid())
|
| continue;
|
|
|
| - Add(scoped_ptr<SearchResult>(new OmniboxResult(profile_, *it)));
|
| + Add(scoped_ptr<SearchResult>(
|
| + new OmniboxResult(profile_, controller_.get(), *it)));
|
| }
|
| }
|
|
|
|
|