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

Unified Diff: components/ntp_snippets/remote/ntp_snippets_fetcher.h

Issue 2400133002: Sending LanguageModel info to suggestions server (Closed)
Patch Set: Small fixes Created 4 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: components/ntp_snippets/remote/ntp_snippets_fetcher.h
diff --git a/components/ntp_snippets/remote/ntp_snippets_fetcher.h b/components/ntp_snippets/remote/ntp_snippets_fetcher.h
index df4e28ab9a757130c16bbfd66fc7af397e4c62ce..70e40fa90e443b6cfcb76b4792047c35f0f0576d 100644
--- a/components/ntp_snippets/remote/ntp_snippets_fetcher.h
+++ b/components/ntp_snippets/remote/ntp_snippets_fetcher.h
@@ -26,9 +26,14 @@ class PrefService;
class SigninManagerBase;
namespace base {
+class ListValue;
class Value;
} // namespace base
+namespace translate {
+class LanguageModel;
+} // namespace translate
+
namespace ntp_snippets {
// Fetches snippet data for the NTP from the server.
@@ -91,6 +96,7 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
scoped_refptr<net::URLRequestContextGetter> url_request_context_getter,
PrefService* pref_service,
CategoryFactory* category_factory,
+ translate::LanguageModel* language_model,
const ParseJSONCallback& parse_json_callback,
const std::string& api_key);
~NTPSnippetsFetcher() override;
@@ -148,12 +154,31 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
FRIEND_TEST_ALL_PREFIXES(NTPSnippetsFetcherTest, BuildRequestAuthenticated);
FRIEND_TEST_ALL_PREFIXES(NTPSnippetsFetcherTest, BuildRequestUnauthenticated);
FRIEND_TEST_ALL_PREFIXES(NTPSnippetsFetcherTest, BuildRequestExcludedIds);
+ FRIEND_TEST_ALL_PREFIXES(NTPSnippetsFetcherTest,
+ BuildRequestWithTwoLanguages);
+ FRIEND_TEST_ALL_PREFIXES(NTPSnippetsFetcherTest,
+ BuildRequestWithUILanguageOnly);
+ FRIEND_TEST_ALL_PREFIXES(NTPSnippetsFetcherTest,
+ BuildRequestWithOtherLanguageOnly);
enum FetchAPI {
CHROME_READER_API,
CHROME_CONTENT_SUGGESTIONS_API,
};
+ struct ContentLanguageInfo {
Bernhard Bauer 2016/10/07 12:26:13 Why don't we just use LanguageModel::LanguageInfo
jkrcal 2016/10/07 12:58:43 Good point. Done.
+ // ISO 639 code.
+ std::string language_code;
+
+ // The frequency of the given language
+ float frequency;
+
+ ContentLanguageInfo();
+ ~ContentLanguageInfo() = default;
+
+ void AppendToList(base::ListValue* list);
+ };
+
struct RequestParams {
FetchAPI fetch_api;
std::string obfuscated_gaia_id;
@@ -163,6 +188,8 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
std::set<std::string> excluded_ids;
int count_to_fetch;
bool interactive_request;
+ ContentLanguageInfo ui_language;
+ ContentLanguageInfo other_top_language;
RequestParams();
~RequestParams();
@@ -173,6 +200,7 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
void FetchSnippetsImpl(const GURL& url,
const std::string& auth_header,
const std::string& request);
+ void SetUpCommonFetchingParameters(RequestParams* params) const;
void FetchSnippetsNonAuthenticated();
void FetchSnippetsAuthenticated(const std::string& account_id,
const std::string& oauth_access_token);
@@ -208,7 +236,10 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
// Holds the URL request context.
scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_;
+ // Weak references, not owned.
CategoryFactory* const category_factory_;
+ translate::LanguageModel* const language_model_;
+
const ParseJSONCallback parse_json_callback_;
base::TimeTicks fetch_start_time_;
std::string last_status_;

Powered by Google App Engine
This is Rietveld 408576698