123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- // Copyright 2020 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "ash/webui/network_ui/network_diagnostics_resource_provider.h"
- #include "ash/constants/ash_features.h"
- #include "chromeos/strings/grit/chromeos_strings.h"
- #include "content/public/browser/web_ui_data_source.h"
- #include "ui/base/webui/web_ui_util.h"
- #include "ui/resources/grit/webui_generated_resources.h"
- namespace ash {
- namespace network_diagnostics {
- namespace {
- constexpr webui::LocalizedString kLocalizedStrings[] = {
- // Network Diagnostics Strings
- {"NetworkDiagnosticsLanConnectivity",
- IDS_NETWORK_DIAGNOSTICS_LAN_CONNECTIVITY},
- {"NetworkDiagnosticsSignalStrength",
- IDS_NETWORK_DIAGNOSTICS_SIGNAL_STRENGTH},
- {"NetworkDiagnosticsGatewayCanBePinged",
- IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED},
- {"NetworkDiagnosticsHasSecureWiFiConnection",
- IDS_NETWORK_DIAGNOSTICS_HAS_SECURE_WIFI_CONNECTION},
- {"NetworkDiagnosticsDnsResolverPresent",
- IDS_NETWORK_DIAGNOSTICS_DNS_RESOLVER_PRESENT},
- {"NetworkDiagnosticsDnsLatency", IDS_NETWORK_DIAGNOSTICS_DNS_LATENCY},
- {"NetworkDiagnosticsDnsResolution", IDS_NETWORK_DIAGNOSTICS_DNS_RESOLUTION},
- {"NetworkDiagnosticsHttpFirewall", IDS_NETWORK_DIAGNOSTICS_HTTP_FIREWALL},
- {"NetworkDiagnosticsHttpsFirewall", IDS_NETWORK_DIAGNOSTICS_HTTPS_FIREWALL},
- {"NetworkDiagnosticsHttpsLatency", IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY},
- {"NetworkDiagnosticsCaptivePortal", IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL},
- {"NetworkDiagnosticsVideoConferencing",
- IDS_NETWORK_DIAGNOSTICS_VIDEO_CONFERENCING},
- {"ArcNetworkDiagnosticsPing",
- IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED},
- {"ArcNetworkDiagnosticsHttp", IDS_NETWORK_DIAGNOSTICS_ARC_HTTP_LATENCY},
- {"ArcNetworkDiagnosticsDnsResolution",
- IDS_NETWORK_DIAGNOSTICS_DNS_RESOLUTION},
- {"NetworkDiagnosticsConnectionGroup",
- IDS_NETWORK_DIAGNOSTICS_CONNECTION_GROUP},
- {"NetworkDiagnosticsWifiGroup", IDS_NETWORK_DIAGNOSTICS_WIFI_GROUP},
- {"NetworkDiagnosticsGatewayGroup", IDS_NETWORK_DIAGNOSTICS_GATEWAY_GROUP},
- {"NetworkDiagnosticsFirewallGroup", IDS_NETWORK_DIAGNOSTICS_FIREWALL_GROUP},
- {"NetworkDiagnosticsDnsGroup", IDS_NETWORK_DIAGNOSTICS_DNS_GROUP},
- {"NetworkDiagnosticsGoogleServicesGroup",
- IDS_NETWORK_DIAGNOSTICS_GOOGLE_SERVICES_GROUP},
- {"NetworkDiagnosticsArcGroup", IDS_NETWORK_DIAGNOSTICS_ARC_GROUP},
- {"NetworkDiagnosticsPassed", IDS_NETWORK_DIAGNOSTICS_PASSED},
- {"NetworkDiagnosticsFailed", IDS_NETWORK_DIAGNOSTICS_FAILED},
- {"NetworkDiagnosticsNotRun", IDS_NETWORK_DIAGNOSTICS_NOT_RUN},
- {"NetworkDiagnosticsRunning", IDS_NETWORK_DIAGNOSTICS_RUNNING},
- {"NetworkDiagnosticsResultPlaceholder",
- IDS_NETWORK_DIAGNOSTICS_RESULT_PLACEHOLDER},
- {"NetworkDiagnosticsRun", IDS_NETWORK_DIAGNOSTICS_RUN},
- {"SignalStrengthProblem_Weak",
- IDS_NETWORK_DIAGNOSTICS_SIGNAL_STRENGTH_PROBLEM_WEAK},
- {"GatewayPingProblem_Unreachable",
- IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_UNREACHABLE},
- {"GatewayPingProblem_NoDefaultPing",
- IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_PING_DEFAULT_FAILED},
- {"GatewayPingProblem_DefaultLatency",
- IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_DEFAULT_ABOVE_LATENCY},
- {"GatewayPingProblem_NoNonDefaultPing",
- IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_PING_NON_DEFAULT_FAILED},
- {"GatewayPingProblem_NonDefaultLatency",
- IDS_NETWORK_DIAGNOSTICS_GATEWAY_CAN_BE_PINGED_PROBLEM_NON_DEFAULT_ABOVE_LATENCY},
- {"SecureWifiProblem_None",
- IDS_NETWORK_DIAGNOSTICS_SECURE_WIFI_PROBLEM_NOT_SECURE},
- {"SecureWifiProblem_8021x",
- IDS_NETWORK_DIAGNOSTICS_SECURE_WIFI_PROBLEM_WEP_8021x},
- {"SecureWifiProblem_PSK",
- IDS_NETWORK_DIAGNOSTICS_SECURE_WIFI_PROBLEM_WEP_PSK},
- {"SecureWifiProblem_Unknown",
- IDS_NETWORK_DIAGNOSTICS_SECURE_WIFI_PROBLEM_UNKNOWN},
- {"DnsResolverProblem_NoNameServers",
- IDS_NETWORK_DIAGNOSTICS_DNS_RESOLVER_PROBLEM_NO_NAME_SERVERS},
- {"DnsResolverProblem_MalformedNameServers",
- IDS_NETWORK_DIAGNOSTICS_DNS_RESOLVER_PROBLEM_MALFORMED_NAME_SERVERS},
- {"DnsResolverProblem_EmptyNameServers",
- IDS_NETWORK_DIAGNOSTICS_DNS_RESOLVER_PROBLEM_EMPTY_NAME_SERVERS},
- {"DnsLatencyProblem_FailedResolveHosts",
- IDS_NETWORK_DIAGNOSTICS_DNS_LATENCY_PROBLEM_FAILED_TO_RESOLVE_ALL_HOSTS},
- {"DnsLatencyProblem_LatencySlightlyAbove",
- IDS_NETWORK_DIAGNOSTICS_DNS_LATENCY_PROBLEM_SLIGHTLY_ABOVE_THRESHOLD},
- {"DnsLatencyProblem_LatencySignificantlyAbove",
- IDS_NETWORK_DIAGNOSTICS_DNS_LATENCY_PROBLEM_SIGNIFICANTLY_ABOVE_THRESHOLD},
- {"DnsResolutionProblem_FailedResolve",
- IDS_NETWORK_DIAGNOSTICS_DNS_RESOLUTION_PROBLEM_FAILED_TO_RESOLVE_HOST},
- {"FirewallProblem_DnsResolutionFailureRate",
- IDS_NETWORK_DIAGNOSTICS_FIREWALL_PROBLEM_DNS_RESOLUTION_FAILURE_RATE},
- {"FirewallProblem_FirewallDetected",
- IDS_NETWORK_DIAGNOSTICS_FIREWALL_PROBLEM_FIREWALL_DETECTED},
- {"FirewallProblem_FirewallSuspected",
- IDS_NETWORK_DIAGNOSTICS_FIREWALL_PROBLEM_FIREWALL_SUSPECTED},
- {"HttpsLatencyProblem_FailedDnsResolution",
- IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_FAILED_DNS_RESOLUTIONS},
- {"HttpsLatencyProblem_FailedHttpsRequests",
- IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_FAILED_HTTPS_REQUESTS},
- {"HttpsLatencyProblem_HighLatency",
- IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_HIGH_LATENCY},
- {"HttpsLatencyProblem_VeryHighLatency",
- IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_VERY_HIGH_LATENCY},
- {"ArcHttpProblem_FailedHttpRequests",
- IDS_NETWORK_DIAGNOSTICS_ARC_HTTP_PROBLEM_FAILED_HTTP_REQUESTS},
- {"ArcHttpProblem_HighLatency",
- IDS_NETWORK_DIAGNOSTICS_ARC_HTTP_PROBLEM_HIGH_LATENCY},
- {"ArcHttpProblem_VeryHighLatency",
- IDS_NETWORK_DIAGNOSTICS_ARC_HTTP_PROBLEM_VERY_HIGH_LATENCY},
- {"ArcRoutineProblem_InternalError",
- IDS_NETWORK_DIAGNOSTICS_ARC_ROUTINE_PROBLEM_INTERNAL_ERROR},
- {"ArcRoutineProblem_ArcNotRunning",
- IDS_NETWORK_DIAGNOSTICS_ARC_ROUTINE_PROBLEM_ARC_NOT_RUNNING},
- {"CaptivePortalProblem_NoActiveNetworks",
- IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_NO_ACTIVE_NETWORKS},
- {"CaptivePortalProblem_UnknownPortalState",
- IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_UNKNOWN_PORTAL_STATE},
- {"CaptivePortalProblem_PortalSuspected",
- IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PORTAL_SUSPECTED},
- {"CaptivePortalProblem_Portal",
- IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PORTAL},
- {"CaptivePortalProblem_ProxyAuthRequired",
- IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PROXY_AUTH_REQUIRED},
- {"CaptivePortalProblem_NoInternet",
- IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_NO_INTERNET},
- {"VideoConferencingProblem_UdpFailure",
- IDS_NETWORK_DIAGNOSTICS_VIDEO_CONFERENCING_PROBLEM_UPD_FAILURE},
- {"VideoConferencingProblem_TcpFailure",
- IDS_NETWORK_DIAGNOSTICS_VIDEO_CONFERENCING_PROBLEM_TCP_FAILURE},
- {"VideoConferencingProblem_MediaFailure",
- IDS_NETWORK_DIAGNOSTICS_VIDEO_CONFERENCING_PROBLEM_MEDIA_FAILURE},
- };
- struct WebUiResource {
- const char* name;
- int id;
- };
- constexpr WebUiResource kResources[] = {
- {"test_canceled.png",
- IDR_CR_COMPONENTS_CHROMEOS_NETWORK_HEALTH_TEST_CANCELED_PNG},
- {"test_failed.png",
- IDR_CR_COMPONENTS_CHROMEOS_NETWORK_HEALTH_TEST_FAILED_PNG},
- {"test_not_run.png",
- IDR_CR_COMPONENTS_CHROMEOS_NETWORK_HEALTH_TEST_NOT_RUN_PNG},
- {"test_passed.png",
- IDR_CR_COMPONENTS_CHROMEOS_NETWORK_HEALTH_TEST_PASSED_PNG},
- {"test_warning.png",
- IDR_CR_COMPONENTS_CHROMEOS_NETWORK_HEALTH_TEST_WARNING_PNG},
- };
- struct StringMap {
- const char* name;
- const char* value;
- };
- } // namespace
- void AddResources(content::WebUIDataSource* html_source) {
- html_source->AddLocalizedStrings(kLocalizedStrings);
- html_source->AddBoolean(
- "enableArcNetworkDiagnostics",
- ash::features::IsArcNetworkDiagnosticsButtonEnabled());
- for (const auto& resource : kResources)
- html_source->AddResourcePath(resource.name, resource.id);
- }
- } // namespace network_diagnostics
- } // namespace ash
|