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

Side by Side Diff: ios/chrome/browser/net/ios_chrome_http_user_agent_settings.mm

Issue 2559243003: Extend with a language code in http accept languages
Patch Set: Rebased, fixed nits and handed over this CL :( Created 4 years 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
« no previous file with comments | « chromecast/browser/cast_http_user_agent_settings.cc ('k') | net/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ios/chrome/browser/net/ios_chrome_http_user_agent_settings.h" 5 #include "ios/chrome/browser/net/ios_chrome_http_user_agent_settings.h"
6 6
7 #include "components/prefs/pref_service.h" 7 #include "components/prefs/pref_service.h"
8 #include "ios/chrome/browser/pref_names.h" 8 #include "ios/chrome/browser/pref_names.h"
9 #include "ios/web/public/web_client.h" 9 #include "ios/web/public/web_client.h"
10 #include "ios/web/public/web_thread.h" 10 #include "ios/web/public/web_thread.h"
11 #include "net/http/http_util.h" 11 #include "net/http/http_util_icu.h"
12 12
13 #if !defined(__has_feature) || !__has_feature(objc_arc) 13 #if !defined(__has_feature) || !__has_feature(objc_arc)
14 #error "This file requires ARC support." 14 #error "This file requires ARC support."
15 #endif 15 #endif
16 16
17 IOSChromeHttpUserAgentSettings::IOSChromeHttpUserAgentSettings( 17 IOSChromeHttpUserAgentSettings::IOSChromeHttpUserAgentSettings(
18 PrefService* prefs) { 18 PrefService* prefs) {
19 DCHECK_CURRENTLY_ON(web::WebThread::UI); 19 DCHECK_CURRENTLY_ON(web::WebThread::UI);
20 pref_accept_language_.Init(prefs::kAcceptLanguages, prefs); 20 pref_accept_language_.Init(prefs::kAcceptLanguages, prefs);
21 last_pref_accept_language_ = *pref_accept_language_; 21 last_pref_accept_language_ = *pref_accept_language_;
22 last_http_accept_language_ = 22 last_http_accept_language_ = net::http_util_icu::GenerateAcceptLanguageHeader(
23 net::HttpUtil::GenerateAcceptLanguageHeader(last_pref_accept_language_); 23 last_pref_accept_language_);
24 pref_accept_language_.MoveToThread( 24 pref_accept_language_.MoveToThread(
25 web::WebThread::GetTaskRunnerForThread(web::WebThread::IO)); 25 web::WebThread::GetTaskRunnerForThread(web::WebThread::IO));
26 } 26 }
27 27
28 IOSChromeHttpUserAgentSettings::~IOSChromeHttpUserAgentSettings() { 28 IOSChromeHttpUserAgentSettings::~IOSChromeHttpUserAgentSettings() {
29 DCHECK_CURRENTLY_ON(web::WebThread::IO); 29 DCHECK_CURRENTLY_ON(web::WebThread::IO);
30 } 30 }
31 31
32 void IOSChromeHttpUserAgentSettings::CleanupOnUIThread() { 32 void IOSChromeHttpUserAgentSettings::CleanupOnUIThread() {
33 DCHECK_CURRENTLY_ON(web::WebThread::UI); 33 DCHECK_CURRENTLY_ON(web::WebThread::UI);
34 pref_accept_language_.Destroy(); 34 pref_accept_language_.Destroy();
35 } 35 }
36 36
37 std::string IOSChromeHttpUserAgentSettings::GetAcceptLanguage() const { 37 std::string IOSChromeHttpUserAgentSettings::GetAcceptLanguage() const {
38 DCHECK_CURRENTLY_ON(web::WebThread::IO); 38 DCHECK_CURRENTLY_ON(web::WebThread::IO);
39 std::string new_pref_accept_language = *pref_accept_language_; 39 std::string new_pref_accept_language = *pref_accept_language_;
40 if (new_pref_accept_language != last_pref_accept_language_) { 40 if (new_pref_accept_language != last_pref_accept_language_) {
41 last_http_accept_language_ = 41 last_http_accept_language_ =
42 net::HttpUtil::GenerateAcceptLanguageHeader(new_pref_accept_language); 42 net::http_util_icu::GenerateAcceptLanguageHeader(
43 new_pref_accept_language);
43 last_pref_accept_language_ = new_pref_accept_language; 44 last_pref_accept_language_ = new_pref_accept_language;
44 } 45 }
45 return last_http_accept_language_; 46 return last_http_accept_language_;
46 } 47 }
47 48
48 std::string IOSChromeHttpUserAgentSettings::GetUserAgent() const { 49 std::string IOSChromeHttpUserAgentSettings::GetUserAgent() const {
49 DCHECK_CURRENTLY_ON(web::WebThread::IO); 50 DCHECK_CURRENTLY_ON(web::WebThread::IO);
50 return web::GetWebClient()->GetUserAgent(false); 51 return web::GetWebClient()->GetUserAgent(false);
51 } 52 }
OLDNEW
« no previous file with comments | « chromecast/browser/cast_http_user_agent_settings.cc ('k') | net/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698