Upstream version 8.37.180.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / help / help_utils_chromeos.cc
1 // Copyright 2013 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 "chrome/browser/ui/webui/help/help_utils_chromeos.h"
6
7 #include <algorithm>
8
9 #include "base/logging.h"
10 #include "base/values.h"
11 #include "chrome/browser/chromeos/settings/cros_settings.h"
12 #include "chromeos/network/network_type_pattern.h"
13 #include "chromeos/settings/cros_settings_names.h"
14 #include "grit/chromium_strings.h"
15 #include "grit/generated_resources.h"
16 #include "third_party/cros_system_api/dbus/service_constants.h"
17 #include "ui/base/l10n/l10n_util.h"
18
19 namespace {
20
21 const bool kDefaultUpdateOverCellularAllowed = false;
22
23 }  // namespace
24
25 namespace help_utils_chromeos {
26
27 bool IsUpdateOverCellularAllowed() {
28   chromeos::CrosSettings* settings = chromeos::CrosSettings::Get();
29   if (!settings)
30     return kDefaultUpdateOverCellularAllowed;
31
32   const base::Value* raw_types_value =
33       settings->GetPref(chromeos::kAllowedConnectionTypesForUpdate);
34   if (!raw_types_value)
35     return kDefaultUpdateOverCellularAllowed;
36   const base::ListValue* types_value;
37   CHECK(raw_types_value->GetAsList(&types_value));
38   for (size_t i = 0; i < types_value->GetSize(); ++i) {
39     int connection_type;
40     if (!types_value->GetInteger(i, &connection_type)) {
41       LOG(WARNING) << "Can't parse connection type #" << i;
42       continue;
43     }
44     if (connection_type == 4)
45       return true;
46   }
47   return kDefaultUpdateOverCellularAllowed;
48 }
49
50 base::string16 GetConnectionTypeAsUTF16(const std::string& type) {
51   if (chromeos::NetworkTypePattern::Ethernet().MatchesType(type))
52     return l10n_util::GetStringUTF16(IDS_NETWORK_TYPE_ETHERNET);
53   if (type == shill::kTypeWifi)
54     return l10n_util::GetStringUTF16(IDS_NETWORK_TYPE_WIFI);
55   if (type == shill::kTypeWimax)
56     return l10n_util::GetStringUTF16(IDS_NETWORK_TYPE_WIMAX);
57   if (type == shill::kTypeBluetooth)
58     return l10n_util::GetStringUTF16(IDS_NETWORK_TYPE_BLUETOOTH);
59   if (type == shill::kTypeCellular)
60     return l10n_util::GetStringUTF16(IDS_NETWORK_TYPE_CELLULAR);
61   if (type == shill::kTypeVPN)
62     return l10n_util::GetStringUTF16(IDS_NETWORK_TYPE_VPN);
63   NOTREACHED();
64   return base::string16();
65 }
66
67 }  // namespace help_utils_chromeos