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
18namespace chromecast {
19namespace shell {
20
21CastHttpUserAgentSettings::CastHttpUserAgentSettings() {
22  DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
23}
24
25CastHttpUserAgentSettings::~CastHttpUserAgentSettings() {
26  DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
27}
28
29std::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
43std::string CastHttpUserAgentSettings::GetUserAgent() const {
44  return chromecast::shell::GetUserAgent();
45}
46
47}  // namespace shell
48}  // namespace chromecast
49