cast_http_user_agent_settings.cc revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chromecast/shell/browser/cast_http_user_agent_settings.h"
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chromecast/shell/common/cast_content_client.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/browser_thread.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "grit/chromecast_settings.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "net/http/http_util.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/l10n/l10n_util.h"
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(OS_ANDROID)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/l10n/l10n_util_android.h"
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif  // defined(OS_ANDROID)
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chromecast {
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace shell {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)CastHttpUserAgentSettings::CastHttpUserAgentSettings() {
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)CastHttpUserAgentSettings::~CastHttpUserAgentSettings() {
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)std::string CastHttpUserAgentSettings::GetAcceptLanguage() const {
30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (accept_language_.empty()) {
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    accept_language_ = net::HttpUtil::GenerateAcceptLanguageHeader(
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID)
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        l10n_util::GetDefaultLocale()
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        l10n_util::GetStringUTF8(IDS_CHROMECAST_SETTINGS_ACCEPT_LANGUAGES)
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(OS_ANDROID)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        );
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return accept_language_;
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string CastHttpUserAgentSettings::GetUserAgent() const {
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return chromecast::shell::GetUserAgent();
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace shell
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace chromecast
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)