Commit c7f673a9 authored by Trent Begin's avatar Trent Begin Committed by Chromium LUCI CQ

connectivity-diagnostics: add captive portal routine

This change adds the captive portal routine and group to the
connectivity diagnostics application.

Bug: chromium:1142857
Change-Id: I64759b54a34ee2291ebdfac273da85f9157740fe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2583030Reviewed-by: default avatarSteven Bennetts <stevenjb@chromium.org>
Commit-Queue: Trent Begin <tbegin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836363}
parent c816f4a8
...@@ -827,6 +827,9 @@ Try tapping the mic to ask me anything. ...@@ -827,6 +827,9 @@ Try tapping the mic to ask me anything.
<message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY" desc="Label for Network diagnostics `HTTPS Latency` test. This test ensures that the device's https requests have an acceptable amount of latency"> <message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY" desc="Label for Network diagnostics `HTTPS Latency` test. This test ensures that the device's https requests have an acceptable amount of latency">
HTTPS Latency HTTPS Latency
</message> </message>
<message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL" desc="Label for Network diagnostics `Captive Portal` test. This test ensures that the device's internet connection is not gated by a captive portal">
Captive Portal
</message>
<message name="IDS_NETWORK_DIAGNOSTICS_PASSED" desc="Label shown when a Network diagnostics routine passed"> <message name="IDS_NETWORK_DIAGNOSTICS_PASSED" desc="Label shown when a Network diagnostics routine passed">
Passed Passed
</message> </message>
...@@ -926,6 +929,24 @@ Try tapping the mic to ask me anything. ...@@ -926,6 +929,24 @@ Try tapping the mic to ask me anything.
<message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_VERY_HIGH_LATENCY" desc="Error message shown when HTTPS requests have a very high latency"> <message name="IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_VERY_HIGH_LATENCY" desc="Error message shown when HTTPS requests have a very high latency">
Very high HTTPS latency Very high HTTPS latency
</message> </message>
<message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_NO_ACTIVE_NETWORKS" desc="Error message shown when the device is not actively connected to a network">
No active networks
</message>
<message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_UNKNOWN_PORTAL_STATE" desc="Error message shown when the network portal state is not available">
Unknown portal state
</message>
<message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PORTAL_SUSPECTED" desc="Error message shown when a network portal is suspected, but cannot be fully confirmed">
Portal suspected
</message>
<message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PORTAL" desc="Error message shown when a network portal is detected">
Portal detected
</message>
<message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_PROXY_AUTH_REQUIRED" desc="Error message shown when a network portal requires authentication">
Proxy authentication required
</message>
<message name="IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL_PROBLEM_NO_INTERNET" desc="Error message shown when no network portal is detected, but there is no internet connection">
No internet
</message>
</messages> </messages>
</release> </release>
</grit> </grit>
80ddac60043bdb0458f531d3a7aad71a10212e68
\ No newline at end of file
521715af3293755fb5c93d538372039096ce9af9
\ No newline at end of file
8199677801a938f01f5c8f10d12d4e0d3de03b15
\ No newline at end of file
...@@ -31,6 +31,7 @@ constexpr webui::LocalizedString kLocalizedStrings[] = { ...@@ -31,6 +31,7 @@ constexpr webui::LocalizedString kLocalizedStrings[] = {
{"NetworkDiagnosticsHttpFirewall", IDS_NETWORK_DIAGNOSTICS_HTTP_FIREWALL}, {"NetworkDiagnosticsHttpFirewall", IDS_NETWORK_DIAGNOSTICS_HTTP_FIREWALL},
{"NetworkDiagnosticsHttpsFirewall", IDS_NETWORK_DIAGNOSTICS_HTTPS_FIREWALL}, {"NetworkDiagnosticsHttpsFirewall", IDS_NETWORK_DIAGNOSTICS_HTTPS_FIREWALL},
{"NetworkDiagnosticsHttpsLatency", IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY}, {"NetworkDiagnosticsHttpsLatency", IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY},
{"NetworkDiagnosticsCaptivePortal", IDS_NETWORK_DIAGNOSTICS_CAPTIVE_PORTAL},
{"NetworkDiagnosticsPassed", IDS_NETWORK_DIAGNOSTICS_PASSED}, {"NetworkDiagnosticsPassed", IDS_NETWORK_DIAGNOSTICS_PASSED},
{"NetworkDiagnosticsFailed", IDS_NETWORK_DIAGNOSTICS_FAILED}, {"NetworkDiagnosticsFailed", IDS_NETWORK_DIAGNOSTICS_FAILED},
{"NetworkDiagnosticsNotRun", IDS_NETWORK_DIAGNOSTICS_NOT_RUN}, {"NetworkDiagnosticsNotRun", IDS_NETWORK_DIAGNOSTICS_NOT_RUN},
...@@ -86,6 +87,18 @@ constexpr webui::LocalizedString kLocalizedStrings[] = { ...@@ -86,6 +87,18 @@ constexpr webui::LocalizedString kLocalizedStrings[] = {
IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_HIGH_LATENCY}, IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_HIGH_LATENCY},
{"HttpsLatencyProblem_VeryHighLatency", {"HttpsLatencyProblem_VeryHighLatency",
IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_VERY_HIGH_LATENCY}, IDS_NETWORK_DIAGNOSTICS_HTTPS_LATENCY_PROBLEM_VERY_HIGH_LATENCY},
{"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},
}; };
struct WebUiResource { struct WebUiResource {
......
...@@ -14,6 +14,9 @@ ...@@ -14,6 +14,9 @@
<routine-group name="[[i18n('NetworkDiagnosticsWifiGroup')]]" <routine-group name="[[i18n('NetworkDiagnosticsWifiGroup')]]"
routines="[[getRoutineGroup_(routines_.*, RoutineGroup_.WIFI)]]"> routines="[[getRoutineGroup_(routines_.*, RoutineGroup_.WIFI)]]">
</routine-group> </routine-group>
<routine-group name="[[i18n('NetworkDiagnosticsCaptivePortal')]]"
routines="[[getRoutineGroup_(routines_.*, RoutineGroup_.PORTAL)]]">
</routine-group>
<routine-group name="[[i18n('NetworkDiagnosticsGatewayGroup')]]" <routine-group name="[[i18n('NetworkDiagnosticsGatewayGroup')]]"
routines="[[getRoutineGroup_(routines_.*, RoutineGroup_.GATEWAY)]]"> routines="[[getRoutineGroup_(routines_.*, RoutineGroup_.GATEWAY)]]">
</routine-group> </routine-group>
......
...@@ -71,6 +71,16 @@ Polymer({ ...@@ -71,6 +71,16 @@ Polymer({
}, },
] ]
}, },
{
group: RoutineGroup.PORTAL,
routines: [
{
name: 'NetworkDiagnosticsCaptivePortal',
type: RoutineType.CAPTIVE_PORTAL,
func: () => this.networkDiagnostics_.captivePortal(),
},
]
},
{ {
group: RoutineGroup.GATEWAY, group: RoutineGroup.GATEWAY,
routines: [ routines: [
...@@ -431,6 +441,32 @@ Polymer({ ...@@ -431,6 +441,32 @@ Polymer({
getString('HttpsLatencyProblem_VeryHighLatency')); getString('HttpsLatencyProblem_VeryHighLatency'));
break; break;
} }
case RoutineType.CAPTIVE_PORTAL:
switch (problem) {
case diagnosticsMojom.CaptivePortalProblem.kNoActiveNetworks:
problemStrings.push(
getString('CaptivePortalProblem_NoActiveNetworks'));
break;
case diagnosticsMojom.CaptivePortalProblem.kUnknownPortalState:
problemStrings.push(
getString('CaptivePortalProblem_UnknownPortalState'));
break;
case diagnosticsMojom.CaptivePortalProblem.kPortalSuspected:
problemStrings.push(
getString('CaptivePortalProblem_PortalSuspected'));
break;
case diagnosticsMojom.CaptivePortalProblem.kPortal:
problemStrings.push(getString('CaptivePortalProblem_Portal'));
break;
case diagnosticsMojom.CaptivePortalProblem.kProxyAuthRequired:
problemStrings.push(
getString('CaptivePortalProblem_ProxyAuthRequired'));
break;
case diagnosticsMojom.CaptivePortalProblem.kNoInternet:
problemStrings.push(getString('CaptivePortalProblem_NoInternet'));
break;
}
} }
} }
......
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
HTTP_FIREWALL: 7, HTTP_FIREWALL: 7,
HTTPS_FIREWALL: 8, HTTPS_FIREWALL: 8,
HTTPS_LATENCY: 9, HTTPS_LATENCY: 9,
CAPTIVE_PORTAL: 10,
}; };
/** /**
...@@ -63,9 +64,10 @@ ...@@ -63,9 +64,10 @@
/* #export */ const RoutineGroup = { /* #export */ const RoutineGroup = {
CONNECTION: 0, CONNECTION: 0,
WIFI: 1, WIFI: 1,
GATEWAY: 2, PORTAL: 2,
FIREWALL: 3, GATEWAY: 3,
DNS: 4, FIREWALL: 4,
DNS: 5,
}; };
/* #export */ const Icons = { /* #export */ const Icons = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment