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

Side by Side Diff: chrome/browser/ui/toolbar/toolbar_model_impl.cc

Issue 11876045: [Search] Store and recall search terms using NavigationEntry to improve search term extraction (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Indentation Created 7 years, 11 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/ui/toolbar/toolbar_model_impl.h" 5 #include "chrome/browser/ui/toolbar/toolbar_model_impl.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/autocomplete/autocomplete_input.h" 9 #include "chrome/browser/autocomplete/autocomplete_input.h"
10 #include "chrome/browser/google/google_util.h" 10 #include "chrome/browser/google/google_util.h"
11 #include "chrome/browser/instant/instant_controller.h"
11 #include "chrome/browser/prefs/pref_service.h" 12 #include "chrome/browser/prefs/pref_service.h"
12 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile.h"
13 #include "chrome/browser/search_engines/template_url.h" 14 #include "chrome/browser/search_engines/template_url.h"
14 #include "chrome/browser/search_engines/template_url_service.h" 15 #include "chrome/browser/search_engines/template_url_service.h"
15 #include "chrome/browser/search_engines/template_url_service_factory.h" 16 #include "chrome/browser/search_engines/template_url_service_factory.h"
16 #include "chrome/browser/ssl/ssl_error_info.h" 17 #include "chrome/browser/ssl/ssl_error_info.h"
17 #include "chrome/browser/ui/search/search.h" 18 #include "chrome/browser/ui/search/search.h"
18 #include "chrome/browser/ui/toolbar/toolbar_model_delegate.h" 19 #include "chrome/browser/ui/toolbar/toolbar_model_delegate.h"
19 #include "chrome/common/chrome_constants.h" 20 #include "chrome/common/chrome_constants.h"
20 #include "chrome/common/chrome_switches.h" 21 #include "chrome/common/chrome_switches.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 input_in_progress_(false) { 66 input_in_progress_(false) {
66 } 67 }
67 68
68 ToolbarModelImpl::~ToolbarModelImpl() { 69 ToolbarModelImpl::~ToolbarModelImpl() {
69 } 70 }
70 71
71 // ToolbarModelImpl Implementation. 72 // ToolbarModelImpl Implementation.
72 string16 ToolbarModelImpl::GetText( 73 string16 ToolbarModelImpl::GetText(
73 bool display_search_urls_as_search_terms) const { 74 bool display_search_urls_as_search_terms) const {
74 if (display_search_urls_as_search_terms) { 75 if (display_search_urls_as_search_terms) {
76 // If search terms were set explicitely on the NavigationEntry, use those.
sky 2013/01/16 22:32:37 explicitly
Mathieu 2013/01/17 15:59:29 Done.
77 NavigationController* controller = GetNavigationController();
78 if (controller) {
79 NavigationEntry* entry = controller->GetVisibleEntry();
80 if (entry) {
81 string16 out_value;
82 if (entry->GetExtraData(InstantController::kSearchTermsKey,
83 &out_value))
84 return out_value;
85 }
86 }
75 string16 search_terms = TryToExtractSearchTermsFromURL(); 87 string16 search_terms = TryToExtractSearchTermsFromURL();
76 if (!search_terms.empty()) 88 if (!search_terms.empty())
77 return search_terms; 89 return search_terms;
78 } 90 }
79 std::string languages; // Empty if we don't have a |navigation_controller|. 91 std::string languages; // Empty if we don't have a |navigation_controller|.
80 Profile* profile = GetProfile(); 92 Profile* profile = GetProfile();
81 if (profile) 93 if (profile)
82 languages = profile->GetPrefs()->GetString(prefs::kAcceptLanguages); 94 languages = profile->GetPrefs()->GetString(prefs::kAcceptLanguages);
83 95
84 GURL url(GetURL()); 96 GURL url(GetURL());
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 template_url->ExtractSearchTermsFromURL(url, &result); 273 template_url->ExtractSearchTermsFromURL(url, &result);
262 return result; 274 return result;
263 } 275 }
264 276
265 Profile* ToolbarModelImpl::GetProfile() const { 277 Profile* ToolbarModelImpl::GetProfile() const {
266 NavigationController* navigation_controller = GetNavigationController(); 278 NavigationController* navigation_controller = GetNavigationController();
267 return navigation_controller ? 279 return navigation_controller ?
268 Profile::FromBrowserContext(navigation_controller->GetBrowserContext()) : 280 Profile::FromBrowserContext(navigation_controller->GetBrowserContext()) :
269 NULL; 281 NULL;
270 } 282 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698