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; |