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

Unified 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, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/autocomplete/search_provider.h
diff --git a/chrome/browser/autocomplete/search_provider.h b/chrome/browser/autocomplete/search_provider.h
index 30e601cebd44da85b30f91022f326a4ec04b063d..80d6cfed7e22041d1bd928bfc67f381327876b43 100644
--- a/chrome/browser/autocomplete/search_provider.h
+++ b/chrome/browser/autocomplete/search_provider.h
@@ -109,6 +109,11 @@ class SearchProvider : public AutocompleteProvider,
return field_trial_triggered_in_session_;
}
+ // This URL may be sent with suggest requests; see comments on CanSendURL().
+ void set_current_page_url(const GURL& current_page_url) {
+ current_page_url_ = current_page_url;
+ }
+
private:
// TODO(hfung): Remove ZeroSuggestProvider as a friend class after
// refactoring common code to a new base class.
@@ -518,6 +523,25 @@ class SearchProvider : public AutocompleteProvider,
// Updates the value of |done_| from the internal state.
void UpdateDone();
+ // Whether the URL can be sent in the suggest request.
+ // Don't allow if Chrome is in incognito, if suggest is disabled, if the user
+ // doesn't have unencrypted tab sync enabled, if Google is not the user's
+ // search provider, or the URL is a non-Google HTTPS page. We only want to
+ // send the current URL to the suggest provider if the user is willing to have
+ // this data sent. Because tab sync involves sending the same data, we
+ // currently use "tab sync is enabled and tab sync data is unencrypted" as a
+ // proxy for "the user is OK with sending this data". We might someday want
+ // to change this to a standalone setting or part of some other explicit
+ // general opt-in. Non-Google HTTPS URLs are not sent because it may contain
+ // sensitive information. Google HTTPS URLs (including Google search result
+ // 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
+ static bool CanSendURL(
+ const GURL& current_page_url,
+ const GURL& suggest_url,
+ const TemplateURL* template_url,
+ AutocompleteInput::PageClassification page_classification,
+ Profile* profile);
+
// The amount of time to wait before sending a new suggest request after the
// previous one. Non-const because some unittests modify this value.
static int kMinimumTimeBetweenSuggestQueriesMs;
@@ -587,6 +611,8 @@ class SearchProvider : public AutocompleteProvider,
// they will not be inlined.
bool prevent_search_history_inlining_;
+ GURL current_page_url_;
+
DISALLOW_COPY_AND_ASSIGN(SearchProvider);
};
« 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