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

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 and modified descriptions 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
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.h"
Seigo Nonaka 2016/12/14 01:27:21 nit: Please remove
Yirui Huang 2016/12/14 01:53:09 Done.
12 #include "net/http/http_util_icu.h"
12 13
13 #if !defined(__has_feature) || !__has_feature(objc_arc) 14 #if !defined(__has_feature) || !__has_feature(objc_arc)
14 #error "This file requires ARC support." 15 #error "This file requires ARC support."
15 #endif 16 #endif
16 17
17 IOSChromeHttpUserAgentSettings::IOSChromeHttpUserAgentSettings( 18 IOSChromeHttpUserAgentSettings::IOSChromeHttpUserAgentSettings(
18 PrefService* prefs) { 19 PrefService* prefs) {
19 DCHECK_CURRENTLY_ON(web::WebThread::UI); 20 DCHECK_CURRENTLY_ON(web::WebThread::UI);
20 pref_accept_language_.Init(prefs::kAcceptLanguages, prefs); 21 pref_accept_language_.Init(prefs::kAcceptLanguages, prefs);
21 last_pref_accept_language_ = *pref_accept_language_; 22 last_pref_accept_language_ = *pref_accept_language_;
22 last_http_accept_language_ = 23 last_http_accept_language_ = net::HttpUtilIcu::GenerateAcceptLanguageHeader(
23 net::HttpUtil::GenerateAcceptLanguageHeader(last_pref_accept_language_); 24 last_pref_accept_language_);
24 pref_accept_language_.MoveToThread( 25 pref_accept_language_.MoveToThread(
25 web::WebThread::GetTaskRunnerForThread(web::WebThread::IO)); 26 web::WebThread::GetTaskRunnerForThread(web::WebThread::IO));
26 } 27 }
27 28
28 IOSChromeHttpUserAgentSettings::~IOSChromeHttpUserAgentSettings() { 29 IOSChromeHttpUserAgentSettings::~IOSChromeHttpUserAgentSettings() {
29 DCHECK_CURRENTLY_ON(web::WebThread::IO); 30 DCHECK_CURRENTLY_ON(web::WebThread::IO);
30 } 31 }
31 32
32 void IOSChromeHttpUserAgentSettings::CleanupOnUIThread() { 33 void IOSChromeHttpUserAgentSettings::CleanupOnUIThread() {
33 DCHECK_CURRENTLY_ON(web::WebThread::UI); 34 DCHECK_CURRENTLY_ON(web::WebThread::UI);
34 pref_accept_language_.Destroy(); 35 pref_accept_language_.Destroy();
35 } 36 }
36 37
37 std::string IOSChromeHttpUserAgentSettings::GetAcceptLanguage() const { 38 std::string IOSChromeHttpUserAgentSettings::GetAcceptLanguage() const {
38 DCHECK_CURRENTLY_ON(web::WebThread::IO); 39 DCHECK_CURRENTLY_ON(web::WebThread::IO);
39 std::string new_pref_accept_language = *pref_accept_language_; 40 std::string new_pref_accept_language = *pref_accept_language_;
40 if (new_pref_accept_language != last_pref_accept_language_) { 41 if (new_pref_accept_language != last_pref_accept_language_) {
41 last_http_accept_language_ = 42 last_http_accept_language_ = net::HttpUtilIcu::GenerateAcceptLanguageHeader(
42 net::HttpUtil::GenerateAcceptLanguageHeader(new_pref_accept_language); 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

Powered by Google App Engine
This is Rietveld 408576698