1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chromecast/shell/browser/cast_http_user_agent_settings.h" 6 7 #include "base/logging.h" 8 #include "chromecast/shell/common/cast_content_client.h" 9 #include "content/public/browser/browser_thread.h" 10 #include "grit/chromecast_settings.h" 11 #include "net/http/http_util.h" 12 #include "ui/base/l10n/l10n_util.h" 13 14 #if defined(OS_ANDROID) 15 #include "ui/base/l10n/l10n_util_android.h" 16 #endif // defined(OS_ANDROID) 17 18 namespace chromecast { 19 namespace shell { 20 21 CastHttpUserAgentSettings::CastHttpUserAgentSettings() { 22 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 23 } 24 25 CastHttpUserAgentSettings::~CastHttpUserAgentSettings() { 26 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 27 } 28 29 std::string CastHttpUserAgentSettings::GetAcceptLanguage() const { 30 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); 31 if (accept_language_.empty()) { 32 accept_language_ = net::HttpUtil::GenerateAcceptLanguageHeader( 33 #if defined(OS_ANDROID) 34 l10n_util::GetDefaultLocale() 35 #else 36 l10n_util::GetStringUTF8(IDS_CHROMECAST_SETTINGS_ACCEPT_LANGUAGES) 37 #endif // defined(OS_ANDROID) 38 ); 39 } 40 return accept_language_; 41 } 42 43 std::string CastHttpUserAgentSettings::GetUserAgent() const { 44 return chromecast::shell::GetUserAgent(); 45 } 46 47 } // namespace shell 48 } // namespace chromecast 49