Chromium Code Reviews| Index: chrome/browser/autocomplete/search_provider.cc |
| diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc |
| index d4245fd34e8719b14b02a9213e22a51447052195..d474eefe26269e7baf422b3aae7034bf2d955e18 100644 |
| --- a/chrome/browser/autocomplete/search_provider.cc |
| +++ b/chrome/browser/autocomplete/search_provider.cc |
| @@ -36,6 +36,10 @@ |
| #include "chrome/browser/search_engines/template_url_prepopulate_data.h" |
| #include "chrome/browser/search_engines/template_url_service.h" |
| #include "chrome/browser/search_engines/template_url_service_factory.h" |
| +#include "chrome/browser/ui/browser.h" |
| +#include "chrome/browser/ui/browser_finder.h" |
| +#include "chrome/browser/ui/browser_instant_controller.h" |
| +#include "chrome/browser/ui/search/instant_controller.h" |
| #include "chrome/common/net/url_fixer_upper.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| @@ -250,8 +254,7 @@ SearchProvider::SearchProvider(AutocompleteProviderListener* listener, |
| providers_(TemplateURLServiceFactory::GetForProfile(profile)), |
| suggest_results_pending_(0), |
| field_trial_triggered_(false), |
| - field_trial_triggered_in_session_(false), |
| - omnibox_start_margin_(-1) { |
| + field_trial_triggered_in_session_(false) { |
| } |
| // static |
| @@ -369,10 +372,6 @@ void SearchProvider::ResetSession() { |
| field_trial_triggered_in_session_ = false; |
| } |
| -void SearchProvider::SetOmniboxStartMargin(int omnibox_start_margin) { |
| - omnibox_start_margin_ = omnibox_start_margin; |
| -} |
| - |
| SearchProvider::~SearchProvider() { |
| } |
| @@ -1382,11 +1381,25 @@ void SearchProvider::AddMatchToMap(const string16& query_string, |
| int accepted_suggestion, |
| bool is_keyword, |
| MatchMap* map) { |
| + int omnibox_start_margin = chrome::kDisableStartMargin; |
| +// browser_finder does not exist for Android. On IOS, start margin is not used. |
|
Peter Kasting
2013/08/09 21:03:46
Nit: To avoid unusual comment indenting, how about
jeremycho
2013/08/09 23:55:09
Done.
|
| +#if !defined(OS_ANDROID) && !defined(IOS) |
| + if (chrome::IsInstantExtendedAPIEnabled()) { |
| + Browser* browser = |
| + chrome::FindBrowserWithProfile(profile_, chrome::GetActiveDesktop()); |
| + if (browser && browser->instant_controller() && |
| + browser->instant_controller()->instant()) { |
| + omnibox_start_margin = |
| + browser->instant_controller()->instant()->omnibox_bounds().x(); |
| + } |
| + } |
| +#endif // !defined(OS_ANDROID) && !defined(IOS) |
| + |
| const TemplateURL* template_url = is_keyword ? |
| providers_.GetKeywordProviderURL() : providers_.GetDefaultProviderURL(); |
| AutocompleteMatch match = CreateSearchSuggestion(this, relevance, type, |
| template_url, query_string, input_text, input_, is_keyword, |
| - accepted_suggestion, omnibox_start_margin_, |
| + accepted_suggestion, omnibox_start_margin, |
| !is_keyword || providers_.default_provider().empty()); |
| if (!match.destination_url.is_valid()) |
| return; |