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

Side by Side Diff: chrome/browser/autocomplete/search_provider.h

Issue 23621037: Send URLs on non-zero prefix suggest requests also. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use domain matching between search provider for HTTPS pages Created 7 years, 1 month 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 // This file contains the Search autocomplete provider. This provider is 5 // This file contains the Search autocomplete provider. This provider is
6 // responsible for all autocomplete entries that start with "Search <engine> 6 // responsible for all autocomplete entries that start with "Search <engine>
7 // for ...", including searching for the current input string, search 7 // for ...", including searching for the current input string, search
8 // history, and search suggestions. An instance of it gets created and 8 // history, and search suggestions. An instance of it gets created and
9 // managed by the autocomplete controller. 9 // managed by the autocomplete controller.
10 10
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 static std::string GetSuggestMetadata(const AutocompleteMatch& match); 102 static std::string GetSuggestMetadata(const AutocompleteMatch& match);
103 103
104 // AutocompleteProvider: 104 // AutocompleteProvider:
105 virtual void AddProviderInfo(ProvidersInfo* provider_info) const OVERRIDE; 105 virtual void AddProviderInfo(ProvidersInfo* provider_info) const OVERRIDE;
106 virtual void ResetSession() OVERRIDE; 106 virtual void ResetSession() OVERRIDE;
107 107
108 bool field_trial_triggered_in_session() const { 108 bool field_trial_triggered_in_session() const {
109 return field_trial_triggered_in_session_; 109 return field_trial_triggered_in_session_;
110 } 110 }
111 111
112 // This URL may be sent with suggest requests; see comments on CanSendURL().
113 void set_current_page_url(const GURL& current_page_url) {
114 current_page_url_ = current_page_url;
115 }
116
112 private: 117 private:
113 // TODO(hfung): Remove ZeroSuggestProvider as a friend class after 118 // TODO(hfung): Remove ZeroSuggestProvider as a friend class after
114 // refactoring common code to a new base class. 119 // refactoring common code to a new base class.
115 friend class SearchProviderTest; 120 friend class SearchProviderTest;
116 friend class ZeroSuggestProvider; 121 friend class ZeroSuggestProvider;
117 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, NavigationInline); 122 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, NavigationInline);
118 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, NavigationInlineDomainClassify); 123 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, NavigationInlineDomainClassify);
119 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, NavigationInlineSchemeSubstring); 124 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, NavigationInlineSchemeSubstring);
120 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, RemoveStaleResultsTest); 125 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, RemoveStaleResultsTest);
121 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, SuggestRelevanceExperiment); 126 FRIEND_TEST_ALL_PREFIXES(SearchProviderTest, SuggestRelevanceExperiment);
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 // suggestions stored in |keyword_suggest_results_|). If there 516 // suggestions stored in |keyword_suggest_results_|). If there
512 // are no keyword suggestions and keyword verbatim is suppressed, 517 // are no keyword suggestions and keyword verbatim is suppressed,
513 // then drops the suggested relevance scores for the navsuggestions 518 // then drops the suggested relevance scores for the navsuggestions
514 // and drops the request to suppress verbatim, thereby introducing the 519 // and drops the request to suppress verbatim, thereby introducing the
515 // keyword verbatim match which will naturally outscore the navsuggestions. 520 // keyword verbatim match which will naturally outscore the navsuggestions.
516 void DemoteKeywordNavigationMatchesPastTopQuery(); 521 void DemoteKeywordNavigationMatchesPastTopQuery();
517 522
518 // Updates the value of |done_| from the internal state. 523 // Updates the value of |done_| from the internal state.
519 void UpdateDone(); 524 void UpdateDone();
520 525
526 // Whether the URL can be sent in the suggest request.
527 // Don't allow if Chrome is in incognito, if suggest is disabled, if the user
528 // doesn't have unencrypted tab sync enabled, if Google is not the user's
529 // search provider, or the URL is a non-Google HTTPS page. We only want to
530 // send the current URL to the suggest provider if the user is willing to have
531 // this data sent. Because tab sync involves sending the same data, we
532 // currently use "tab sync is enabled and tab sync data is unencrypted" as a
533 // proxy for "the user is OK with sending this data". We might someday want
534 // to change this to a standalone setting or part of some other explicit
535 // general opt-in. Non-Google HTTPS URLs are not sent because it may contain
536 // sensitive information. Google HTTPS URLs (including Google search result
537 // pages) are ok because the HTTPS request was already sent to Google earlier.
Peter Kasting 2013/10/31 21:55:51 Nit: How about making this comment a bulleted list
H Fung 2013/11/01 19:16:50 Done, thanks! I added another bullet that the use
538 static bool CanSendURL(
539 const GURL& current_page_url,
540 const GURL& suggest_url,
541 const TemplateURL* template_url,
542 AutocompleteInput::PageClassification page_classification,
543 Profile* profile);
544
521 // The amount of time to wait before sending a new suggest request after the 545 // The amount of time to wait before sending a new suggest request after the
522 // previous one. Non-const because some unittests modify this value. 546 // previous one. Non-const because some unittests modify this value.
523 static int kMinimumTimeBetweenSuggestQueriesMs; 547 static int kMinimumTimeBetweenSuggestQueriesMs;
524 548
525 // The following keys are used to record additional information on matches. 549 // The following keys are used to record additional information on matches.
526 550
527 // We annotate our AutocompleteMatches with whether their relevance scores 551 // We annotate our AutocompleteMatches with whether their relevance scores
528 // were server-provided using this key in the |additional_info| field. 552 // were server-provided using this key in the |additional_info| field.
529 static const char kRelevanceFromServerKey[]; 553 static const char kRelevanceFromServerKey[];
530 554
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 bool field_trial_triggered_; 604 bool field_trial_triggered_;
581 605
582 // Same as above except that it is maintained across the current Omnibox 606 // Same as above except that it is maintained across the current Omnibox
583 // session. 607 // session.
584 bool field_trial_triggered_in_session_; 608 bool field_trial_triggered_in_session_;
585 609
586 // If true, search history query suggestions will score low enough that 610 // If true, search history query suggestions will score low enough that
587 // they will not be inlined. 611 // they will not be inlined.
588 bool prevent_search_history_inlining_; 612 bool prevent_search_history_inlining_;
589 613
614 GURL current_page_url_;
615
590 DISALLOW_COPY_AND_ASSIGN(SearchProvider); 616 DISALLOW_COPY_AND_ASSIGN(SearchProvider);
591 }; 617 };
592 618
593 #endif // CHROME_BROWSER_AUTOCOMPLETE_SEARCH_PROVIDER_H_ 619 #endif // CHROME_BROWSER_AUTOCOMPLETE_SEARCH_PROVIDER_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/autocomplete/search_provider.cc » ('j') | chrome/browser/autocomplete/search_provider.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698