network_health_resource_provider.cc 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. // Copyright 2020 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. #include "ash/webui/network_ui/network_health_resource_provider.h"
  5. #include "chromeos/strings/grit/chromeos_strings.h"
  6. #include "content/public/browser/web_ui_data_source.h"
  7. #include "ui/base/webui/web_ui_util.h"
  8. #include "ui/resources/grit/webui_generated_resources.h"
  9. namespace ash {
  10. namespace network_health {
  11. namespace {
  12. constexpr webui::LocalizedString kLocalizedStrings[] = {
  13. // Network Health Summary Strings
  14. {"NetworkHealthState", IDS_NETWORK_HEALTH_STATE},
  15. {"NetworkHealthStateUninitialized", IDS_NETWORK_HEALTH_STATE_UNINITIALIZED},
  16. {"NetworkHealthStateDisabled", IDS_NETWORK_HEALTH_STATE_DISABLED},
  17. {"NetworkHealthStateProhibited", IDS_NETWORK_HEALTH_STATE_PROHIBITED},
  18. {"NetworkHealthStateNotConnected", IDS_NETWORK_HEALTH_STATE_NOT_CONNECTED},
  19. {"NetworkHealthStateConnecting", IDS_NETWORK_HEALTH_STATE_CONNECTING},
  20. {"NetworkHealthStatePortal", IDS_NETWORK_HEALTH_STATE_PORTAL},
  21. {"NetworkHealthStateConnected", IDS_NETWORK_HEALTH_STATE_CONNECTED},
  22. {"NetworkHealthStateOnline", IDS_NETWORK_HEALTH_STATE_ONLINE},
  23. {"OpenInSettings", IDS_NETWORK_HEALTH_OPEN_IN_SETTINGS},
  24. {"OncType", IDS_NETWORK_TYPE},
  25. {"OncName", IDS_ONC_NAME},
  26. {"OncTypeCellular", IDS_NETWORK_TYPE_CELLULAR},
  27. {"OncTypeEthernet", IDS_NETWORK_TYPE_ETHERNET},
  28. {"OncTypeMobile", IDS_NETWORK_TYPE_MOBILE_DATA},
  29. {"OncTypeTether", IDS_NETWORK_TYPE_TETHER},
  30. {"OncTypeVPN", IDS_NETWORK_TYPE_VPN},
  31. {"OncTypeWireless", IDS_NETWORK_TYPE_WIRELESS},
  32. {"OncTypeWiFi", IDS_NETWORK_TYPE_WIFI},
  33. {"OncWiFi-SignalStrength", IDS_ONC_WIFI_SIGNAL_STRENGTH},
  34. {"OncMacAddress", IDS_ONC_MAC_ADDRESS},
  35. {"OncIpv4Address", IDS_ONC_IPV4_ADDRESS},
  36. {"OncIpv6Address", IDS_ONC_IPV6_ADDRESS},
  37. {"OncPortalState", IDS_ONC_PORTAL_STATE},
  38. {"OncPortalStateOnline", IDS_ONC_PORTAL_STATE_ONLINE},
  39. {"OncPortalStateUnknown", IDS_ONC_PORTAL_STATE_UNKNOWN},
  40. {"OncPortalStateNoInternet", IDS_ONC_PORTAL_STATE_NO_INTERNET},
  41. {"OncPortalStatePortal", IDS_ONC_PORTAL_STATE_PORTAL},
  42. {"OncPortalStatePortalSuspected", IDS_ONC_PORTAL_STATE_PORTAL_SUSPECTED},
  43. {"OncPortalStateProxyAuthRequired", IDS_ONC_PORTAL_STATE_PROXY_AUTH},
  44. };
  45. struct WebUiResource {
  46. const char* name;
  47. int id;
  48. };
  49. constexpr WebUiResource kResources[] = {
  50. {"ethernet.svg", IDR_CR_COMPONENTS_CHROMEOS_NETWORK_ETHERNET_SVG},
  51. {"vpn.svg", IDR_CR_COMPONENTS_CHROMEOS_NETWORK_VPN_SVG},
  52. {"wifi_0.svg", IDR_CR_COMPONENTS_CHROMEOS_NETWORK_WIFI_0_SVG},
  53. {"cellular_0.svg", IDR_CR_COMPONENTS_CHROMEOS_NETWORK_CELLULAR_0_SVG},
  54. };
  55. } // namespace
  56. void AddResources(content::WebUIDataSource* html_source) {
  57. html_source->AddLocalizedStrings(kLocalizedStrings);
  58. for (const auto& resource : kResources)
  59. html_source->AddResourcePath(resource.name, resource.id);
  60. }
  61. } // namespace network_health
  62. } // namespace ash